Products

Create, retrieve, and update products. Products are created in draft status and synced to Shopify when activated.

Create Product

post

Creates a new product in draft status. The product will be synced to Shopify when activated. SKUs must be unique within your brand.

Authorizations
X-MaisonSafqa-Api-KeystringRequired

API key for authentication. Use 'ms_test_...' keys for development/testing and 'ms_live_...' keys for production. Keys are environment-specific and will only work in their respective environments.

Body
titlestring · min: 1 · max: 255Required

Product name

Example: Premium Cotton T-Shirt
body_htmlstring · max: 65535Optional

Product description (HTML allowed)

Example: <p>High quality cotton t-shirt perfect for everyday wear.</p>
vendorstring · max: 255Optional

Brand/vendor name

Example: Your Brand Name
product_typestring · max: 255Optional

Product category

Example: Apparel
tagsstring · max: 1000Optional

Comma-separated tags

Example: cotton,premium,t-shirt,comfortable
handlestringOptional

URL slug (auto-generated if not provided)

Example: premium-cotton-t-shirtPattern: ^[a-z0-9-]+$
template_suffixstring · max: 255Optional

Template suffix

published_scopestringOptional

Published scope

Default: web
Responses
post
/products

Get Product

get

Retrieves a specific product by its product_id. Only products belonging to the authenticated brand can be accessed.

Authorizations
X-MaisonSafqa-Api-KeystringRequired

API key for authentication. Use 'ms_test_...' keys for development/testing and 'ms_live_...' keys for production. Keys are environment-specific and will only work in their respective environments.

Path parameters
product_idstringRequired

Product identifier (format: product_XXXXXXXXXXXXXXXX)

Example: {"value":"product_1234567890123456"}
Responses
200

Product retrieved successfully

application/json
get
/products/{product_id}

Update Product

put

Updates an existing product. All fields are optional - only provided fields will be updated. Only products belonging to the authenticated brand can be modified.

Authorizations
X-MaisonSafqa-Api-KeystringRequired

API key for authentication. Use 'ms_test_...' keys for development/testing and 'ms_live_...' keys for production. Keys are environment-specific and will only work in their respective environments.

Path parameters
product_idstringRequired

Product identifier (format: product_XXXXXXXXXXXXXXXX)

Example: {"value":"product_1234567890123456"}
Body

All fields are optional for updates

titlestring · min: 1 · max: 255Optional

Product name

body_htmlstring · max: 65535Optional

Product description (HTML allowed)

vendorstring · max: 255Optional

Brand/vendor name

product_typestring · max: 255Optional

Product category

tagsstring · max: 1000Optional

Comma-separated tags

handlestringOptional

URL slug

Pattern: ^[a-z0-9-]+$
template_suffixstring · max: 255Optional

Template suffix

published_scopestringOptional

Published scope

Responses
200

Product updated successfully

application/json
put
/products/{product_id}

Bulk Create Products

post

Creates multiple products in a single request. Maximum 500 products per request. Partial success is supported - valid products will be created even if some fail validation.

Authorizations
X-MaisonSafqa-Api-KeystringRequired

API key for authentication. Use 'ms_test_...' keys for development/testing and 'ms_live_...' keys for production. Keys are environment-specific and will only work in their respective environments.

Body
Responses
post
/products/bulk

Last updated