Skip to content

Inventory

Stock levels, adjustments, transfers, suppliers and purchase orders. Every example sets SOOQUNA_TOKEN from the environment; see authentication. Responses are from a test store, cut to two items per list.

Endpoint Method Path
List inventory items with stock GET /inventory
Get stock levels of items GET /inventory/levels
Adjust stock POST /inventory/adjust
Move stock between states POST /inventory/move
Update an inventory item PATCH /inventory/items/{id}
List an item’s stock changes GET /inventory/items/{id}/history
Create a stock transfer POST /inventory-transfers
List stock transfers GET /inventory-transfers
Get a stock transfer GET /inventory-transfers/{id}
Update a draft transfer PUT /inventory-transfers/{id}
Mark a transfer as shipped POST /inventory-transfers/{id}/ship
Receive a transfer POST /inventory-transfers/{id}/receive
Cancel a transfer POST /inventory-transfers/{id}/cancel
Delete a draft transfer DELETE /inventory-transfers/{id}
Create a supplier POST /suppliers
List suppliers GET /suppliers
Update a supplier PUT /suppliers/{id}
Create a purchase order POST /purchase-orders
List purchase orders GET /purchase-orders
Get a purchase order GET /purchase-orders/{id}
Update a draft purchase order PUT /purchase-orders/{id}
Mark a purchase order as ordered POST /purchase-orders/{id}/order
Receive a purchase order POST /purchase-orders/{id}/receive
Close a purchase order POST /purchase-orders/{id}/close
Download a purchase order as PDF GET /purchase-orders/{id}/pdf
Delete a draft purchase order DELETE /purchase-orders/{id}
Delete a supplier DELETE /suppliers/{id}

GET /inventory · Scope: read_inventory

Parameter In Description
low_stock query For example true.
limit query For example 20.
Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/inventory?low_stock=true&limit=20" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"data": [
{
"available": 0,
"barcode": "",
"committed": 0,
"damaged": 0,
"incoming": 0,
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"inventory_policy": "deny",
"location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000018",
"low_stock_threshold": 5,
"on_hand": 0,
"product_id": "0193a1b2-c3d4-7e5f-8a6b-000000000005",
"product_title": "Embroidered linen abaya",
"quality_control": 0,
"reserved": 0,
"safety_stock": 0,
"sku": "ABY-LIN-S",
"tracked": true,
"variant_id": "0193a1b2-c3d4-7e5f-8a6b-000000000019",
"variant_title": "S"
},
{
"available": 0,
"barcode": "",
"committed": 0,
"damaged": 0,
"incoming": 0,
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000020",
"inventory_policy": "deny",
"location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000018",
"low_stock_threshold": 5,
"on_hand": 0,
"product_id": "0193a1b2-c3d4-7e5f-8a6b-000000000005",
"product_title": "Embroidered linen abaya",
"quality_control": 0,
"reserved": 0,
"safety_stock": 0,
"sku": "ABY-LIN-M",
"tracked": true,
"variant_id": "0193a1b2-c3d4-7e5f-8a6b-000000000014",
"variant_title": "M"
}
],
"page_info": {"has_next_page": false}
}

GET /inventory/levels · Scope: read_inventory

Parameter In Description
item_ids query An ID, as in the example.
Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/inventory/levels?item_ids=0193a1b2-c3d4-7e5f-8a6b-000000000017" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"data": {
"01a14f9e-ff97-7e10-b684-5d874da1452f": [
{
"available": 0,
"committed": 0,
"damaged": 0,
"incoming": 0,
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"location_name": "West Bay shop",
"on_hand": 0,
"quality_control": 0,
"reserved": 0,
"safety_stock": 0
},
{
"available": 0,
"committed": 0,
"damaged": 0,
"incoming": 0,
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000021",
"location_name": "Al Wakrah warehouse",
"on_hand": 0,
"quality_control": 0,
"reserved": 0,
"safety_stock": 0
}
]
}
}

POST /inventory/adjust · Scope: write_inventory · Needs an Idempotency-Key header

delta adds or removes units; set replaces the quantity. States: available, damaged, safety_stock, quality_control. Reasons: correction, received, damaged, shrinkage, return_restock, promotion, cycle_count, other.

Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/inventory/adjust" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"changes": [
{
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"state": "available",
"set": 12,
"reason": "received"
},
{
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000020",
"location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"state": "available",
"delta": 5,
"reason": "received",
"note": "Supplier delivery INV-2210"
}
]
}'
Response 200
{
"levels": [
{
"available": 12,
"committed": 0,
"damaged": 0,
"incoming": 0,
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"on_hand": 12,
"quality_control": 0,
"reserved": 0,
"safety_stock": 0
},
{
"available": 5,
"committed": 0,
"damaged": 0,
"incoming": 0,
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000020",
"location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"on_hand": 5,
"quality_control": 0,
"reserved": 0,
"safety_stock": 0
}
]
}

POST /inventory/move · Scope: write_inventory · Needs an Idempotency-Key header

Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/inventory/move" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"from_state": "available",
"to_state": "damaged",
"qty": 1,
"note": "Torn hem"
}'
Response 200
{
"levels": [
{
"available": 11,
"committed": 0,
"damaged": 1,
"incoming": 0,
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"on_hand": 12,
"quality_control": 0,
"reserved": 0,
"safety_stock": 0
}
]
}

PATCH /inventory/items/{id} · Scope: write_inventory

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X PATCH "https://api.sooquna.com/admin/api/2026-10/inventory/items/0193a1b2-c3d4-7e5f-8a6b-000000000017" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tracked": true, "low_stock_threshold": 3}'
Response 204
{}

GET /inventory/items/{id}/history · Scope: read_inventory

Parameter In Description
id path The resource’s ID.
limit query For example 20.
Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/inventory/items/0193a1b2-c3d4-7e5f-8a6b-000000000017/history?limit=20" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"data": [
{
"actor": "Docs",
"created_at": "2026-10-18T09:30:00Z",
"delta": 1,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000025",
"location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"location_name": "West Bay shop",
"note": "Torn hem",
"quantity_after": 1,
"reason": "movement",
"reference_id": "",
"reference_type": "",
"state": "damaged"
},
{
"actor": "Docs",
"created_at": "2026-10-18T09:30:00Z",
"delta": -1,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000026",
"location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"location_name": "West Bay shop",
"note": "Torn hem",
"quantity_after": 11,
"reason": "movement",
"reference_id": "",
"reference_type": "",
"state": "available"
}
],
"page_info": {"has_next_page": false}
}

POST /inventory-transfers · Scope: write_inventory

Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/inventory-transfers" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"origin_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"destination_location_id": "0193a1b2-c810-7698-8039-998bb6c1a849",
"reference": "TR-1001",
"lines": [
{
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"qty": 2
}
]
}'
Response 201
{
"created_at": "2026-10-18T09:30:00Z",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000021",
"destination_name": "Al Wakrah warehouse",
"expected_at": null,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000022",
"lines": [
{
"barcode": "",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000024",
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"product_title": "Embroidered linen abaya",
"qty": 2,
"received_qty": 0,
"rejected_qty": 0,
"sku": "ABY-LIN-S",
"variant_title": "S"
}
],
"name": "#T1001",
"notes": "",
"number": 1001,
"origin_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"origin_name": "West Bay shop",
"received_qty": 0,
"reference": "TR-1001",
"shipped_at": null,
"status": "draft",
"total_qty": 2,
"version": 1
}

GET /inventory-transfers · Scope: read_inventory

Parameter In Description
status query For example draft.
Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/inventory-transfers?status=draft" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"data": [
{
"created_at": "2026-10-18T09:30:00Z",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000021",
"destination_name": "Al Wakrah warehouse",
"expected_at": null,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000022",
"name": "#T1001",
"notes": "",
"number": 1001,
"origin_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"origin_name": "West Bay shop",
"received_qty": 0,
"reference": "TR-1001",
"shipped_at": null,
"status": "draft",
"total_qty": 2,
"version": 1
}
],
"has_more": false
}

GET /inventory-transfers/{id} · Scope: read_inventory

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/inventory-transfers/0193a1b2-c3d4-7e5f-8a6b-000000000022" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"created_at": "2026-10-18T09:30:00Z",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000021",
"destination_name": "Al Wakrah warehouse",
"expected_at": null,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000022",
"lines": [
{
"barcode": "",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000024",
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"product_title": "Embroidered linen abaya",
"qty": 2,
"received_qty": 0,
"rejected_qty": 0,
"sku": "ABY-LIN-S",
"variant_title": "S"
}
],
"name": "#T1001",
"notes": "",
"number": 1001,
"origin_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"origin_name": "West Bay shop",
"received_qty": 0,
"reference": "TR-1001",
"shipped_at": null,
"status": "draft",
"total_qty": 2,
"version": 1
}

PUT /inventory-transfers/{id} · Scope: write_inventory

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X PUT "https://api.sooquna.com/admin/api/2026-10/inventory-transfers/0193a1b2-c3d4-7e5f-8a6b-000000000022" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"origin_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"destination_location_id": "0193a1b2-c810-7698-8039-998bb6c1a849",
"reference": "TR-1001",
"notes": "Eid stock for the warehouse",
"lines": [
{
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"qty": 3
}
],
"version": 1
}'
Response 200
{
"created_at": "2026-10-18T09:30:00Z",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000021",
"destination_name": "Al Wakrah warehouse",
"expected_at": null,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000022",
"lines": [
{
"barcode": "",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000054",
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"product_title": "Embroidered linen abaya",
"qty": 3,
"received_qty": 0,
"rejected_qty": 0,
"sku": "ABY-LIN-S",
"variant_title": "S"
}
],
"name": "#T1001",
"notes": "Eid stock for the warehouse",
"number": 1001,
"origin_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"origin_name": "West Bay shop",
"received_qty": 0,
"reference": "TR-1001",
"shipped_at": null,
"status": "draft",
"total_qty": 3,
"version": 2
}

POST /inventory-transfers/{id}/ship · Scope: write_inventory · Needs an Idempotency-Key header

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/inventory-transfers/0193a1b2-c3d4-7e5f-8a6b-000000000022/ship" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"
Response 200
{
"created_at": "2026-10-18T09:30:00Z",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000021",
"destination_name": "Al Wakrah warehouse",
"expected_at": null,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000022",
"lines": [
{
"barcode": "",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000054",
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"product_title": "Embroidered linen abaya",
"qty": 3,
"received_qty": 0,
"rejected_qty": 0,
"sku": "ABY-LIN-S",
"variant_title": "S"
}
],
"name": "#T1001",
"notes": "Eid stock for the warehouse",
"number": 1001,
"origin_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"origin_name": "West Bay shop",
"received_qty": 0,
"reference": "TR-1001",
"shipped_at": "2026-10-18T09:30:00Z",
"status": "in_transit",
"total_qty": 3,
"version": 3
}

POST /inventory-transfers/{id}/receive · Scope: write_inventory · Needs an Idempotency-Key header

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/inventory-transfers/0193a1b2-c3d4-7e5f-8a6b-000000000022/receive" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"lines": [
{
"line_id": "0193a1b2-c3d4-7e5f-8a6b-000000000024",
"accepted": 3,
"rejected": 0
}
]
}'
Response 200
{
"created_at": "2026-10-18T09:30:00Z",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000021",
"destination_name": "Al Wakrah warehouse",
"expected_at": null,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000022",
"lines": [
{
"barcode": "",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000054",
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000017",
"product_title": "Embroidered linen abaya",
"qty": 3,
"received_qty": 3,
"rejected_qty": 0,
"sku": "ABY-LIN-S",
"variant_title": "S"
}
],
"name": "#T1001",
"notes": "Eid stock for the warehouse",
"number": 1001,
"origin_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"origin_name": "West Bay shop",
"received_qty": 3,
"reference": "TR-1001",
"shipped_at": "2026-10-18T09:30:00Z",
"status": "received",
"total_qty": 3,
"version": 4
}

POST /inventory-transfers/{id}/cancel · Scope: write_inventory

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/inventory-transfers/0193a1b2-c3d4-7e5f-8a6b-000000000022/cancel" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"

DELETE /inventory-transfers/{id} · Scope: write_inventory

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X DELETE "https://api.sooquna.com/admin/api/2026-10/inventory-transfers/0193a1b2-c3d4-7e5f-8a6b-000000000022" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"

POST /suppliers · Scope: write_inventory

Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/suppliers" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Al Noor Textiles",
"contact": {
"name": "Ahmed Saleh",
"email": "[email protected]",
"phone": "+97455001122"
},
"address": {
"address1": "Industrial Area Street 41",
"city": "Doha",
"country": "QA"
},
"currency": "QAR"
}'
Response 201
{
"address": {
"address1": "Industrial Area Street 41",
"address2": "",
"city": "Doha",
"country": "QA",
"postal_code": "",
"region": ""
},
"contact": {
"email": "[email protected]",
"name": "Ahmed Saleh",
"phone": "+97455001122"
},
"currency": "QAR",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000040",
"name": "Al Noor Textiles",
"notes": "",
"version": 1
}

GET /suppliers · Scope: read_inventory

Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/suppliers" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"data": [
{
"address": {
"address1": "Industrial Area Street 41",
"address2": "",
"city": "Doha",
"country": "QA",
"postal_code": "",
"region": ""
},
"contact": {
"email": "[email protected]",
"name": "Ahmed Saleh",
"phone": "+97455001122"
},
"currency": "QAR",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000040",
"name": "Al Noor Textiles",
"notes": "",
"version": 1
}
]
}

PUT /suppliers/{id} · Scope: write_inventory

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X PUT "https://api.sooquna.com/admin/api/2026-10/suppliers/0193a1b2-c3d4-7e5f-8a6b-000000000040" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Al Noor Textiles",
"contact": {"name": "Ahmed Saleh", "email": "[email protected]"},
"currency": "QAR",
"notes": "Net 30",
"version": 1
}'
Response 200
{
"address": {
"address1": "",
"address2": "",
"city": "",
"country": "",
"postal_code": "",
"region": ""
},
"contact": {"email": "[email protected]", "name": "Ahmed Saleh", "phone": ""},
"currency": "QAR",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000040",
"name": "Al Noor Textiles",
"notes": "Net 30",
"version": 2
}

POST /purchase-orders · Scope: write_inventory

Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/purchase-orders" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"supplier_id": "0193a1b2-c3d4-7e5f-8a6b-000000000040",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"currency": "QAR",
"payment_terms": "net_30",
"reference": "PO-2210",
"lines": [
{
"inventory_item_id": "0193a1b2-515c-7600-8567-54a045bc4ee8",
"qty": 20,
"cost": "180.00"
}
]
}'
Response 201
{
"created_at": "2026-10-18T09:30:00Z",
"currency": "QAR",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"destination_name": "West Bay shop",
"expected_at": null,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000039",
"lines": [
{
"barcode": "",
"cost": "180.00",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000041",
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000042",
"product_title": "Embroidered linen abaya",
"qty": 20,
"received_qty": 0,
"rejected_qty": 0,
"sku": "ABY-LIN-L",
"variant_title": "L"
}
],
"name": "#PO1001",
"notes": "",
"number": 1001,
"ordered_at": null,
"payment_terms": "net_30",
"received_qty": 0,
"reference": "PO-2210",
"shipping_cost": "0.00",
"status": "draft",
"subtotal": "3600.00",
"supplier_id": "0193a1b2-c3d4-7e5f-8a6b-000000000040",
"supplier_name": "Al Noor Textiles",
"total": "3600.00",
"total_qty": 20,
"version": 1
}

GET /purchase-orders · Scope: read_inventory

Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/purchase-orders" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"data": [
{
"created_at": "2026-10-18T09:30:00Z",
"currency": "QAR",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"destination_name": "West Bay shop",
"expected_at": null,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000039",
"name": "#PO1001",
"notes": "",
"number": 1001,
"ordered_at": null,
"payment_terms": "",
"received_qty": 0,
"reference": "PO-2210",
"shipping_cost": "0.00",
"status": "draft",
"supplier_id": "0193a1b2-c3d4-7e5f-8a6b-000000000040",
"supplier_name": "Al Noor Textiles",
"total_qty": 20,
"version": 1
}
],
"has_more": false
}

GET /purchase-orders/{id} · Scope: read_inventory

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/purchase-orders/0193a1b2-c3d4-7e5f-8a6b-000000000039" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"created_at": "2026-10-18T09:30:00Z",
"currency": "QAR",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"destination_name": "West Bay shop",
"expected_at": null,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000039",
"lines": [
{
"barcode": "",
"cost": "180.00",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000041",
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000042",
"product_title": "Embroidered linen abaya",
"qty": 20,
"received_qty": 0,
"rejected_qty": 0,
"sku": "ABY-LIN-L",
"variant_title": "L"
}
],
"name": "#PO1001",
"notes": "",
"number": 1001,
"ordered_at": null,
"payment_terms": "net_30",
"received_qty": 0,
"reference": "PO-2210",
"shipping_cost": "0.00",
"status": "draft",
"subtotal": "3600.00",
"supplier_id": "0193a1b2-c3d4-7e5f-8a6b-000000000040",
"supplier_name": "Al Noor Textiles",
"total": "3600.00",
"total_qty": 20,
"version": 1
}

PUT /purchase-orders/{id} · Scope: write_inventory

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X PUT "https://api.sooquna.com/admin/api/2026-10/purchase-orders/0193a1b2-c3d4-7e5f-8a6b-000000000039" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"supplier_id": "0193a1b2-c3d4-7e5f-8a6b-000000000040",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"currency": "QAR",
"payment_terms": "net_30",
"reference": "PO-2210",
"lines": [
{
"inventory_item_id": "0193a1b2-515c-7600-8567-54a045bc4ee8",
"qty": 24,
"cost": "180.00"
}
],
"version": 1
}'
Response 200
{
"created_at": "2026-10-18T09:30:00Z",
"currency": "QAR",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"destination_name": "West Bay shop",
"expected_at": null,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000039",
"lines": [
{
"barcode": "",
"cost": "180.00",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000063",
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000042",
"product_title": "Embroidered linen abaya",
"qty": 24,
"received_qty": 0,
"rejected_qty": 0,
"sku": "ABY-LIN-L",
"variant_title": "L"
}
],
"name": "#PO1001",
"notes": "",
"number": 1001,
"ordered_at": null,
"payment_terms": "net_30",
"received_qty": 0,
"reference": "PO-2210",
"shipping_cost": "0.00",
"status": "draft",
"subtotal": "4320.00",
"supplier_id": "0193a1b2-c3d4-7e5f-8a6b-000000000040",
"supplier_name": "Al Noor Textiles",
"total": "4320.00",
"total_qty": 24,
"version": 2
}

POST /purchase-orders/{id}/order · Scope: write_inventory · Needs an Idempotency-Key header

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/purchase-orders/0193a1b2-c3d4-7e5f-8a6b-000000000039/order" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"
Response 200
{
"created_at": "2026-10-18T09:30:00Z",
"currency": "QAR",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"destination_name": "West Bay shop",
"expected_at": null,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000039",
"lines": [
{
"barcode": "",
"cost": "180.00",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000063",
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000042",
"product_title": "Embroidered linen abaya",
"qty": 24,
"received_qty": 0,
"rejected_qty": 0,
"sku": "ABY-LIN-L",
"variant_title": "L"
}
],
"name": "#PO1001",
"notes": "",
"number": 1001,
"ordered_at": "2026-10-18T09:30:00Z",
"payment_terms": "net_30",
"received_qty": 0,
"reference": "PO-2210",
"shipping_cost": "0.00",
"status": "ordered",
"subtotal": "4320.00",
"supplier_id": "0193a1b2-c3d4-7e5f-8a6b-000000000040",
"supplier_name": "Al Noor Textiles",
"total": "4320.00",
"total_qty": 24,
"version": 3
}

POST /purchase-orders/{id}/receive · Scope: write_inventory · Needs an Idempotency-Key header

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/purchase-orders/0193a1b2-c3d4-7e5f-8a6b-000000000039/receive" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"lines": [
{
"line_id": "0193a1b2-c3d4-7e5f-8a6b-000000000041",
"accepted": 24,
"rejected": 0
}
],
"update_cost": true
}'
Response 200
{
"created_at": "2026-10-18T09:30:00Z",
"currency": "QAR",
"destination_location_id": "0193a1b2-c3d4-7e5f-8a6b-000000000023",
"destination_name": "West Bay shop",
"expected_at": null,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000039",
"lines": [
{
"barcode": "",
"cost": "180.00",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000063",
"inventory_item_id": "0193a1b2-c3d4-7e5f-8a6b-000000000042",
"product_title": "Embroidered linen abaya",
"qty": 24,
"received_qty": 24,
"rejected_qty": 0,
"sku": "ABY-LIN-L",
"variant_title": "L"
}
],
"name": "#PO1001",
"notes": "",
"number": 1001,
"ordered_at": "2026-10-18T09:30:00Z",
"payment_terms": "net_30",
"received_qty": 24,
"reference": "PO-2210",
"shipping_cost": "0.00",
"status": "received",
"subtotal": "4320.00",
"supplier_id": "0193a1b2-c3d4-7e5f-8a6b-000000000040",
"supplier_name": "Al Noor Textiles",
"total": "4320.00",
"total_qty": 24,
"version": 4
}

POST /purchase-orders/{id}/close · Scope: write_inventory

Closes an order that won’t be received in full; fully received orders close themselves.

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/purchase-orders/0193a1b2-c3d4-7e5f-8a6b-000000000039/close" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"

GET /purchase-orders/{id}/pdf · Scope: read_inventory

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/purchase-orders/0193a1b2-c3d4-7e5f-8a6b-000000000039/pdf" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-o PO-2210.pdf

DELETE /purchase-orders/{id} · Scope: write_inventory

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X DELETE "https://api.sooquna.com/admin/api/2026-10/purchase-orders/0193a1b2-c3d4-7e5f-8a6b-000000000039" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"

DELETE /suppliers/{id} · Scope: write_inventory

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X DELETE "https://api.sooquna.com/admin/api/2026-10/suppliers/0193a1b2-c3d4-7e5f-8a6b-000000000040" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"

Was this page helpful?