{"openapi":"3.1.0","info":{"title":"Omnizone API","version":"v1","description":"Public REST API for Omnizone workspaces. Authenticate with an org API key (`Authorization: Bearer ozk_live_…`).\n\nBase URL is versioned (`/v1`). Breaking changes ship as `/v2`.\n\nList endpoints return `{ data, meta: { limit, offset, total } }`. Errors return `{ error: { code, message, request_id } }`.\n\nAccess follows the workspace plan: Starter covers books; Growth adds inventory, HR, and CRM; Business raises rate limits and key caps."},"servers":[{"url":"https://api.omnizone.app","description":"Omnizone API"}],"paths":{"/v1/me":{"get":{"operationId":"get_me","tags":["Current key"],"summary":"GET Current key","description":"Workspace and plan for the API key making the request. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/me"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/clients":{"get":{"operationId":"get_clients","tags":["Clients"],"summary":"GET Clients","description":"Customer directory. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/clients"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"},"post":{"operationId":"post_clients","tags":["Clients"],"summary":"POST Clients","description":"Customer directory. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phones":{"type":"string"},"contact":{"type":"string"},"address":{"type":"string"},"currency_code":{"type":"string"},"payment_terms_code":{"type":"string"},"notes":{"type":"string"},"active":{"type":"boolean"},"preferred_language":{"type":"string","nullable":true,"enum":["en","fr","ar","bilingual"]},"external_ref":{"description":"Upsert key as system:connection:id or { system, connection_id, external_id }.","oneOf":[{"type":"string"},{"type":"object","properties":{"system":{"type":"string"},"connection_id":{"type":"string","nullable":true},"external_id":{"type":"string"}},"required":["system","external_id"]}]}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/clients"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/clients/{id}":{"get":{"operationId":"get_clients_item","tags":["Clients"],"summary":"GET Clients by id","description":"Customer directory. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/clients"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"},"patch":{"operationId":"patch_clients_item","tags":["Clients"],"summary":"PATCH Clients by id","description":"Customer directory. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phones":{"type":"string"},"contact":{"type":"string"},"address":{"type":"string"},"currency_code":{"type":"string"},"payment_terms_code":{"type":"string"},"notes":{"type":"string"},"active":{"type":"boolean"},"preferred_language":{"type":"string","nullable":true,"enum":["en","fr","ar","bilingual"]},"external_ref":{"description":"Upsert key as system:connection:id or { system, connection_id, external_id }.","oneOf":[{"type":"string"},{"type":"object","properties":{"system":{"type":"string"},"connection_id":{"type":"string","nullable":true},"external_id":{"type":"string"}},"required":["system","external_id"]}]}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/clients"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/clients/{id}/addresses":{"get":{"operationId":"get_clients_item","tags":["Clients"],"summary":"List a client's billing and shipping addresses.","description":"Customer directory. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"},"post":{"operationId":"post_clients_item","tags":["Clients"],"summary":"Add an address to a client's address book.","description":"Customer directory. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phones":{"type":"string"},"contact":{"type":"string"},"address":{"type":"string"},"currency_code":{"type":"string"},"payment_terms_code":{"type":"string"},"notes":{"type":"string"},"active":{"type":"boolean"},"preferred_language":{"type":"string","nullable":true,"enum":["en","fr","ar","bilingual"]},"external_ref":{"description":"Upsert key as system:connection:id or { system, connection_id, external_id }.","oneOf":[{"type":"string"},{"type":"object","properties":{"system":{"type":"string"},"connection_id":{"type":"string","nullable":true},"external_id":{"type":"string"}},"required":["system","external_id"]}]}},"required":["name"]}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/clients/{id}/addresses/{address_id}":{"patch":{"operationId":"patch_clients_item","tags":["Clients"],"summary":"Update one address, or make it the default billing or shipping address.","description":"Customer directory. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"address_id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phones":{"type":"string"},"contact":{"type":"string"},"address":{"type":"string"},"currency_code":{"type":"string"},"payment_terms_code":{"type":"string"},"notes":{"type":"string"},"active":{"type":"boolean"},"preferred_language":{"type":"string","nullable":true,"enum":["en","fr","ar","bilingual"]},"external_ref":{"description":"Upsert key as system:connection:id or { system, connection_id, external_id }.","oneOf":[{"type":"string"},{"type":"object","properties":{"system":{"type":"string"},"connection_id":{"type":"string","nullable":true},"external_id":{"type":"string"}},"required":["system","external_id"]}]}},"required":["name"]}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/invoices":{"get":{"operationId":"get_invoices","tags":["Invoices"],"summary":"GET Invoices","description":"Sales invoices. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/invoices"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/invoices/{id}":{"get":{"operationId":"get_invoices_item","tags":["Invoices"],"summary":"GET Invoices by id","description":"Sales invoices. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/invoices"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/invoices/{id}/payments":{"get":{"operationId":"get_invoices_item","tags":["Invoices"],"summary":"List payments on an invoice.","description":"Sales invoices. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"post":{"operationId":"post_invoices_item","tags":["Invoices"],"summary":"Record a payment on an invoice.","description":"Sales invoices. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"number":{"type":"string","description":"Document number shown to the customer."},"status":{"type":"string"},"date":{"type":"string"},"due_date":{"type":"string"},"client_id":{"type":"string","nullable":true},"client_name":{"type":"string"},"currency_code":{"type":"string"},"amount_excl_vat_cents":{"type":"integer","description":"Amount excluding VAT, in minor units."},"vat_amount_cents":{"type":"integer","description":"VAT in minor units."},"amount_incl_vat_cents":{"type":"integer","description":"Amount including VAT, in minor units."},"remaining_cents":{"type":"integer","description":"Open balance in document currency, minor units."},"notes":{"type":"string"}},"required":["id","number","status","date"]}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/quotes":{"get":{"operationId":"get_quotes","tags":["Quotes"],"summary":"GET Quotes","description":"Sales quotes. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/quotes"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/quotes/{id}":{"get":{"operationId":"get_quotes_item","tags":["Quotes"],"summary":"GET Quotes by id","description":"Sales quotes. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quotes"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/credit-notes":{"get":{"operationId":"get_credit_notes","tags":["Credit notes"],"summary":"GET Credit notes","description":"Customer credit notes. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/credit_notes"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/credit-notes/{id}":{"get":{"operationId":"get_credit_notes_item","tags":["Credit notes"],"summary":"GET Credit notes by id","description":"Customer credit notes. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/credit_notes"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/stores":{"get":{"operationId":"get_stores","tags":["Stores"],"summary":"GET Stores","description":"Online stores in this workspace. Each row includes the public primary URL (a verified custom domain when one is active, otherwise the free store address). Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/stores"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/stores/{id}":{"get":{"operationId":"get_stores_item","tags":["Stores"],"summary":"GET Stores by id","description":"Online stores in this workspace. Each row includes the public primary URL (a verified custom domain when one is active, otherwise the free store address). Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/stores"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/sales-orders":{"get":{"operationId":"get_sales_orders","tags":["Sales orders"],"summary":"GET Sales orders","description":"Sales orders, including online store orders. Online orders add the store channel, payment status and shipping status. Filter with `status`, `client_id`, `channel_id`, or `online=true`. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/sales_orders"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/sales-orders/{id}":{"get":{"operationId":"get_sales_orders_item","tags":["Sales orders"],"summary":"GET Sales orders by id","description":"Sales orders, including online store orders. Online orders add the store channel, payment status and shipping status. Filter with `status`, `client_id`, `channel_id`, or `online=true`. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sales_orders"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/shipments":{"get":{"operationId":"get_shipments","tags":["Shipments"],"summary":"GET Shipments","description":"Shipments on sales-order deliveries, with packages and the tracking timeline. POST ships an order (all remaining lines when `lines` is omitted) through the same delivery as the Shipments screen. Filter with `status` or `sales_order_id`. Requires commerce mode. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/shipments"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"},"post":{"operationId":"post_shipments","tags":["Shipments"],"summary":"POST Shipments","description":"Shipments on sales-order deliveries, with packages and the tracking timeline. POST ships an order (all remaining lines when `lines` is omitted) through the same delivery as the Shipments screen. Filter with `status` or `sales_order_id`. Requires commerce mode. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sales_order_id":{"type":"string"},"lines":{"type":"array","description":"Optional. Omit to ship everything that remains.","items":{"type":"object","properties":{"order_line_id":{"type":"string"},"qty_milli":{"type":"integer"}},"required":["order_line_id","qty_milli"]}},"location_id":{"type":"string"},"carrier":{"type":"string"},"service":{"type":"string"},"tracking_no":{"type":"string"},"shipping_method_id":{"type":"string"},"cost_cents":{"type":"integer","description":"Shipping cost in minor units."},"notes":{"type":"string"},"packages":{"type":"array","items":{"type":"object","properties":{"tracking_no":{"type":"string"},"weight_g":{"type":"integer"}}}},"status":{"type":"string","description":"PATCH only: move along shipped → in_transit → delivered."}},"required":["sales_order_id"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/shipments"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/shipments/{id}":{"get":{"operationId":"get_shipments_item","tags":["Shipments"],"summary":"GET Shipments by id","description":"Shipments on sales-order deliveries, with packages and the tracking timeline. POST ships an order (all remaining lines when `lines` is omitted) through the same delivery as the Shipments screen. Filter with `status` or `sales_order_id`. Requires commerce mode. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/shipments"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"},"patch":{"operationId":"patch_shipments_item","tags":["Shipments"],"summary":"PATCH Shipments by id","description":"Shipments on sales-order deliveries, with packages and the tracking timeline. POST ships an order (all remaining lines when `lines` is omitted) through the same delivery as the Shipments screen. Filter with `status` or `sales_order_id`. Requires commerce mode. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sales_order_id":{"type":"string"},"lines":{"type":"array","description":"Optional. Omit to ship everything that remains.","items":{"type":"object","properties":{"order_line_id":{"type":"string"},"qty_milli":{"type":"integer"}},"required":["order_line_id","qty_milli"]}},"location_id":{"type":"string"},"carrier":{"type":"string"},"service":{"type":"string"},"tracking_no":{"type":"string"},"shipping_method_id":{"type":"string"},"cost_cents":{"type":"integer","description":"Shipping cost in minor units."},"notes":{"type":"string"},"packages":{"type":"array","items":{"type":"object","properties":{"tracking_no":{"type":"string"},"weight_g":{"type":"integer"}}}},"status":{"type":"string","description":"PATCH only: move along shipped → in_transit → delivered."}},"required":["sales_order_id"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/shipments"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/shipments/{id}/events":{"post":{"operationId":"post_shipments_item","tags":["Shipments"],"summary":"Add tracking events (one event, or `{ events: [...] }`). Events with a `carrier_event_id` are stored once.","description":"Shipments on sales-order deliveries, with packages and the tracking timeline. POST ships an order (all remaining lines when `lines` is omitted) through the same delivery as the Shipments screen. Filter with `status` or `sales_order_id`. Requires commerce mode. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sales_order_id":{"type":"string"},"lines":{"type":"array","description":"Optional. Omit to ship everything that remains.","items":{"type":"object","properties":{"order_line_id":{"type":"string"},"qty_milli":{"type":"integer"}},"required":["order_line_id","qty_milli"]}},"location_id":{"type":"string"},"carrier":{"type":"string"},"service":{"type":"string"},"tracking_no":{"type":"string"},"shipping_method_id":{"type":"string"},"cost_cents":{"type":"integer","description":"Shipping cost in minor units."},"notes":{"type":"string"},"packages":{"type":"array","items":{"type":"object","properties":{"tracking_no":{"type":"string"},"weight_g":{"type":"integer"}}}},"status":{"type":"string","description":"PATCH only: move along shipped → in_transit → delivered."}},"required":["sales_order_id"]}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/returns":{"get":{"operationId":"get_returns","tags":["Returns"],"summary":"GET Returns","description":"Customer return requests (RMA) on online orders, with lines and refund outcome (read). Filter with `status` or `sales_order_id`. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/returns"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/returns/{id}":{"get":{"operationId":"get_returns_item","tags":["Returns"],"summary":"GET Returns by id","description":"Customer return requests (RMA) on online orders, with lines and refund outcome (read). Filter with `status` or `sales_order_id`. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/returns"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/promotions":{"get":{"operationId":"get_promotions","tags":["Promotions"],"summary":"GET Promotions","description":"Promotions and coupon codes with usage totals. Archived promotions are not listed. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/promotions"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/promotions/{id}":{"get":{"operationId":"get_promotions_item","tags":["Promotions"],"summary":"GET Promotions by id","description":"Promotions and coupon codes with usage totals. Archived promotions are not listed. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/promotions"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/promotions/{id}/codes":{"get":{"operationId":"get_promotions_item","tags":["Promotions"],"summary":"List the codes of a promotion.","description":"Promotions and coupon codes with usage totals. Archived promotions are not listed. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"},"post":{"operationId":"post_promotions_item","tags":["Promotions"],"summary":"Add a code (for example SUMMER20) to a code promotion.","description":"Promotions and coupon codes with usage totals. Archived promotions are not listed. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"max_uses":{"type":"integer"},"max_uses_per_customer":{"type":"integer"},"expires_at":{"type":"string"}},"required":["code"]}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/gift-cards":{"get":{"operationId":"get_gift_cards","tags":["Gift cards"],"summary":"GET Gift cards","description":"Gift cards and store credit with balances and the balance ledger (read). Only the last four characters of a code are returned. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/gift_cards"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/gift-cards/{id}":{"get":{"operationId":"get_gift_cards_item","tags":["Gift cards"],"summary":"GET Gift cards by id","description":"Gift cards and store credit with balances and the balance ledger (read). Only the last four characters of a code are returned. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/gift_cards"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/payments":{"get":{"operationId":"get_payments","tags":["Online payments"],"summary":"GET Online payments","description":"Online store payment transactions (authorize, capture, refund, void) with fees and the posted receipt (read). Filter with `sales_order_id`. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/payments"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/payments/{id}":{"get":{"operationId":"get_payments_item","tags":["Online payments"],"summary":"GET Online payments by id","description":"Online store payment transactions (authorize, capture, refund, void) with fees and the posted receipt (read). Filter with `sales_order_id`. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payments"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/vendors":{"get":{"operationId":"get_vendors","tags":["Vendors"],"summary":"GET Vendors","description":"Supplier directory. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/vendors"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"post":{"operationId":"post_vendors","tags":["Vendors"],"summary":"POST Vendors","description":"Supplier directory. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"currency_code":{"type":"string"},"notes":{"type":"string"},"preferred_language":{"type":"string","nullable":true,"enum":["en","fr","ar","bilingual"]}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/vendors"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/vendors/{id}":{"get":{"operationId":"get_vendors_item","tags":["Vendors"],"summary":"GET Vendors by id","description":"Supplier directory. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/vendors"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"patch":{"operationId":"patch_vendors_item","tags":["Vendors"],"summary":"PATCH Vendors by id","description":"Supplier directory. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"currency_code":{"type":"string"},"notes":{"type":"string"},"preferred_language":{"type":"string","nullable":true,"enum":["en","fr","ar","bilingual"]}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/vendors"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/bills":{"get":{"operationId":"get_bills","tags":["Bills"],"summary":"GET Bills","description":"Vendor bills. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/bills"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/bills/{id}":{"get":{"operationId":"get_bills_item","tags":["Bills"],"summary":"GET Bills by id","description":"Vendor bills. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bills"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/bills/{id}/payments":{"get":{"operationId":"get_bills_item","tags":["Bills"],"summary":"List payments on a bill.","description":"Vendor bills. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"post":{"operationId":"post_bills_item","tags":["Bills"],"summary":"Record a payment on a bill.","description":"Vendor bills. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"number":{"type":"string"},"date":{"type":"string"},"due_date":{"type":"string"},"vendor_id":{"type":"string","nullable":true},"vendor_name":{"type":"string"},"currency_code":{"type":"string"},"amount_incl_vat_cents":{"type":"integer","description":"Bill total including VAT, minor units."},"remaining_cents":{"type":"integer","description":"Open balance in document currency, minor units."},"status":{"type":"string"}},"required":["id"]}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/items":{"get":{"operationId":"get_items","tags":["Items"],"summary":"GET Items","description":"Item catalog. Create or upsert by SKU; commerce product fields are additive on reads. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/items"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"post":{"operationId":"post_items","tags":["Items"],"summary":"POST Items","description":"Item catalog. Create or upsert by SKU; commerce product fields are additive on reads. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"SKU. Allocated when omitted."},"name":{"type":"string"},"description":{"type":"string"},"currency_code":{"type":"string"},"unit_price_cents":{"type":"integer","description":"List price in minor units."},"active":{"type":"boolean"},"upsert":{"type":"boolean","description":"When true with number, update the existing SKU."},"translations":{"type":"object"}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/items"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/items/{id}":{"get":{"operationId":"get_items_item","tags":["Items"],"summary":"GET Items by id","description":"Item catalog. Create or upsert by SKU; commerce product fields are additive on reads. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/items"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"patch":{"operationId":"patch_items_item","tags":["Items"],"summary":"PATCH Items by id","description":"Item catalog. Create or upsert by SKU; commerce product fields are additive on reads. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"SKU. Allocated when omitted."},"name":{"type":"string"},"description":{"type":"string"},"currency_code":{"type":"string"},"unit_price_cents":{"type":"integer","description":"List price in minor units."},"active":{"type":"boolean"},"upsert":{"type":"boolean","description":"When true with number, update the existing SKU."},"translations":{"type":"object"}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/items"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/items/upsert":{"post":{"operationId":"post_items_item","tags":["Items"],"summary":"Create or update an item by SKU (number).","description":"Item catalog. Create or upsert by SKU; commerce product fields are additive on reads. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"SKU. Allocated when omitted."},"name":{"type":"string"},"description":{"type":"string"},"currency_code":{"type":"string"},"unit_price_cents":{"type":"integer","description":"List price in minor units."},"active":{"type":"boolean"},"upsert":{"type":"boolean","description":"When true with number, update the existing SKU."},"translations":{"type":"object"}},"required":["name"]}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/products":{"get":{"operationId":"get_products","tags":["Products"],"summary":"GET Products","description":"Commerce catalogue view of items: variants, media, categories, attributes, links, translations, and store listings. Requires the commerce plan module and commerce mode on. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/products"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"post":{"operationId":"post_products","tags":["Products"],"summary":"POST Products","description":"Commerce catalogue view of items: variants, media, categories, attributes, links, translations, and store listings. Requires the commerce plan module and commerce mode on. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sku":{"type":"string"},"number":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"unit_price_cents":{"type":"integer","description":"List price in minor units."},"currency_code":{"type":"string"},"product_type":{"type":"string"},"brand":{"type":"string"},"brand_id":{"type":"string"},"translations":{"type":"object"},"media":{"type":"array","items":{"type":"object"}},"categories":{"type":"array","items":{"type":"object"}},"attributes":{"type":"array","items":{"type":"object"}},"variant_axes":{"type":"array","description":"Variant axes (code/name/values or attribute_id). Creates a variable product and generates missing variants.","items":{"type":"object"}},"upsert":{"type":"boolean"}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/products"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/products/{id}":{"get":{"operationId":"get_products_item","tags":["Products"],"summary":"GET Products by id","description":"Commerce catalogue view of items: variants, media, categories, attributes, links, translations, and store listings. Requires the commerce plan module and commerce mode on. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/products"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"patch":{"operationId":"patch_products_item","tags":["Products"],"summary":"PATCH Products by id","description":"Commerce catalogue view of items: variants, media, categories, attributes, links, translations, and store listings. Requires the commerce plan module and commerce mode on. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sku":{"type":"string"},"number":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"unit_price_cents":{"type":"integer","description":"List price in minor units."},"currency_code":{"type":"string"},"product_type":{"type":"string"},"brand":{"type":"string"},"brand_id":{"type":"string"},"translations":{"type":"object"},"media":{"type":"array","items":{"type":"object"}},"categories":{"type":"array","items":{"type":"object"}},"attributes":{"type":"array","items":{"type":"object"}},"variant_axes":{"type":"array","description":"Variant axes (code/name/values or attribute_id). Creates a variable product and generates missing variants.","items":{"type":"object"}},"upsert":{"type":"boolean"}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/products"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/products/upsert":{"post":{"operationId":"post_products_item","tags":["Products"],"summary":"Create or update a product by SKU.","description":"Commerce catalogue view of items: variants, media, categories, attributes, links, translations, and store listings. Requires the commerce plan module and commerce mode on. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sku":{"type":"string"},"number":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"unit_price_cents":{"type":"integer","description":"List price in minor units."},"currency_code":{"type":"string"},"product_type":{"type":"string"},"brand":{"type":"string"},"brand_id":{"type":"string"},"translations":{"type":"object"},"media":{"type":"array","items":{"type":"object"}},"categories":{"type":"array","items":{"type":"object"}},"attributes":{"type":"array","items":{"type":"object"}},"variant_axes":{"type":"array","description":"Variant axes (code/name/values or attribute_id). Creates a variable product and generates missing variants.","items":{"type":"object"}},"upsert":{"type":"boolean"}},"required":["name"]}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/products/bulk":{"post":{"operationId":"post_products_item","tags":["Products"],"summary":"Create or upsert up to 100 products.","description":"Commerce catalogue view of items: variants, media, categories, attributes, links, translations, and store listings. Requires the commerce plan module and commerce mode on. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sku":{"type":"string"},"number":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"unit_price_cents":{"type":"integer","description":"List price in minor units."},"currency_code":{"type":"string"},"product_type":{"type":"string"},"brand":{"type":"string"},"brand_id":{"type":"string"},"translations":{"type":"object"},"media":{"type":"array","items":{"type":"object"}},"categories":{"type":"array","items":{"type":"object"}},"attributes":{"type":"array","items":{"type":"object"}},"variant_axes":{"type":"array","description":"Variant axes (code/name/values or attribute_id). Creates a variable product and generates missing variants.","items":{"type":"object"}},"upsert":{"type":"boolean"}},"required":["name"]}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/categories":{"get":{"operationId":"get_categories","tags":["Categories"],"summary":"GET Categories","description":"Item category tree. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/categories"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"post":{"operationId":"post_categories","tags":["Categories"],"summary":"POST Categories","description":"Item category tree. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"parent_id":{"type":"string","nullable":true},"slug":{"type":"string"},"sort_order":{"type":"integer"},"active":{"type":"boolean"},"translations":{"type":"object"}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/categories"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/categories/{id}":{"get":{"operationId":"get_categories_item","tags":["Categories"],"summary":"GET Categories by id","description":"Item category tree. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/categories"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"patch":{"operationId":"patch_categories_item","tags":["Categories"],"summary":"PATCH Categories by id","description":"Item category tree. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"parent_id":{"type":"string","nullable":true},"slug":{"type":"string"},"sort_order":{"type":"integer"},"active":{"type":"boolean"},"translations":{"type":"object"}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/categories"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/brands":{"get":{"operationId":"get_brands","tags":["Brands"],"summary":"GET Brands","description":"Product brands. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/brands"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"post":{"operationId":"post_brands","tags":["Brands"],"summary":"POST Brands","description":"Product brands. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"website":{"type":"string"},"active":{"type":"boolean"},"logo_file_id":{"type":"string"},"translations":{"type":"object"}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/brands"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/brands/{id}":{"get":{"operationId":"get_brands_item","tags":["Brands"],"summary":"GET Brands by id","description":"Product brands. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/brands"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"patch":{"operationId":"patch_brands_item","tags":["Brands"],"summary":"PATCH Brands by id","description":"Product brands. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"website":{"type":"string"},"active":{"type":"boolean"},"logo_file_id":{"type":"string"},"translations":{"type":"object"}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/brands"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/attributes":{"get":{"operationId":"get_attributes","tags":["Attributes"],"summary":"GET Attributes","description":"Item attributes and variant axes. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/attributes"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"post":{"operationId":"post_attributes","tags":["Attributes"],"summary":"POST Attributes","description":"Item attributes and variant axes. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"type":{"type":"string"},"options":{"type":"array","items":{"type":"string"}},"is_variant_axis":{"type":"boolean"},"unit":{"type":"string"},"sort_order":{"type":"integer"},"active":{"type":"boolean"}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attributes"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/attributes/{id}":{"get":{"operationId":"get_attributes_item","tags":["Attributes"],"summary":"GET Attributes by id","description":"Item attributes and variant axes. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attributes"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"patch":{"operationId":"patch_attributes_item","tags":["Attributes"],"summary":"PATCH Attributes by id","description":"Item attributes and variant axes. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"type":{"type":"string"},"options":{"type":"array","items":{"type":"string"}},"is_variant_axis":{"type":"boolean"},"unit":{"type":"string"},"sort_order":{"type":"integer"},"active":{"type":"boolean"}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attributes"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/price-lists":{"get":{"operationId":"get_price_lists","tags":["Price lists"],"summary":"GET Price lists","description":"Sales and purchase price lists with lines. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/price_lists"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"post":{"operationId":"post_price_lists","tags":["Price lists"],"summary":"POST Price lists","description":"Sales and purchase price lists with lines. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"currency_code":{"type":"string"},"kind":{"type":"string"},"includes_vat":{"type":"boolean"},"lines":{"type":"array","items":{"type":"object"}},"active":{"type":"boolean"}},"required":["code"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/price_lists"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/price-lists/{id}":{"get":{"operationId":"get_price_lists_item","tags":["Price lists"],"summary":"GET Price lists by id","description":"Sales and purchase price lists with lines. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/price_lists"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"},"patch":{"operationId":"patch_price_lists_item","tags":["Price lists"],"summary":"PATCH Price lists by id","description":"Sales and purchase price lists with lines. Requires commerce mode. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"currency_code":{"type":"string"},"kind":{"type":"string"},"includes_vat":{"type":"boolean"},"lines":{"type":"array","items":{"type":"object"}},"active":{"type":"boolean"}},"required":["code"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/price_lists"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/recommendations":{"get":{"operationId":"get_recommendations","tags":["Product recommendations"],"summary":"GET Product recommendations","description":"Online store suggestions for a product page (`context=product&item_id=…`), a cart (`context=cart&item_ids=a,b`) or a customer's purchase history (`context=customer&customer_id=…`). Manual related, up-sell, cross-sell and accessory links come first; the store's same-category / same-brand rules and frequently-bought-together fill in only where no manual link exists. `fallback=true` tops the list up with best sellers. Optional `store` picks the store. Needs the online store module. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/recommendations"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/accounts":{"get":{"operationId":"get_accounts","tags":["Chart of accounts"],"summary":"GET Chart of accounts","description":"General ledger accounts (read). Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/accounts"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/accounts/{id}":{"get":{"operationId":"get_accounts_item","tags":["Chart of accounts"],"summary":"GET Chart of accounts by id","description":"General ledger accounts (read). Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/accounts"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/journals":{"get":{"operationId":"get_journals","tags":["Journals"],"summary":"GET Journals","description":"Posted journal entries (read). Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/journals"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/journals/{id}":{"get":{"operationId":"get_journals_item","tags":["Journals"],"summary":"GET Journals by id","description":"Posted journal entries (read). Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/journals"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/bank-accounts":{"get":{"operationId":"get_bank_accounts","tags":["Bank accounts"],"summary":"GET Bank accounts","description":"Workspace bank accounts (read). Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/bank_accounts"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/bank-accounts/{id}":{"get":{"operationId":"get_bank_accounts_item","tags":["Bank accounts"],"summary":"GET Bank accounts by id","description":"Workspace bank accounts (read). Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bank_accounts"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/currencies":{"get":{"operationId":"get_currencies","tags":["Currencies"],"summary":"GET Currencies","description":"Enabled workspace currencies (read). Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/currencies"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/exchange-rates":{"get":{"operationId":"get_exchange_rates","tags":["Exchange rates"],"summary":"GET Exchange rates","description":"Effective-dated FX rates (read). `rate` is LCY per 1 foreign unit. Requires the starter plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/exchange_rates"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"starter"}},"/v1/warehouses":{"get":{"operationId":"get_warehouses","tags":["Warehouses"],"summary":"GET Warehouses","description":"Inventory locations. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/warehouses"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/warehouses/{id}":{"get":{"operationId":"get_warehouses_item","tags":["Warehouses"],"summary":"GET Warehouses by id","description":"Inventory locations. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/warehouses"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/inventory/on-hand":{"get":{"operationId":"get_inventory_on_hand","tags":["Inventory on hand"],"summary":"GET Inventory on hand","description":"Stock on hand by item and location. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/inventory_on_hand"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/inventory/adjustments":{"get":{"operationId":"get_inventory_adjustments","tags":["Inventory adjustments"],"summary":"GET Inventory adjustments","description":"Stock adjustments. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/inventory_adjustments"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/inventory/adjustments/{id}":{"get":{"operationId":"get_inventory_adjustments_item","tags":["Inventory adjustments"],"summary":"GET Inventory adjustments by id","description":"Stock adjustments. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inventory_adjustments"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/inventory/transfers":{"get":{"operationId":"get_inventory_transfers","tags":["Inventory transfers"],"summary":"GET Inventory transfers","description":"Stock transfers between locations. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/inventory_transfers"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/inventory/transfers/{id}":{"get":{"operationId":"get_inventory_transfers_item","tags":["Inventory transfers"],"summary":"GET Inventory transfers by id","description":"Stock transfers between locations. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inventory_transfers"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/employees":{"get":{"operationId":"get_employees","tags":["Employees"],"summary":"GET Employees","description":"Employee directory. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/employees"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/employees/{id}":{"get":{"operationId":"get_employees_item","tags":["Employees"],"summary":"GET Employees by id","description":"Employee directory. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/leave":{"get":{"operationId":"get_leave","tags":["Leave"],"summary":"GET Leave","description":"Leave requests. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/leave"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/leave/{id}":{"get":{"operationId":"get_leave_item","tags":["Leave"],"summary":"GET Leave by id","description":"Leave requests. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/leave"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/attendance":{"get":{"operationId":"get_attendance","tags":["Attendance"],"summary":"GET Attendance","description":"Attendance punches. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/attendance"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/holidays":{"get":{"operationId":"get_holidays","tags":["Holidays"],"summary":"GET Holidays","description":"Public holidays. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/holidays"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/payroll":{"get":{"operationId":"get_payroll","tags":["Payroll runs"],"summary":"GET Payroll runs","description":"Pay runs. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/payroll"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/payroll/{id}":{"get":{"operationId":"get_payroll_item","tags":["Payroll runs"],"summary":"GET Payroll runs by id","description":"Pay runs. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/leads":{"get":{"operationId":"get_leads","tags":["Leads"],"summary":"GET Leads","description":"Sales leads. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/leads"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"},"post":{"operationId":"post_leads","tags":["Leads"],"summary":"POST Leads","description":"Sales leads. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"company":{"type":"string"},"contact":{"type":"string"},"email":{"type":"string"},"phones":{"type":"string"},"notes":{"type":"string"},"preferred_language":{"type":"string","nullable":true,"enum":["en","fr","ar","bilingual"]}},"required":["company"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/leads"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/leads/{id}":{"get":{"operationId":"get_leads_item","tags":["Leads"],"summary":"GET Leads by id","description":"Sales leads. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/leads"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/tasks":{"get":{"operationId":"get_tasks","tags":["Tasks"],"summary":"GET Tasks","description":"Workspace tasks. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/tasks"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/tasks/{id}":{"get":{"operationId":"get_tasks_item","tags":["Tasks"],"summary":"GET Tasks by id","description":"Workspace tasks. Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/calendar/events":{"get":{"operationId":"get_calendar","tags":["Calendar events"],"summary":"GET Calendar events","description":"Meetings and calendar events (not Google sync). Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/calendar"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/calendar/events/{id}":{"get":{"operationId":"get_calendar_item","tags":["Calendar events"],"summary":"GET Calendar events by id","description":"Meetings and calendar events (not Google sync). Requires the growth plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/calendar"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"growth"}},"/v1/commerce-imports":{"get":{"operationId":"get_commerce-imports","tags":["Commerce imports"],"summary":"GET Commerce imports","description":"Bulk CSV/XLSX/JSON jobs for the online-store catalogue (products, categories, brands, attributes, customers, promotions, shipping, stock). Same upsert keys as Settings → Data. Requires commerce mode. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/commerce-imports"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"},"post":{"operationId":"post_commerce-imports","tags":["Commerce imports"],"summary":"POST Commerce imports","description":"Bulk CSV/XLSX/JSON jobs for the online-store catalogue (products, categories, brands, attributes, customers, promotions, shipping, stock). Same upsert keys as Settings → Data. Requires commerce mode. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string"},"dry_run":{"type":"boolean"},"rows":{"type":"array","items":{"type":"object"}}},"required":["kind","rows"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/commerce-imports"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/commerce-imports/{id}":{"get":{"operationId":"get_commerce-imports_item","tags":["Commerce imports"],"summary":"GET Commerce imports by id","description":"Bulk CSV/XLSX/JSON jobs for the online-store catalogue (products, categories, brands, attributes, customers, promotions, shipping, stock). Same upsert keys as Settings → Data. Requires commerce mode. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/commerce-imports"}}}},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/commerce-imports/templates":{"get":{"operationId":"get_commerce-imports_item","tags":["Commerce imports"],"summary":"Downloadable CSV template for a kind.","description":"Bulk CSV/XLSX/JSON jobs for the online-store catalogue (products, categories, brands, attributes, customers, promotions, shipping, stock). Same upsert keys as Settings → Data. Requires commerce mode. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}},"/v1/commerce-imports/snapshot":{"get":{"operationId":"get_commerce-imports_item","tags":["Commerce imports"],"summary":"Current catalogue kind in template columns (same as Settings export).","description":"Bulk CSV/XLSX/JSON jobs for the online-store catalogue (products, categories, brands, attributes, customers, promotions, shipping, stock). Same upsert keys as Settings → Data. Requires commerce mode. Requires the business plan or higher.","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Forbidden or plan required"},"404":{"description":"Not found"},"429":{"description":"Rate limited"}},"x-min-plan":"business"}}},"components":{"schemas":{"me":{"type":"object","properties":{"org":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true}}},"plan":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"}}},"key":{"type":"object","properties":{"name":{"type":"string"},"role":{"type":"string"},"prefix":{"type":"string"},"expires_at":{"type":"string","nullable":true}}}}},"clients":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"name":{"type":"string"},"email":{"type":"string"},"phones":{"type":"string"},"contact":{"type":"string"},"address":{"type":"string","nullable":true},"currency_code":{"type":"string"},"payment_terms_code":{"type":"string","nullable":true},"payment_method_code":{"type":"string","nullable":true},"notes":{"type":"string"},"active":{"type":"boolean"},"customer_no":{"type":"string","nullable":true},"preferred_language":{"type":"string","nullable":true,"enum":["en","fr","ar","bilingual"]},"created":{"type":"string"},"addresses":{"type":"array","description":"Address book. The default billing address is mirrored into `address`.","items":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"label":{"type":"string"},"kind":{"type":"string","enum":["billing","shipping","both"]},"contact_name":{"type":"string"},"company":{"type":"string"},"phone":{"type":"string"},"email":{"type":"string"},"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postal_code":{"type":"string"},"country_code":{"type":"string","description":"ISO 3166-1 alpha-2."},"lat":{"type":"number","nullable":true},"lng":{"type":"number","nullable":true},"is_default_billing":{"type":"boolean"},"is_default_shipping":{"type":"boolean"},"notes":{"type":"string"}},"required":["id","kind","is_default_billing","is_default_shipping"]}}},"required":["id","name","active"]},"invoices":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"number":{"type":"string","description":"Document number shown to the customer."},"status":{"type":"string"},"date":{"type":"string"},"due_date":{"type":"string"},"client_id":{"type":"string","nullable":true},"client_name":{"type":"string"},"currency_code":{"type":"string"},"amount_excl_vat_cents":{"type":"integer","description":"Amount excluding VAT, in minor units."},"vat_amount_cents":{"type":"integer","description":"VAT in minor units."},"amount_incl_vat_cents":{"type":"integer","description":"Amount including VAT, in minor units."},"remaining_cents":{"type":"integer","description":"Open balance in document currency, minor units."},"notes":{"type":"string"}},"required":["id","number","status","date"]},"quotes":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"number":{"type":"string"},"status":{"type":"string"},"date":{"type":"string"},"client_id":{"type":"string","nullable":true},"client_name":{"type":"string"},"currency_code":{"type":"string"},"amount_incl_vat_cents":{"type":"integer","description":"Quote total including VAT, minor units."}},"required":["id"]},"credit_notes":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"number":{"type":"string"},"date":{"type":"string"},"client_id":{"type":"string","nullable":true},"invoice_id":{"type":"string","nullable":true},"currency_code":{"type":"string"},"amount_incl_vat_cents":{"type":"integer","description":"Credit total including VAT, minor units."},"status":{"type":"string"}},"required":["id"]},"stores":{"type":"object","properties":{"id":{"type":"string","description":"Sales channel id of the store."},"code":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","enum":["draft","live","maintenance"]},"primary_url":{"type":"string","description":"Public https URL, or empty when the store has no domain yet."},"primary_host":{"type":"string"},"primary_kind":{"type":"string","enum":["custom","free",""]}},"required":["id","code","name","status","primary_url"]},"sales_orders":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"number":{"type":"string","description":"Order number shown to the customer."},"status":{"type":"string","description":"draft, confirmed, partially_delivered, delivered, partially_invoiced, invoiced, cancelled."},"date":{"type":"string"},"client_id":{"type":"string","nullable":true},"client_name":{"type":"string"},"currency_code":{"type":"string"},"amount_excl_vat_cents":{"type":"integer","description":"Amount excluding VAT, in minor units."},"vat_amount_cents":{"type":"integer","description":"VAT in minor units."},"amount_incl_vat_cents":{"type":"integer","description":"Amount including VAT, in minor units."},"amount_incl_vat_lcy_cents":{"type":"integer","description":"Amount including VAT in the workspace currency, minor units."},"qty_ordered_milli":{"type":"integer","description":"Ordered quantity × 1000, all lines."},"qty_delivered_milli":{"type":"integer"},"qty_invoiced_milli":{"type":"integer"},"channel_id":{"type":"string","nullable":true,"description":"Online store channel; null for back-office orders."},"channel_name":{"type":"string"},"payment_status":{"type":"string","nullable":true,"enum":["unpaid","awaiting","paid","partially_refunded","refunded","failed","cancelled","not_applicable"],"description":"Online orders only; null for back-office orders."},"shipping_status":{"type":"string","nullable":true,"enum":["not_shipped","partially_shipped","shipped","delivered"],"description":"Online orders only; null for back-office orders."},"created":{"type":"string"},"lines":{"type":"array","description":"Returned on GET by id.","items":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"item_id":{"type":"string","nullable":true},"description":{"type":"string"},"qty_milli":{"type":"integer"},"unit_cents":{"type":"integer","description":"Unit price in minor units."},"vat_bps":{"type":"integer"},"amount_excl_vat_cents":{"type":"integer","description":"Line amount excluding VAT."},"amount_incl_vat_cents":{"type":"integer","description":"Line amount including VAT."},"qty_delivered_milli":{"type":"integer"},"qty_invoiced_milli":{"type":"integer"},"qty_cancelled_milli":{"type":"integer"}}}}},"required":["id","number","status","date"]},"shipments":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"sales_order_id":{"type":"string"},"order_number":{"type":"string"},"customer_name":{"type":"string"},"document_number":{"type":"string","description":"Delivery document number."},"status":{"type":"string","enum":["shipped","in_transit","delivered"]},"tracking_status":{"type":"string","nullable":true,"description":"Latest normalised tracking milestone."},"tracking_status_at":{"type":"string","nullable":true},"carrier":{"type":"string"},"service":{"type":"string"},"tracking_no":{"type":"string"},"carrier_tracking_url":{"type":"string"},"tracking_url":{"type":"string","description":"Customer tracking page (GET by id)."},"shipping_method_id":{"type":"string","nullable":true},"shipping_method_name":{"type":"string"},"cost_cents":{"type":"integer","description":"Shipping cost in minor units."},"currency_code":{"type":"string"},"package_count":{"type":"integer"},"qty_milli":{"type":"integer"},"shipped_at":{"type":"string","nullable":true},"delivered_at":{"type":"string","nullable":true},"notes":{"type":"string"},"created":{"type":"string"},"packages":{"type":"array","items":{"type":"object"},"description":"GET by id."},"lines":{"type":"array","items":{"type":"object"},"description":"GET by id."},"events":{"type":"array","items":{"type":"object"},"description":"Tracking timeline, newest first (GET by id)."}},"required":["id","sales_order_id","status"]},"returns":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"sales_order_id":{"type":"string"},"order_number":{"type":"string"},"client_id":{"type":"string","nullable":true},"customer_name":{"type":"string"},"channel_id":{"type":"string"},"status":{"type":"string","enum":["requested","approved","received","refunded","rejected","exchanged"]},"disposition":{"type":"string","nullable":true,"enum":["provider","store_credit","exchange"]},"reason_code":{"type":"string"},"customer_note":{"type":"string"},"currency_code":{"type":"string"},"amount_incl_vat_cents":{"type":"integer","description":"Value of the returned lines including VAT, minor units."},"credit_note_id":{"type":"string","nullable":true},"exchange_sales_order_id":{"type":"string","nullable":true},"requested_at":{"type":"string"},"approved_at":{"type":"string","nullable":true},"received_at":{"type":"string","nullable":true},"rejected_at":{"type":"string","nullable":true},"line_count":{"type":"integer","description":"On list responses."},"lines":{"type":"array","items":{"type":"object"},"description":"On GET by id."}},"required":["id","sales_order_id","status"]},"promotions":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"name":{"type":"string"},"description":{"type":"string"},"kind":{"type":"string","enum":["automatic","code"]},"status":{"type":"string"},"reward_type":{"type":"string"},"reward_percent_bps":{"type":"integer","description":"Percent off in basis points (1000 = 10%)."},"reward_amount_cents":{"type":"integer","description":"Fixed discount in minor units."},"max_discount_cents":{"type":"integer","description":"Discount cap in minor units; 0 = no cap."},"currency_code":{"type":"string"},"reward":{"type":"object"},"conditions":{"type":"object"},"priority":{"type":"integer"},"stackable":{"type":"boolean"},"max_uses_total":{"type":"integer"},"max_uses_per_customer":{"type":"integer"},"uses_count":{"type":"integer"},"active":{"type":"boolean"},"code_count":{"type":"integer"},"orders":{"type":"integer","description":"Documents with a live redemption."},"discount_lcy_cents":{"type":"integer","description":"Discount given, workspace currency."},"revenue_lcy_cents":{"type":"integer","description":"Net revenue of those documents, workspace currency."},"created":{"type":"string"}},"required":["id","name","kind"]},"gift_cards":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"code_last4":{"type":"string"},"currency_code":{"type":"string"},"initial_cents":{"type":"integer","description":"Issued value, minor units."},"balance_cents":{"type":"integer","description":"Remaining balance, minor units."},"status":{"type":"string","enum":["active","void","expired","depleted"]},"client_id":{"type":"string","nullable":true},"store_credit":{"type":"boolean","description":"True when the card belongs to a client (store credit)."},"expires_on":{"type":"string","nullable":true},"issued_at":{"type":"string"},"entries":{"type":"array","items":{"type":"object"},"description":"Balance ledger (GET by id)."}},"required":["id","currency_code","balance_cents","status"]},"payments":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"channel_id":{"type":"string"},"method_id":{"type":"string"},"provider":{"type":"string"},"sales_order_id":{"type":"string","nullable":true},"source_kind":{"type":"string"},"source_id":{"type":"string"},"parent_id":{"type":"string","nullable":true},"kind":{"type":"string","enum":["authorize","capture","refund","void"]},"status":{"type":"string","enum":["pending","requires_action","succeeded","failed","cancelled"]},"amount_cents":{"type":"integer","description":"Amount in minor units of currency_code."},"currency_code":{"type":"string"},"fee_cents":{"type":"integer","description":"Provider fee in minor units."},"amount_lcy_cents":{"type":"integer","description":"Amount in the workspace currency."},"fee_lcy_cents":{"type":"integer","description":"Fee in the workspace currency."},"provider_reference":{"type":"string","description":"The provider's payment id, for reconciliation."},"accounting_status":{"type":"string"},"receipt_transaction_id":{"type":"string","nullable":true},"payout_id":{"type":"string","nullable":true},"created":{"type":"string"},"updated":{"type":"string"},"children":{"type":"array","items":{"type":"object"},"description":"Captures/refunds under an authorization (GET by id)."}},"required":["id","kind","status","amount_cents","currency_code"]},"vendors":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"currency_code":{"type":"string"},"notes":{"type":"string"},"active":{"type":"boolean"},"vendor_no":{"type":"string","nullable":true},"preferred_language":{"type":"string","nullable":true,"enum":["en","fr","ar","bilingual"]}},"required":["id","name"]},"bills":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"number":{"type":"string"},"date":{"type":"string"},"due_date":{"type":"string"},"vendor_id":{"type":"string","nullable":true},"vendor_name":{"type":"string"},"currency_code":{"type":"string"},"amount_incl_vat_cents":{"type":"integer","description":"Bill total including VAT, minor units."},"remaining_cents":{"type":"integer","description":"Open balance in document currency, minor units."},"status":{"type":"string"}},"required":["id"]},"items":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"number":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"currency_code":{"type":"string"},"unit_price_cents":{"type":"integer","description":"List price in minor units."},"active":{"type":"boolean"},"product_type":{"type":"string","description":"simple, variable, and other catalogue types."},"brand_id":{"type":"string","nullable":true},"brand":{"type":"string"},"slug":{"type":"string"},"parent_item_id":{"type":"string","nullable":true},"variant_label":{"type":"string"},"imageUrl":{"type":"string","description":"Original file, parent photo, category image, or placeholder."},"thumbnailUrl":{"type":"string"},"isPlaceholder":{"type":"boolean"},"image_url":{"type":"string"},"thumbnail_url":{"type":"string"},"is_placeholder":{"type":"boolean"},"translations":{"type":"object","description":"French and Arabic catalogue text. The name and description fields stay English.","properties":{"name":{"type":"object","properties":{"fr":{"type":"string"},"ar":{"type":"string"}}},"description":{"type":"object","properties":{"fr":{"type":"string"},"ar":{"type":"string"}}},"short_description":{"type":"object","properties":{"fr":{"type":"string"},"ar":{"type":"string"}}},"long_description":{"type":"object","properties":{"fr":{"type":"string"},"ar":{"type":"string"}}},"meta_title":{"type":"object","properties":{"fr":{"type":"string"},"ar":{"type":"string"}}},"meta_description":{"type":"object","properties":{"fr":{"type":"string"},"ar":{"type":"string"}}}}}},"required":["id"]},"products":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"number":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"currency_code":{"type":"string"},"unit_price_cents":{"type":"integer","description":"List price in minor units."},"active":{"type":"boolean"},"product_type":{"type":"string"},"brand_id":{"type":"string","nullable":true},"brand":{"type":"string"},"slug":{"type":"string"},"imageUrl":{"type":"string","description":"Original file, parent photo, category image, or placeholder."},"thumbnailUrl":{"type":"string"},"isPlaceholder":{"type":"boolean"},"image_url":{"type":"string"},"thumbnail_url":{"type":"string"},"is_placeholder":{"type":"boolean"},"translations":{"type":"object"},"categories":{"type":"array","items":{"type":"object"}},"attributes":{"type":"array","items":{"type":"object"}},"links":{"type":"array","items":{"type":"object"}},"media":{"type":"array","items":{"type":"object"}},"variants":{"type":"array","items":{"type":"object"}},"listings":{"type":"array","items":{"type":"object"}}},"required":["id","number","name"]},"categories":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"parent_id":{"type":"string","nullable":true},"name":{"type":"string"},"slug":{"type":"string"},"sort_order":{"type":"integer"},"active":{"type":"boolean"},"item_count":{"type":"integer"},"is_featured":{"type":"boolean"},"show_in_menu":{"type":"boolean"},"translations":{"type":"object"}},"required":["id","name"]},"brands":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"name":{"type":"string"},"slug":{"type":"string"},"active":{"type":"boolean"},"website":{"type":"string"},"logo_file_id":{"type":"string","nullable":true},"translations":{"type":"object"}},"required":["id","name"]},"attributes":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"code":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"options":{"type":"array","items":{"type":"string"}},"unit":{"type":"string"},"is_variant_axis":{"type":"boolean"},"sort_order":{"type":"integer"},"active":{"type":"boolean"}},"required":["id","code","name"]},"price_lists":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"code":{"type":"string"},"name":{"type":"string"},"currency_code":{"type":"string"},"kind":{"type":"string"},"includes_vat":{"type":"boolean"},"valid_from":{"type":"string"},"valid_to":{"type":"string"},"priority":{"type":"integer"},"active":{"type":"boolean"},"lines":{"type":"array","items":{"type":"object"}}},"required":["id","code","name"]},"recommendations":{"type":"object","properties":{"item_id":{"type":"string","description":"Suggested item id"},"number":{"type":"string"},"name":{"type":"string"},"currency_code":{"type":"string","description":"Blank means the workspace currency."},"unit_price_cents":{"type":"integer","description":"List price in minor units."},"section":{"type":"string","enum":["related","upsell","accessory","cross_sell"]},"source":{"type":"string","enum":["manual","same_category","same_brand","fbt","best_seller"]},"score_bps":{"type":"integer","description":"Frequently-bought-together confidence in basis points; 0 for manual links."},"position":{"type":"integer","description":"Order inside the section, from 0."}},"required":["item_id","section","source","position"]},"accounts":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"code":{"type":"string"},"name":{"type":"string"},"account_type":{"type":"string"},"parent_code":{"type":"string","nullable":true},"active":{"type":"boolean"}},"required":["id","code","name"]},"journals":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"number":{"type":"string"},"date":{"type":"string"},"memo":{"type":"string"},"status":{"type":"string"},"lines":{"type":"array","items":{"type":"object"}}},"required":["id"]},"bank_accounts":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"name":{"type":"string"},"currency_code":{"type":"string"},"iban":{"type":"string","nullable":true},"account_no":{"type":"string","nullable":true},"active":{"type":"boolean"}},"required":["id","name"]},"currencies":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"active":{"type":"boolean"}},"required":["code"]},"exchange_rates":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"currency_code":{"type":"string"},"starting_date":{"type":"string"},"rate":{"type":"number","description":"LCY per 1 foreign unit."}},"required":["id","currency_code","starting_date","rate"]},"warehouses":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"code":{"type":"string"},"name":{"type":"string"},"active":{"type":"boolean"}},"required":["id"]},"inventory_on_hand":{"type":"object","properties":{"item_id":{"type":"string"},"location_id":{"type":"string","nullable":true},"qty":{"type":"number"}}},"inventory_adjustments":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"date":{"type":"string"},"status":{"type":"string"},"memo":{"type":"string"}},"required":["id"]},"inventory_transfers":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"date":{"type":"string"},"status":{"type":"string"}},"required":["id"]},"employees":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"name":{"type":"string"},"email":{"type":"string"},"status":{"type":"string"},"hired_on":{"type":"string","nullable":true}},"required":["id"]},"leave":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"employee_id":{"type":"string"},"status":{"type":"string"},"start_date":{"type":"string"},"end_date":{"type":"string"}},"required":["id"]},"attendance":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"employee_id":{"type":"string"},"punched_at":{"type":"string"},"kind":{"type":"string"}},"required":["id"]},"holidays":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"name":{"type":"string"},"date":{"type":"string"}},"required":["id","name","date"]},"payroll":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"status":{"type":"string"},"period_start":{"type":"string"},"period_end":{"type":"string"}},"required":["id"]},"leads":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"name":{"type":"string"},"status":{"type":"string"},"email":{"type":"string"},"preferred_language":{"type":"string","nullable":true,"enum":["en","fr","ar","bilingual"]}},"required":["id"]},"tasks":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"title":{"type":"string"},"status":{"type":"string"},"due_date":{"type":"string","nullable":true}},"required":["id"]},"calendar":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"title":{"type":"string"},"starts_at":{"type":"string"},"ends_at":{"type":"string","nullable":true}},"required":["id"]},"commerce-imports":{"type":"object","properties":{"id":{"type":"string","description":"Record id"},"kind":{"type":"string"},"status":{"type":"string"},"dryRun":{"type":"boolean"},"createdCount":{"type":"integer"},"updatedCount":{"type":"integer"},"errorCount":{"type":"integer"}},"required":["id"]}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key","description":"Org API key created in Settings → API keys."}}},"tags":[{"name":"Current key","description":"Workspace and plan for the API key making the request."},{"name":"Clients","description":"Customer directory."},{"name":"Invoices","description":"Sales invoices."},{"name":"Quotes","description":"Sales quotes."},{"name":"Credit notes","description":"Customer credit notes."},{"name":"Stores","description":"Online stores in this workspace. Each row includes the public primary URL (a verified custom domain when one is active, otherwise the free store address)."},{"name":"Sales orders","description":"Sales orders, including online store orders. Online orders add the store channel, payment status and shipping status. Filter with `status`, `client_id`, `channel_id`, or `online=true`."},{"name":"Shipments","description":"Shipments on sales-order deliveries, with packages and the tracking timeline. POST ships an order (all remaining lines when `lines` is omitted) through the same delivery as the Shipments screen. Filter with `status` or `sales_order_id`. Requires commerce mode."},{"name":"Returns","description":"Customer return requests (RMA) on online orders, with lines and refund outcome (read). Filter with `status` or `sales_order_id`."},{"name":"Promotions","description":"Promotions and coupon codes with usage totals. Archived promotions are not listed."},{"name":"Gift cards","description":"Gift cards and store credit with balances and the balance ledger (read). Only the last four characters of a code are returned."},{"name":"Online payments","description":"Online store payment transactions (authorize, capture, refund, void) with fees and the posted receipt (read). Filter with `sales_order_id`."},{"name":"Vendors","description":"Supplier directory."},{"name":"Bills","description":"Vendor bills."},{"name":"Items","description":"Item catalog. Create or upsert by SKU; commerce product fields are additive on reads."},{"name":"Products","description":"Commerce catalogue view of items: variants, media, categories, attributes, links, translations, and store listings. Requires the commerce plan module and commerce mode on."},{"name":"Categories","description":"Item category tree. Requires commerce mode."},{"name":"Brands","description":"Product brands. Requires commerce mode."},{"name":"Attributes","description":"Item attributes and variant axes. Requires commerce mode."},{"name":"Price lists","description":"Sales and purchase price lists with lines. Requires commerce mode."},{"name":"Product recommendations","description":"Online store suggestions for a product page (`context=product&item_id=…`), a cart (`context=cart&item_ids=a,b`) or a customer's purchase history (`context=customer&customer_id=…`). Manual related, up-sell, cross-sell and accessory links come first; the store's same-category / same-brand rules and frequently-bought-together fill in only where no manual link exists. `fallback=true` tops the list up with best sellers. Optional `store` picks the store. Needs the online store module."},{"name":"Chart of accounts","description":"General ledger accounts (read)."},{"name":"Journals","description":"Posted journal entries (read)."},{"name":"Bank accounts","description":"Workspace bank accounts (read)."},{"name":"Currencies","description":"Enabled workspace currencies (read)."},{"name":"Exchange rates","description":"Effective-dated FX rates (read). `rate` is LCY per 1 foreign unit."},{"name":"Warehouses","description":"Inventory locations."},{"name":"Inventory on hand","description":"Stock on hand by item and location."},{"name":"Inventory adjustments","description":"Stock adjustments."},{"name":"Inventory transfers","description":"Stock transfers between locations."},{"name":"Employees","description":"Employee directory."},{"name":"Leave","description":"Leave requests."},{"name":"Attendance","description":"Attendance punches."},{"name":"Holidays","description":"Public holidays."},{"name":"Payroll runs","description":"Pay runs."},{"name":"Leads","description":"Sales leads."},{"name":"Tasks","description":"Workspace tasks."},{"name":"Calendar events","description":"Meetings and calendar events (not Google sync)."},{"name":"Commerce imports","description":"Bulk CSV/XLSX/JSON jobs for the online-store catalogue (products, categories, brands, attributes, customers, promotions, shipping, stock). Same upsert keys as Settings → Data. Requires commerce mode."}]}