### Response Body Example (201 OK)
Source: https://share.apidog.com/apidoc/docs-site/613905/add-a-product-to-a-certain-category
This is an example of a successful response when a product is assigned to a category.
```json
{
"id": "1473477",
"name": "test sub",
"slug": "تصنيف-فرعي",
"description": "Sub category 1",
"cover_image": null,
"image": null,
"display_order": 0,
"meta": {
"childs": [],
"parents": []
}
}
```
--------------------------------
### Full Dynamic Bundle Selection Group Example
Source: https://share.apidog.com/apidoc/docs-site/613905/create-product-types-2197235m0
This example demonstrates a complete selection group configuration, including multiple items with and without variants, and internationalized names.
```json
{
"location_id": "dd125776-70d1-4819-934c-a29b8ebd18ca",
"selection_groups": [
{
"name": {
"ar": "اختر اللون",
"en": "Choose Color"
},
"required_selection_count": 1,
"allow_duplicate_items": false,
"items": [
{
"item_id": "standalone-product-uuid"
},
{
"item_id": "parent-product-uuid",
"variant_ids": [
"variant-child-uuid-1",
"variant-child-uuid-2"
]
}
]
},
{
"name": {
"ar": "اختر المقاس",
"en": "Choose Size"
},
"required_selection_count": 1,
"allow_duplicate_items": false,
"items": [
{
"item_id": "another-product-uuid"
}
]
}
]
}
```
--------------------------------
### Successful Response Example (201 Created)
Source: https://share.apidog.com/apidoc/docs-site/613905/add-a-new-product-attribute
Example of a successful response when a new product attribute is created, including its ID and properties.
```json
{
"id": "6f637324-a016-4389-a397-44233a13692c",
"name": "Weight",
"slug": "weight",
"presets": [],
"is_extra": false,
"is_enabled": true,
"display_order": null,
"preset_count": null
}
```
--------------------------------
### Create Order Request Example (cURL)
Source: https://share.apidog.com/apidoc/docs-site/613905/create-order-20612055e0
Example of creating an order using cURL, demonstrating the endpoint, headers, and request body.
```curl
curl --location 'https://api.zid.sa/v1/managers/store/drafts' \
--header 'Authorization: {{Autherization}}' \
--header 'X-MANAGER-TOKEN: {{Access-Token}}' \
--header 'Accept: application/json' \
--header 'Accept-Language: en' \
--header 'Content-Type: application/json' \
--data-raw '{
"currency_code": "SAR",
"coupon_code": null,
"customer": {
"full_name": "John Doe",
"mobile_country_code": "966",
"mobile_number": "500000005",
"email": "john.doe@example.com"
},
"consignee": {
"contact": {
"full_name": "John Doe",
"mobile_country_code": "966",
"mobile_number": "500000005",
"email": "john.doe@example.com"
},
"address": {
"line_1": "King Fahd Road",
"line_2": "Building 12",
"city_name": "Riyadh",
"country_code": "SA",
"lat": null,
"lng": null,
"short_address": null,
"meta": {
"postcode": "89846-6258",
"building_number": "86",
"additional_number": "21",
"city_name": "Riyad"
}
}
},
"is_gift": false,
"is_gifted_consignee_notifiable": true,
"products": [
{
"sku": "Z.217795.169603646831188",
"quantity": 1
}
],
"shipping_method": {
"type": "delivery",
"id": 432480
},
"payment_method": {
"id": 555224
},
"customer_comment": null
}'
```
--------------------------------
### 200 OK Response Example
Source: https://share.apidog.com/apidoc/docs-site/613905/add-image-to-a-product
This is an example of a successful response when an image is uploaded. It includes the image IDs and URLs for different sizes, the alt text, and display order.
```json
{
"id": "59b5fff2-2281-44a4-8bf1-56d9fd1165bb",
"image": {
"full_size": "https://media.zid.store/d297fb8b-c322-412e-a2f4-ffa96dc57022/59b5fff2-2281-44a4-8bf1-56d9fd1165bb.jpg",
"medium": "https://media.zid.store/thumbs/d297fb8b-c322-412e-a2f4-ffa96dc57022/59b5fff2-2281-44a4-8bf1-56d9fd1165bb-thumbnail-770x770-70.jpg",
"large": "https://media.zid.store/thumbs/d297fb8b-c322-412e-a2f4-ffa96dc57022/59b5fff2-2281-44a4-8bf1-56d9fd1165bb-thumbnail-1000x1000-70.jpg",
"small": "https://media.zid.store/thumbs/d297fb8b-c322-412e-a2f4-ffa96dc57022/59b5fff2-2281-44a4-8bf1-56d9fd1165bb-thumbnail-500x500-70.jpg",
"thumbnail": "https://media.zid.store/thumbs/d297fb8b-c322-412e-a2f4-ffa96dc57022/59b5fff2-2281-44a4-8bf1-56d9fd1165bb-thumbnail-370x370-70.jpg"
},
"alt_text": "test alt text",
"display_order": 2
}
```
--------------------------------
### Create Order Request Body Example
Source: https://share.apidog.com/apidoc/docs-site/613905/create-order-20612055e0
Example JSON body for creating an order, including customer, consignee, products, shipping, and payment details.
```json
{
"currency_code": "SAR",
"coupon_code": null,
"customer": {
"full_name": "John Doe",
"mobile_country_code": "966",
"mobile_number": "500000005",
"email": "john.doe@example.com"
},
"consignee": {
"contact": {
"full_name": "John Doe",
"mobile_country_code": "966",
"mobile_number": "500000005",
"email": "john.doe@example.com"
},
"address": {
"line_1": "King Fahd Road",
"line_2": "Building 12",
"city_name": "Riyadh",
"country_code": "SA",
"lat": null,
"lng": null,
"short_address": null,
"meta": {
"postcode": "89846-6258",
"building_number": "86",
"additional_number": "21",
"city_name": "Riyad"
}
}
},
"is_gift": false,
"is_gifted_consignee_notifiable": true,
"products": [
{
"sku": "Z.217795.169603646831188",
"quantity": 1
}
],
"shipping_method": {
"type": "delivery",
"id": 432480
},
"payment_method": {
"id": 555224
},
"customer_comment": null
}
```
--------------------------------
### Request Body Example for Creating an Attribute
Source: https://share.apidog.com/apidoc/docs-site/613905/add-a-new-product-attribute
Example JSON payload for creating a new product attribute, specifying its name and other properties.
```json
{
"name": "Weight",
"slug": "weight",
"is_extra": false,
"is_enabled": true,
"display_order": null
}
```
--------------------------------
### Create Subcategory Request Example
Source: https://share.apidog.com/apidoc/docs-site/613905/create-subcategory-20319945e0
This cURL example demonstrates how to send a request to create a new store subcategory. Ensure you replace placeholder tokens with your actual Authorization and X-Manager-Token.
```curl
curl --location 'https://api.zid.sa/v1/managers/store/categories/add' \
--header 'Authorization: {{Autherization}}' \
--header 'X-Manager-Token: {{Access-Token}}' \
--form 'name[ar]="تصنيف فرعي ٢"' \
--form 'name[en]="sub category 2"' \
--form 'description[ar]="تصنيف فرعي1"' \
--form 'description[en]="test sub 2222f2"' \
--form 'parent_id="1482385"'
```
--------------------------------
### Successful Response Example for Product Creation
Source: https://share.apidog.com/apidoc/docs-site/613905/create-product-types-2197235m0
This is an example of a successful response after creating a dynamic bundle product. It includes the product ID and details, with an empty 'selection_groups' array.
```json
{
"id": "product-uuid",
"name": {
"ar": "حزمة البناء المخصصة",
"en": "Custom Build Bundle"
},
"description": {
"ar": "اختر المكونات الخاصة بك لإنشاء حزمة فريدة",
"en": "Choose your components to create a unique bundle"
},
"product_class": "dynamic_bundle",
"sku": "BUNDLE-001",
"price": 0,
"is_draft": false,
"is_published": false,
"requires_shipping": true,
"meta": {
"location_id": "dd125776-70d1-4819-934c-a29b8ebd18ca"
},
"selection_groups": []
}
```
--------------------------------
### OpenAPI Server Configuration Example
Source: https://share.apidog.com/apidoc/docs-site/613905/add-a-new-product-attribute
Specifies server URLs and descriptions for API environments, such as production.
```yaml
servers:
- url: https://api.zid.sa/
description: Prod Env
```
--------------------------------
### Update Product Answer Request Body Example
Source: https://share.apidog.com/apidoc/docs-site/613905/update-answer
Provides an example of the JSON body required to update an answer. Ensure the 'answer' field contains the new content.
```json
{
"answer": "\"New answer\""
}
```
--------------------------------
### Add Bulk Customers Request Example
Source: https://share.apidog.com/apidoc/docs-site/613905/add-bulk-customers-35887214e0
This cURL example demonstrates how to send a bulk customer addition request to the API. It includes authorization headers and multipart form data for customer details.
```curl
curl --location 'https://api.zid.sa/v1/managers/store/customers/bulk' \
--header 'Authorization: {{Autherization}}' \
--header 'X-Manager-Token: {{Access-Token}}' \
--header 'Accept-Language: en' \
--form 'customers[0][name]="customer_bulk_1"' \
--form 'customers[0][mobile]="+966500000012"' \
--form 'customers[1][name]="customer_bulk_2"' \
--form 'customers[1][mobile]="+966500000011"
```
--------------------------------
### Payment Link Configuration Example
Source: https://share.apidog.com/apidoc/docs-site/613905/create-order-20612055e0
This configuration must be added if the payment method is set to a payment link.
```json
{
"payment_link_configs": {
"expiryDateTime": "2024-12-10T13:00:49.947Z"
}
}
```
--------------------------------
### Successful Response for Voucher Product Creation
Source: https://share.apidog.com/apidoc/docs-site/613905/create-product-types-2197235m0
Example of a successful response after creating a voucher product. It confirms the `product_class` and `requires_shipping` status.
```json
{
"id": "product-uuid",
"name": {
"ar": "بطاقة هدية",
"en": "Gift Card"
},
"description": {
"ar": "بطاقة هدية رقمية بقيمة 100 ريال",
"en": "Digital gift card worth 100 SAR"
},
"product_class": "voucher",
"sku": "VOUCHER-001",
"price": 100,
"is_taxable": false,
"requires_shipping": false,
"is_draft": false,
"is_published": true,
"meta": {}
}
```
--------------------------------
### OpenAPI Specification for Countries List
Source: https://share.apidog.com/apidoc/docs-site/613905/countries-list
This snippet defines the OpenAPI 3.0.1 specification for the GET /v1/settings/countries endpoint. It includes details about the endpoint's summary, description, operation ID, tags, parameters (Accept, Authorization, Accept-Language), and the structure of the 200 OK response, including example country data.
```yaml
openapi: 3.0.1
info:
title: ''
description: ''
version: 1.0.0
paths:
/v1/settings/countries:
get:
summary: List Countries
deprecated: false
description: >-
The endpoint returns all countries' names, codes, and IDs, and is not
specific to any particular store's operations or merchant's activated
countries.
`countries_cities.read` - Countries & Cities Read
operationId: get-settings-countries?page_size=10&page=1
tags:
- Default module/Apps/Merchant APIs/Countries and Cities
- Countries and Cities
parameters:
- name: Accept
in: header
description: >-
Specifies the Media Types acceptable for the client. In this case,
it signals that the client expects a response in the JSON format.
required: true
example: application/json
schema:
type: string
default: application/json
- name: Authorization
in: header
description: >-
The Authorization token is a unique key given to the third-party
application (Partner) by Zid. It is used to authenticate the API
requests made by the Partner application. The token verifies the
partner's identity and ensures they have permission to access Zid's
API but does not provide any specific user or store information. It
should be included in the header of API requests when the partner
application needs to access Zid's API.
required: true
example: '{{Autherization}}'
schema:
type: string
- name: Accept-Language
in: header
description: >-
Preferred language for the response. Defaults to `en` if not
specified.
required: false
example: en
schema:
type: string
enum:
- en
- ar
examples:
- en
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
x-examples:
Example 1:
status: object
countries:
- id: 184
name: السعودية
code: SA
country_code: SAU
flag: https://media.zid.store/static/sa.svg
- id: 221
name: الإمارات العربية المتحدة
code: AE
country_code: ARE
flag: https://media.zid.store/static/ae.svg
- id: 114
name: الكويت
code: KW
country_code: KWT
flag: https://media.zid.store/static/kw.svg
- id: 161
name: عمان
code: OM
country_code: OMN
flag: https://media.zid.store/static/om.svg
- id: 17
name: البحرين
code: BH
country_code: BHR
flag: https://media.zid.store/static/bh.svg
- id: 63
name: مصر
code: EG
country_code: EGY
flag: https://media.zid.store/static/eg.svg
- id: 173
name: قطر
code: QA
country_code: QAT
flag: https://media.zid.store/static/qa.svg
- id: 108
name: الأردن
code: JO
country_code: JOR
flag: https://media.zid.store/static/jo.svg
- id: 118
name: لبنان
code: LB
country_code: LBN
flag: https://media.zid.store/static/lb.svg
- id: 214
name: تونس
code: TN
country_code: TUN
flag: https://media.zid.store/static/tn.svg
- id: 144
name: المغرب
code: MA
country_code: MAR
flag: https://media.zid.store/static/ma.svg
- id: 121
name: ليبيا
code: LY
country_code: LBY
```
--------------------------------
### POST /v1/products/
Source: https://share.apidog.com/apidoc/docs-site/613905/create-a-new-product
Use this endpoint to create a new product in the store. It supports various product classes and may require additional fields or steps depending on the class chosen.
```APIDOC
## POST /v1/products/
### Description
Creates a new product in the store. Supports various product classes like standard, grouped, voucher, downloadable, crowdfunding, donation, customizable, and dynamic bundle products. Some product classes have specific requirements or additional steps post-creation.
### Method
POST
### Endpoint
/v1/products/
### Parameters
#### Header Parameters
- **Authorization** (string) - Required - The Authorization token is a unique key given to the third-party application (Partner) by Zid. It is used to authenticate the API requests made by the Partner application.
### Request Body
*Note: The request body schema is not fully detailed in the source. The following are inferred fields based on the description.
- **name** (string) - Required - The name of the product.
- **description** (string) - Optional - The description of the product.
- **price** (number) - Required - The base price of the product.
- **product_class** (string) - Required - The class of the product (e.g., `standard`, `grouped_product`, `voucher`, `downloadable`, `crowdfunding_project`, `donation_item`, `dynamic_bundle`).
- **sku** (string) - Optional - The Stock Keeping Unit for the product.
- **quantity** (integer) - Optional - The available quantity of the product (restrictions may apply based on product class).
- **sale_price** (number) - Optional - The sale price of the product (restrictions may apply based on product class).
- **is_infinite** (boolean) - Optional - Indicates if the product quantity is infinite (restrictions may apply based on product class).
- **requires_shipping** (boolean) - Optional - Indicates if the product requires shipping (restrictions may apply based on product class).
### Response
#### Success Response (200)
- **id** (string) - The unique identifier of the created product.
- **name** (string) - The name of the created product.
- **product_class** (string) - The class of the created product.
#### Response Example
```json
{
"id": "prod_12345",
"name": "Example Product",
"product_class": "standard"
}
```
### Notes
- Categories cannot be added during product creation. Use separate endpoints for category assignment.
- Dynamic Bundle products require additional steps to configure selection groups after creation.
- Certain product classes may restrict the use of fields like `sale_price`, `quantity`, `is_infinite`, or `requires_shipping`.
```
--------------------------------
### Request Body Example
Source: https://share.apidog.com/apidoc/docs-site/613905/add-a-product-to-a-certain-category
This is an example of the JSON body required to specify the category ID for assignment.
```json
{
"id": 1473477
}
```
--------------------------------
### cURL Request Example
Source: https://share.apidog.com/apidoc/docs-site/613905/add-a-product-to-a-certain-category
This cURL command demonstrates how to send a POST request to assign a product to a category. Ensure you replace placeholders like {{Autherization}}, {{Access-Token}}, and {{StoreId}} with your actual credentials.
```curl
curl --location 'https://api.zid.sa/v1/products/a7ad89d0-03e2-430f-b6e4-0624ef05e571/categories/' \
--header 'Authorization: {{Autherization}}' \
--header 'X-Manager-Token: {{Access-Token}}' \
--header 'Store-Id: {{StoreId}}' \
--header 'Content-Type: application/json' \
--data '{ \
"id": 1473477 \
}'
```
--------------------------------
### OpenAPI 500 Internal Server Error Example
Source: https://share.apidog.com/apidoc/docs-site/613905/add-product-variants
Example of a 500 Internal Server Error response.
```yaml
500:
description: ''
content:
application/json:
schema:
type: object
properties:
status:
type: string
message:
$ref: '#/components/schemas/ResponseEnvelopMessage'
required:
- status
- message
x-apidog-orders:
- status
- message
x-apidog-ignore-properties: []
example:
status: error
message:
type: error
code: MSG_HIDDEN
name: Error
description: Internal Server Error
headers: {}
x-apidog-name: Internal Server error
```
--------------------------------
### Create Product
Source: https://share.apidog.com/apidoc/docs-site/613905/create-product-types-2197235m0
Example of a POST request to create a product with multiple supported fields, including internationalized names, descriptions, pricing, inventory, and SEO details.
```http
POST /v1/products/
```
```json
{
"name": {
"ar": "منتج شامل",
"en": "Comprehensive Product"
},
"description": {
"ar": "منتج يوضح جميع الميزات المتاحة",
"en": "Product showcasing all available features"
},
"short_description": {
"ar": "منتج شامل مع جميع الميزات",
"en": "Comprehensive product with all features"
},
"sku": "FULL-001",
"barcode": "1234567890128",
"price": 199.99,
"sale_price": 149.99,
"cost": 80,
"quantity": 100,
"is_infinite": false,
"is_draft": false,
"is_published": true,
"is_taxable": true,
"requires_shipping": true,
"weight": {
"value": 1.5,
"unit": "kg"
},
"keywords": [
"product",
"complete",
"featured"
],
"display_order": 1,
"seo": {
"title": {
"ar": "منتج شامل - متجر متقدم",
"en": "Comprehensive Product - Advanced Store"
},
"description": {
"ar": "اكتشف منتجنا الشامل بميزات متقدمة",
"en": "Discover our comprehensive product with advanced features"
}
},
"purchase_restrictions": {
"min_quantity_per_cart": 1,
"max_quantity_per_cart": 5,
"availability_period_start": "2024-01-01T00:00:00Z",
"availability_period_end": "2024-12-31T23:59:59Z",
"sale_price_period_start": "2024-01-01T00:00:00Z",
"sale_price_period_end": "2024-03-31T23:59:59Z"
},
"badge": {
"body": {
"ar": "خصم {discount_percent}",
"en": "Discount {discount_percent}"
}
}
}
```
--------------------------------
### Create Product
Source: https://share.apidog.com/apidoc/docs-site/613905/add-customer-tag-35929922e0
Creates a new product in the store.
```APIDOC
## Create Product
### Description
Creates a new product.
### Method
POST
### Endpoint
/v1/products
### Parameters
#### Request Body
- **product_data** (object) - Required - The data for the new product.
```
--------------------------------
### OpenAPI 401 Unauthorized Error Example
Source: https://share.apidog.com/apidoc/docs-site/613905/add-product-variants
Example of a 401 Unauthorized response with a missing or invalid session.
```yaml
401:
description: ''
content:
application/json:
schema:
type: object
properties:
status:
type: string
message:
type: object
properties:
type:
type: string
code:
type: string
nullable: true
name:
type: string
nullable: true
description:
type: string
nullable: true
required:
- type
- code
- name
- description
x-apidog-orders:
- type
- code
- name
- description
x-apidog-ignore-properties: []
required:
- status
- message
x-apidog-orders:
- status
- message
x-apidog-ignore-properties: []
examples:
'5':
summary: Example 1
value:
status: error
message:
type: error
code: ERROR_SESSION_MISSING
name: Sorry
description: Please login first.
'6':
summary: Example 2
value:
status: error
message:
type: error
code: ERROR_SESSION_INVALID
name: Sorry
description: Login session expired. Please login again.
'7':
summary: Example 3
value:
status: error
message:
type: error
code: ERROR_SESSION_INVALID
name: Sorry
description: Invalid authentication
headers: {}
x-apidog-name: Unauthorized
```
--------------------------------
### Create Standard Product
Source: https://share.apidog.com/apidoc/docs-site/613905/create-product-types-2197235m0
Creates a new standard product with basic details like name, description, SKU, price, and inventory information.
```APIDOC
## POST /v1/products/
### Description
Creates a new standard product.
### Method
POST
### Endpoint
/v1/products/
### Request Body
- **name** (object) - Required - The name of the product in different languages.
- **description** (object) - Optional - The description of the product in different languages.
- **sku** (string) - Required - The Stock Keeping Unit for the product.
- **barcode** (string) - Optional - The barcode of the product.
- **price** (number) - Required - The regular price of the product.
- **sale_price** (number) - Optional - The sale price of the product.
- **quantity** (integer) - Required - The available quantity of the product.
- **is_taxable** (boolean) - Optional - Whether the product is taxable.
- **requires_shipping** (boolean) - Optional - Whether the product requires shipping.
- **weight** (object) - Optional - The weight of the product, including value and unit.
- **is_draft** (boolean) - Optional - Whether the product is a draft.
- **is_published** (boolean) - Optional - Whether the product is published.
- **keywords** (array) - Optional - Keywords associated with the product.
### Request Example
```json
{
"name": {
"ar": "منتج عادي",
"en": "Standard Product"
},
"description": {
"ar": "منتج عادي عام",
"en": "A regular general product"
},
"sku": "STANDARD-001",
"barcode": "1234567890128",
"price": 99.99,
"sale_price": 79.99,
"quantity": 100,
"is_taxable": true,
"requires_shipping": true,
"weight": {
"value": 2.5,
"unit": "kg"
},
"is_draft": false,
"is_published": true,
"keywords": [
"product",
"standard"
]
}
```
### Response
#### Success Response (200)
- **id** (string) - The unique identifier of the created product.
- **name** (object) - The name of the product in different languages.
- **description** (object) - The description of the product in different languages.
- **sku** (string) - The SKU of the product.
- **barcode** (string) - The barcode of the product.
- **product_class** (null) - Indicates the product class (null for standard products).
- **price** (number) - The price of the product.
- **sale_price** (number) - The sale price of the product.
- **quantity** (integer) - The available quantity of the product.
- **is_infinite** (boolean) - Indicates if the product has infinite quantity.
- **is_taxable** (boolean) - Whether the product is taxable.
- **requires_shipping** (boolean) - Whether the product requires shipping.
- **is_draft** (boolean) - Whether the product is a draft.
- **is_published** (boolean) - Whether the product is published.
- **weight** (object) - The weight of the product.
- **meta** (object) - Metadata for the product.
- **variants** (array) - Variants of the product.
- **custom_user_input_fields** (array) - Custom user input fields.
- **custom_option_fields** (array) - Custom option fields.
- **created_at** (string) - The timestamp when the product was created.
- **updated_at** (string) - The timestamp when the product was last updated.
#### Response Example
```json
{
"id": "product-uuid",
"name": {
"ar": "منتج عادي",
"en": "Standard Product"
},
"description": {
"ar": "منتج عادي عام",
"en": "A regular general product"
},
"sku": "STANDARD-001",
"barcode": "1234567890128",
"product_class": null,
"price": 99.99,
"sale_price": 79.99,
"quantity": 100,
"is_infinite": false,
"is_taxable": true,
"requires_shipping": true,
"is_draft": false,
"is_published": true,
"weight": {
"value": 2.5,
"unit": "kg"
},
"meta": {},
"variants": [],
"custom_user_input_fields": [],
"custom_option_fields": [],
"created_at": "2026-06-10T10:00:00Z",
"updated_at": "2026-06-10T10:00:00Z"
}
```
```
--------------------------------
### Error Response Example (401 Unauthorized - Invalid Session)
Source: https://share.apidog.com/apidoc/docs-site/613905/add-a-new-product-attribute
Example of an unauthorized response when the login session has expired.
```json
{
"status": "error",
"message": {
"type": "error",
"code": "ERROR_SESSION_INVALID",
"name": "Sorry",
"description": "Login session expired. Please login again."
}
}
```
--------------------------------
### Error Response Example (401 Unauthorized - Missing Session)
Source: https://share.apidog.com/apidoc/docs-site/613905/add-a-new-product-attribute
Example of an unauthorized response when the login session is missing.
```json
{
"status": "error",
"message": {
"type": "error",
"code": "ERROR_SESSION_MISSING",
"name": "Sorry",
"description": "Please login first."
}
}
```
--------------------------------
### cURL Request Example
Source: https://share.apidog.com/apidoc/docs-site/613905/retrieve-a-list-of-products
This snippet demonstrates how to retrieve a list of products using cURL with various query parameters for filtering and required headers.
```Shell
curl --location 'https://api.zid.sa/v1/products/?page=1&page_size=15&quantity__gte=10&quantity__lte=5&price=undefined&price__gt=50&price__lt=200' \
--header 'Access-Token: {{Access-Token}}' \
--header 'Store-Id: {{StoreId}}' \
--header 'Accept-Language: en' \
--header 'Role: Manager'
```
--------------------------------
### OpenAPI 400 Bad Request Validation Error Example
Source: https://share.apidog.com/apidoc/docs-site/613905/add-product-variants
Example of a 400 Bad Request response with validation errors.
```yaml
x-400:Bad Request:
description: ''
content:
application/json:
schema:
type: object
properties:
response:
type: string
validation_errors:
type: array
items:
type: object
properties:
detail:
type: array
items:
type: string
Error:
type: array
items:
type: string
x-apidog-orders:
- detail
- Error
x-apidog-ignore-properties: []
required:
- response
- validation_errors
x-apidog-orders:
- response
- validation_errors
x-apidog-ignore-properties: []
examples:
'3':
summary: Exception
value:
response: Partially Saved with errors
validation_errors:
- detail:
- Child Product Not found.
- Error:
- >-
```
--------------------------------
### Create Product Question (cURL)
Source: https://share.apidog.com/apidoc/docs-site/613905/create-question
Use this cURL command to send a POST request to create a product question. Ensure you replace placeholder values like {{Access-Token}} and {{StoreId}} with your actual credentials.
```curl
curl --location 'https://api.zid.sa/v1/products/399e381e-7c58-4148-aa26-7f959f4bf22b/questions' \
--header 'Access-Token: {{Access-Token}}' \
--header 'Store-Id: {{StoreId}}' \
--header 'Accept-Language: en' \
--header 'Role: manager' \
--form 'question="What's the best option for this product?"'
```
--------------------------------
### OpenAPI Specification Metadata Example
Source: https://share.apidog.com/apidoc/docs-site/613905/add-product-variants
Example of defining additional response metadata using x-apidog extensions within an OpenAPI Specification.
```yaml
description: Additional response metadata.
x-apidog-orders:
- type
- code
- name
- description
x-apidog-ignore-properties: []
x-apidog-folder: ''
```
--------------------------------
### Delete Webhook Response Example
Source: https://share.apidog.com/apidoc/docs-site/613905/delete-a-webhook-by-subscriber
This is an example of a successful JSON response (200 OK) when deleting webhooks. It includes status and message details.
```json
{
"status": "string",
"message": {
"type": "string",
"code": "string",
"name": "string",
"description": "string"
}
}
```
--------------------------------
### ZidPay Payment Method Example
Source: https://share.apidog.com/apidoc/docs-site/613905/create-order-20612055e0
Example of a ZidPay payment method object, used to identify the payment method ID for order creation.
```json
{
"id": 239951,
"enabled": true,
"code": "payment_link.zidpay",
"fees": 0,
"fees_string": "0.00 SAR",
"type": "payment_link",
"name": "إرسال رابط دفع",
"icons": [""]
}
```
--------------------------------
### List Product Settings
Source: https://share.apidog.com/apidoc/docs-site/613905/add-customer-tag-35929922e0
Retrieves the available settings for products.
```APIDOC
## List Product Settings
### Description
Retrieves the available settings for products.
### Method
GET
### Endpoint
/v1/products/settings
```
--------------------------------
### 200 OK - Category Response Example
Source: https://share.apidog.com/apidoc/docs-site/613905/create-subcategory-20319945e0
This is an example of a successful response when retrieving category information. It includes detailed fields for the category, its internationalized properties, and associated metafields.
```json
{
"status": "object",
"category": {
"id": 1482387,
"name": "تصنيف فرعي ٢",
"uuid": "9c955dba-b87a-49f0-9b0b-fa9aa930c035",
"slug": "تصنيف-فرعي-٢",
"SEO_category_title": "تصنيف فرعي ٢",
"SEO_category_description": "تصنيف فرعي1",
"i18n_SEO_category_title": {
"ar": "تصنيف فرعي ٢",
"en": "sub category 2"
},
"i18n_SEO_category_description": {
"ar": "تصنيف فرعي1",
"en": "test sub 2222f2"
},
"names": {
"en": "sub category 2",
"ar": "تصنيف فرعي ٢"
},
"description": {
"en": "test sub 2222f2",
"ar": "تصنيف فرعي1"
},
"url": "https://osama.zid.store/categories/1482387/تصنيف-فرعي-٢",
"image": null,
"image_full_size": null,
"img_alt_text": "",
"i18n_img_alt_text": {
"ar": null
},
"cover_image": null,
"image_full": null,
"products_count": 0,
"sub_categories": [],
"parent_id": 1482385,
"flat_name": "test121212125 - تصنيف فرعي ٢",
"is_published": true,
"metafields": [
{
"id": "2cf0cf26-d468-452a-9492-2fe5970c3cd8",
"name": {
"ar": "لون",
"en": "Color"
},
"slug": "Color-1",
"data_type": "text",
"display_order": 3,
"structure_definition": null,
"value": null
},
{
"id": "6579510a-0ce0-4f83-b53f-e3abe9c0f0d5",
"name": {
"ar": null,
"en": "g gg"
},
"slug": "g-gg",
"data_type": "text",
"display_order": 2,
"structure_definition": null,
"value": null
},
{
"id": "ff173ea4-429c-40f0-a6a0-8e29e655ea83",
"name": {
"ar": null,
"en": "date"
},
"slug": "date",
"data_type": "date",
"display_order": 1,
"structure_definition": null,
"value": null
}
]
},
"message": {
"type": "object",
"code": null,
"name": null,
"description": null
}
}
```
--------------------------------
### Products - Managing Products - List Product Settings
Source: https://share.apidog.com/apidoc/docs-site/613905/customer-profile-35966733e0
Retrieves the settings for products.
```APIDOC
## GET /products/settings
### Description
Retrieves the settings for products.
### Method
GET
### Endpoint
/products/settings
```
--------------------------------
### Successful Response for Standard Product Creation
Source: https://share.apidog.com/apidoc/docs-site/613905/create-product-types-2197235m0
Example of a successful response after creating a standard product. It includes the assigned ID and all product details.
```json
{
"id": "product-uuid",
"name": {
"ar": "منتج عادي",
"en": "Standard Product"
},
"description": {
"ar": "منتج عادي عام",
"en": "A regular general product"
},
"sku": "STANDARD-001",
"barcode": "1234567890128",
"product_class": null,
"price": 99.99,
"sale_price": 79.99,
"quantity": 100,
"is_infinite": false,
"is_taxable": true,
"requires_shipping": true,
"is_draft": false,
"is_published": true,
"weight": {
"value": 2.5,
"unit": "kg"
},
"meta": {},
"variants": [],
"custom_user_input_fields": [],
"custom_option_fields": [],
"created_at": "2026-06-10T10:00:00Z",
"updated_at": "2026-06-10T10:00:00Z"
}
```
--------------------------------
### Create Location 201 Created Response Example
Source: https://share.apidog.com/apidoc/docs-site/613905/add-a-new-location
This is an example of a successful response (201 Created) when a new location is added. It includes the ID and details of the created location.
```json
{
"id": "0b602ebc-1bbe-4905-b010-51599615ce82",
"name": {
"en": "test 2"
},
"city": {
"id": 1,
"name": "Riyadh",
"ar_name": "الرياض",
"country": {
"id": 184,
"name": "Saudi Arabia",
"ar_name": "السعودية",
"iso_code_2": "SA",
"iso_code_3": "SAU",
"code": "SA"
},
"country_code": "SA"
},
"type": "PHYSICAL",
"coordinates": {
"latitude": 23.2532,
"longitude": 23.3232
},
"full_address": "RHHB4094, 4094 Al Aflaj, 7377، حي الواحة، Riyadh 12442, Saudi Arabia",
"short_address": "RHHB4094",
"district": null,
"street": null,
"fulfillment_priority": null,
"is_default": false,
"is_private": true,
"is_enabled": false,
"has_stocks": false,
"channels": [
"catalog"
],
"linked_users": []
}
```
--------------------------------
### Create Product Variants Request Payload
Source: https://share.apidog.com/apidoc/docs-site/613905/add-product-variants
This example demonstrates the structure for creating product variants, including their SKU, price, attributes, and stock information. Ensure attributes and locations are pre-defined.
```json
{
"variants": [
{
"id": "ebd067c3-6c51-4692-9cac-e43118930ec2",
"is_deleted": false,
"sku": "Z.1.111111",
"price": 144,
"sale_price": null,
"cost": null,
"barcode": "Z.1.111111",
"attributes": [
{
"slug": "اللون",
"value": {
"ar": "ابيض",
"en": "White"
}
}
],
"stocks": [
{
"available_quantity": 44,
"is_infinite": false,
"location": "e2629f14-12ad-4ee4-8103-9db7290c4ccc"
}
],
"weight": {
"unit": "kg",
"value": null
}
},
{
"is_deleted": false,
"sku": "Z.2.1111",
"price": 144,
"sale_price": 122,
"cost": null,
"barcode": "Z.2.1111",
"attributes": [
{
"slug": "اللون",
"value": {
"ar": "اسود",
"en": "Black"
}
}
],
"stocks": [
{
"available_quantity": 77,
"is_infinite": false,
"location": "e2629f14-12ad-4ee4-8103-9db7290c4ccc"
}
],
"weight": {
"unit": "kg"
}
}
]
}
```