Adyvance Developers
API Reference
Every endpoint of the REST API, built from the same OpenAPI file the API is tested against. Paths are relative to https://app.adyvance.com/_public/v1.
Download the OpenAPI 3.1 file (version 2026-10-01) to generate a client or import it into Postman or Insomnia.
Orders
Read orders, edit their note and tags, and move them through their statuses.
List orders
/orgs/{orgId}/stores/{storeId}/ordersNeeds orders.read
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string | |
storeId | path | string | |
cursor | query | string | Opaque keyset cursor from next_cursor |
limit | query | integer | Page size (1–100). 1 to 100 |
status | query | string | Order status. One of: draft, pending, confirmed, processing, ready, shipped, delivered, completed, cancelled, returned |
payment_status | query | string | Payment status. One of: unpaid, partial, paid, refunded, partially_refunded, awaiting_verification, overpaid |
Example
curl "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/orders" \
-H "Authorization: Bearer $ADYVANCE_API_KEY"200 ResponseOrderList
dataarray of object15 fields in
dataidstringnumberstringchannelstringOne of:
web,pos,manual,headless,marketplace,aistatusstringOne of:
draft,pending,confirmed,processing,ready,shipped,delivered,completed,cancelled,returnedpayment_statusstringOne of:
unpaid,partial,paid,refunded,partially_refunded,awaiting_verification,overpaidfulfilment_statusstringpayment_methodstringcustomer_idstring or nullcontactobject3 fields in
contactnamestringphonestringemailstring or null
total_paisaintegerInteger paisa (1 NPR = 100 paisa)
due_paisaintegerInteger paisa (1 NPR = 100 paisa)
is_testbooleanplaced_atstring or nullupdated_atstringISO-8601 UTC timestamp
versioninteger
next_cursorstring or null
Errors:400401403404409429what they mean
Get an order
/orgs/{orgId}/stores/{storeId}/orders/{orderId}Needs orders.read
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string | |
storeId | path | string | |
orderId | path | string |
Example
curl "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/orders/ord_…" \
-H "Authorization: Bearer $ADYVANCE_API_KEY"200 ResponseOrder
idstringnumberstringchannelstringOne of:
web,pos,manual,headless,marketplace,aistatusstringOne of:
draft,pending,confirmed,processing,ready,shipped,delivered,completed,cancelled,returnedpayment_statusstringOne of:
unpaid,partial,paid,refunded,partially_refunded,awaiting_verification,overpaidfulfilment_statusstringpayment_methodstringcustomer_idstring or nullcontactobject3 fields in
contactnamestringphonestringemailstring or null
total_paisaintegerInteger paisa (1 NPR = 100 paisa)
due_paisaintegerInteger paisa (1 NPR = 100 paisa)
is_testbooleanplaced_atstring or nullupdated_atstringISO-8601 UTC timestamp
versionintegertotalsobject6 fields in
totalssubtotalintegerInteger paisa (1 NPR = 100 paisa)
discountintegerInteger paisa (1 NPR = 100 paisa)
deliveryintegerInteger paisa (1 NPR = 100 paisa)
surchargeintegerInteger paisa (1 NPR = 100 paisa)
taxintegerInteger paisa (1 NPR = 100 paisa)
totalintegerInteger paisa (1 NPR = 100 paisa)
linesarray of object6 fields in
linesidstringvariant_idstringtitlestringqtyintegerunit_price_paisaintegerInteger paisa (1 NPR = 100 paisa)
line_total_paisaintegerInteger paisa (1 NPR = 100 paisa)
Errors:400401403404409429what they mean
Update an order's note or tags
/orgs/{orgId}/stores/{storeId}/orders/{orderId}Needs orders.update
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string | |
storeId | path | string | |
orderId | path | string |
Headers
If-Match | The order's version from your last read, written as "v7" (with the quotes). If the order changed since, the request is refused with 412. |
Request body OrderPatch
notestring or nulltagsarray of string
Example
curl -X PATCH "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/orders/ord_…" \
-H "Authorization: Bearer $ADYVANCE_API_KEY" \
-H 'If-Match: "v7"' \
-H "Content-Type: application/json" \
-d '{}'200 ResponseOrderSummary
idstringnumberstringchannelstringOne of:
web,pos,manual,headless,marketplace,aistatusstringOne of:
draft,pending,confirmed,processing,ready,shipped,delivered,completed,cancelled,returnedpayment_statusstringOne of:
unpaid,partial,paid,refunded,partially_refunded,awaiting_verification,overpaidfulfilment_statusstringpayment_methodstringcustomer_idstring or nullcontactobject3 fields in
contactnamestringphonestringemailstring or null
total_paisaintegerInteger paisa (1 NPR = 100 paisa)
due_paisaintegerInteger paisa (1 NPR = 100 paisa)
is_testbooleanplaced_atstring or nullupdated_atstringISO-8601 UTC timestamp
versioninteger
Errors:400401403404409429what they mean
Change an order's status
/orgs/{orgId}/stores/{storeId}/orders/{orderId}/transitionsNeeds orders.update
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string | |
storeId | path | string | |
orderId | path | string |
Headers
Idempotency-Key | Required. A new unique value for each change, such as a UUID (1 to 128 characters). Sending the same key and body again within 24 hours returns the first result instead of repeating the change. |
Request body OrderTransition
tostringrequiredOne of:
draft,pending,confirmed,processing,ready,shipped,delivered,completed,cancelled,returnedreasonstringUp to 500 characters
Example
curl -X POST "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/orders/ord_…/transitions" \
-H "Authorization: Bearer $ADYVANCE_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"to":"draft"}'200 ResponseOrderSummary
idstringnumberstringchannelstringOne of:
web,pos,manual,headless,marketplace,aistatusstringOne of:
draft,pending,confirmed,processing,ready,shipped,delivered,completed,cancelled,returnedpayment_statusstringOne of:
unpaid,partial,paid,refunded,partially_refunded,awaiting_verification,overpaidfulfilment_statusstringpayment_methodstringcustomer_idstring or nullcontactobject3 fields in
contactnamestringphonestringemailstring or null
total_paisaintegerInteger paisa (1 NPR = 100 paisa)
due_paisaintegerInteger paisa (1 NPR = 100 paisa)
is_testbooleanplaced_atstring or nullupdated_atstringISO-8601 UTC timestamp
versioninteger
Errors:400401403404409429what they mean
Products
Read and write products, their variants and the categories they sit in.
List products
/orgs/{orgId}/stores/{storeId}/productsNeeds products.read
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string | |
storeId | path | string | |
cursor | query | string | Opaque keyset cursor from next_cursor |
limit | query | integer | Page size (1–100). 1 to 100 |
q | query | string | Search text. Up to 200 characters |
Example
curl "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/products" \
-H "Authorization: Bearer $ADYVANCE_API_KEY"200 ResponseProductList
dataarray of object11 fields in
dataidstringtitlestringslugstringstatusstringchannelsarray of stringprice_min_paisaintegerInteger paisa (1 NPR = 100 paisa)
price_max_paisaintegerInteger paisa (1 NPR = 100 paisa)
variant_countintegerimageobject or null1 field in
imageasset_idstring
updated_atstringISO-8601 UTC timestamp
versioninteger
next_cursorstring or null
Errors:400401403404409429what they mean
Create a product
/orgs/{orgId}/stores/{storeId}/productsNeeds products.write
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string | |
storeId | path | string |
Headers
Idempotency-Key | Required. A new unique value for each change, such as a UUID (1 to 128 characters). Sending the same key and body again within 24 hours returns the first result instead of repeating the change. |
Request body ProductCreate
titlestringrequiredUp to 200 characters
statusstringOne of:
draft,active,archived,unlisteddescription_htmlstringUp to 60000 characters
variantsarray of objectrequiredAt least 1 item
2 fields in
variantsprice_paisaintegerrequiredInteger paisa (1 NPR = 100 paisa)
skustring
Example
curl -X POST "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/products" \
-H "Authorization: Bearer $ADYVANCE_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"title":"Green kurta","variants":[{"price_paisa":420000}]}'201 ResponseProduct
idstringstore_idstringtitlestringslugstringstatusstringchannelsarray of stringvariantsarray of object7 fields in
variantsidstringtitlestringskustring or nullprice_paisaintegerInteger paisa (1 NPR = 100 paisa)
compare_at_paisainteger or nullactivebooleanversioninteger
created_atstringISO-8601 UTC timestamp
updated_atstringISO-8601 UTC timestamp
versioninteger
Errors:400401403404409429what they mean
List product categories
/orgs/{orgId}/stores/{storeId}/categoriesNeeds products.read
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string | |
storeId | path | string |
Example
curl "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/categories" \
-H "Authorization: Bearer $ADYVANCE_API_KEY"200 Response
dataarray of object1 field in
dataidstring
Errors:400401403404409429what they mean
Get a product
/orgs/{orgId}/stores/{storeId}/products/{productId}Needs products.read
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string | |
storeId | path | string | |
productId | path | string |
Example
curl "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/products/prd_…" \
-H "Authorization: Bearer $ADYVANCE_API_KEY"200 ResponseProduct
idstringstore_idstringtitlestringslugstringstatusstringchannelsarray of stringvariantsarray of object7 fields in
variantsidstringtitlestringskustring or nullprice_paisaintegerInteger paisa (1 NPR = 100 paisa)
compare_at_paisainteger or nullactivebooleanversioninteger
created_atstringISO-8601 UTC timestamp
updated_atstringISO-8601 UTC timestamp
versioninteger
Errors:400401403404409429what they mean
Update a product
/orgs/{orgId}/stores/{storeId}/products/{productId}Needs products.write
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string | |
storeId | path | string | |
productId | path | string |
Headers
If-Match | The product's version from your last read, written as "v7" (with the quotes). If the product changed since, the request is refused with 412. |
Request body ProductPatch
titlestringUp to 200 characters
Example
curl -X PATCH "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/products/prd_…" \
-H "Authorization: Bearer $ADYVANCE_API_KEY" \
-H 'If-Match: "v7"' \
-H "Content-Type: application/json" \
-d '{}'200 ResponseProduct
idstringstore_idstringtitlestringslugstringstatusstringchannelsarray of stringvariantsarray of object7 fields in
variantsidstringtitlestringskustring or nullprice_paisaintegerInteger paisa (1 NPR = 100 paisa)
compare_at_paisainteger or nullactivebooleanversioninteger
created_atstringISO-8601 UTC timestamp
updated_atstringISO-8601 UTC timestamp
versioninteger
Errors:400401403404409429what they mean
Update a variant's price, SKU or availability
/orgs/{orgId}/stores/{storeId}/variants/{variantId}Needs products.write
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string | |
storeId | path | string | |
variantId | path | string |
Headers
If-Match | The product's version from your last read, written as "v7" (with the quotes). If the product changed since, the request is refused with 412. |
Request body VariantPatch
price_paisaintegerInteger paisa (1 NPR = 100 paisa)
compare_at_paisainteger or nullskustring or nullactiveboolean
Example
curl -X PATCH "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/variants/var_…" \
-H "Authorization: Bearer $ADYVANCE_API_KEY" \
-H 'If-Match: "v7"' \
-H "Content-Type: application/json" \
-d '{}'200 Response
No body.
Errors:400401403404409429what they mean
Customers
Read the people who bought from the shop.
List customers
/orgs/{orgId}/stores/{storeId}/customersNeeds customers.read
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string | |
storeId | path | string | |
cursor | query | string | Opaque keyset cursor from next_cursor |
limit | query | integer | Page size (1–100). 1 to 100 |
q | query | string | Name, email or phone. Up to 100 characters |
Example
curl "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/customers" \
-H "Authorization: Bearer $ADYVANCE_API_KEY"200 ResponseCustomerList
dataarray of object10 fields in
dataidstringnamestringphonestring or nullemailstring or nulltagsarray of stringorders_countintegerltv_paisaintegerInteger paisa (1 NPR = 100 paisa)
last_order_atstring or nullversionintegercreated_atstringISO-8601 UTC timestamp
next_cursorstring or null
Errors:400401403404409429what they mean
Get a customer
/orgs/{orgId}/stores/{storeId}/customers/{customerId}Needs customers.read
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string | |
storeId | path | string | |
customerId | path | string |
Example
curl "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/customers/cus_…" \
-H "Authorization: Bearer $ADYVANCE_API_KEY"200 ResponseCustomer
idstringnamestringphonestring or nullemailstring or nulltagsarray of stringorders_countintegerltv_paisaintegerInteger paisa (1 NPR = 100 paisa)
last_order_atstring or nullversionintegercreated_atstringISO-8601 UTC timestamp
Errors:400401403404409429what they mean
Inventory
Read stock levels, and adjust stock or set it to a count.
Adjust stock or set it to a count
/orgs/{orgId}/inventory/adjustmentsNeeds inventory.adjust
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string |
Headers
Idempotency-Key | Required. A new unique value for each change, such as a UUID (1 to 128 characters). Sending the same key and body again within 24 hours returns the first result instead of repeating the change. |
Request body InventoryAdjustment
variant_idstringrequiredlocation_idstringdeltaintegerset_tointegerAt least 0
reasonstringrequiredOne of:
adjust,stock_in,count,returnnotestringUp to 500 characters
Example
curl -X POST "https://app.adyvance.com/_public/v1/orgs/org_…/inventory/adjustments" \
-H "Authorization: Bearer $ADYVANCE_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"variant_id":"…","reason":"adjust"}'201 Response
variant_idstringon_handinteger
Errors:400401403404409429what they mean
List inventory levels
/orgs/{orgId}/stores/{storeId}/inventoryNeeds inventory.read
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string | |
storeId | path | string | |
cursor | query | string | Opaque keyset cursor from next_cursor |
limit | query | integer | Page size (1–100). 1 to 100 |
low | query | string | Only low or out of stock. One of: true, false |
Example
curl "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/inventory" \
-H "Authorization: Bearer $ADYVANCE_API_KEY"200 ResponseInventoryList
dataarray of object8 fields in
datavariant_idstringproduct_idstringskustring or nullon_handintegerreservedintegeravailableintegerstatestringOne of:
in_stock,low,out_of_stock,untrackedlevelsarray of object5 fields in
levelslocation_idstringon_handintegerreservedintegeravailableintegerupdated_atstring or null
next_cursorstring or null
Errors:400401403404409429what they mean
Webhook endpoints
List and create the addresses Adyvance sends events to.
List webhook endpoints
/orgs/{orgId}/webhooksNeeds webhooks.manage
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string |
Example
curl "https://app.adyvance.com/_public/v1/orgs/org_…/webhooks" \
-H "Authorization: Bearer $ADYVANCE_API_KEY"200 ResponseWebhookEndpointList
dataarray of object8 fields in
dataidstringurlstringdescriptionstringeventsarray of stringstatestringOne of:
active,disabled,auto_disabledconsecutive_failuresintegercreated_atstringISO-8601 UTC timestamp
versioninteger
next_cursorstring or null
Errors:400401403404409429what they mean
Create a webhook endpoint
/orgs/{orgId}/webhooksNeeds webhooks.manage
Parameters
| Name | In | Type | About |
|---|---|---|---|
orgId | path | string |
Headers
Idempotency-Key | Required. A new unique value for each change, such as a UUID (1 to 128 characters). Sending the same key and body again within 24 hours returns the first result instead of repeating the change. |
Request body WebhookCreate
urlstringrequiredhttps only; validated against the SSRF policy
eventsarray of string or stringrequiredAt least 1 item
descriptionstringUp to 200 characters
Example
curl -X POST "https://app.adyvance.com/_public/v1/orgs/org_…/webhooks" \
-H "Authorization: Bearer $ADYVANCE_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/hooks/adyvance","events":"…"}'201 ResponseWebhookEndpointCreated
idstringurlstringdescriptionstringeventsarray of stringstatestringOne of:
active,disabled,auto_disabledconsecutive_failuresintegercreated_atstringISO-8601 UTC timestamp
versionintegersecretstring or nullwhsec_…, returned once. An Idempotency-Key replay returns null here.
Errors:400401403404409429what they mean