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

GET/orgs/{orgId}/stores/{storeId}/orders

Needs orders.read

Parameters

NameInTypeAbout
orgIdpathstring
storeIdpathstring
cursorquerystringOpaque keyset cursor from next_cursor
limitqueryintegerPage size (1–100). 1 to 100
statusquerystringOrder status. One of: draft, pending, confirmed, processing, ready, shipped, delivered, completed, cancelled, returned
payment_statusquerystringPayment 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 object
    15 fields in data
    • idstring
    • numberstring
    • channelstring

      One of: web, pos, manual, headless, marketplace, ai

    • statusstring

      One of: draft, pending, confirmed, processing, ready, shipped, delivered, completed, cancelled, returned

    • payment_statusstring

      One of: unpaid, partial, paid, refunded, partially_refunded, awaiting_verification, overpaid

    • fulfilment_statusstring
    • payment_methodstring
    • customer_idstring or null
    • contactobject
      3 fields in contact
      • namestring
      • phonestring
      • emailstring or null
    • total_paisainteger

      Integer paisa (1 NPR = 100 paisa)

    • due_paisainteger

      Integer paisa (1 NPR = 100 paisa)

    • is_testboolean
    • placed_atstring or null
    • updated_atstring

      ISO-8601 UTC timestamp

    • versioninteger
  • next_cursorstring or null

Errors:400401403404409429what they mean

Get an order

GET/orgs/{orgId}/stores/{storeId}/orders/{orderId}

Needs orders.read

Parameters

NameInTypeAbout
orgIdpathstring
storeIdpathstring
orderIdpathstring

Example

curl "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/orders/ord_…" \
  -H "Authorization: Bearer $ADYVANCE_API_KEY"
200 ResponseOrder
  • idstring
  • numberstring
  • channelstring

    One of: web, pos, manual, headless, marketplace, ai

  • statusstring

    One of: draft, pending, confirmed, processing, ready, shipped, delivered, completed, cancelled, returned

  • payment_statusstring

    One of: unpaid, partial, paid, refunded, partially_refunded, awaiting_verification, overpaid

  • fulfilment_statusstring
  • payment_methodstring
  • customer_idstring or null
  • contactobject
    3 fields in contact
    • namestring
    • phonestring
    • emailstring or null
  • total_paisainteger

    Integer paisa (1 NPR = 100 paisa)

  • due_paisainteger

    Integer paisa (1 NPR = 100 paisa)

  • is_testboolean
  • placed_atstring or null
  • updated_atstring

    ISO-8601 UTC timestamp

  • versioninteger
  • totalsobject
    6 fields in totals
    • subtotalinteger

      Integer paisa (1 NPR = 100 paisa)

    • discountinteger

      Integer paisa (1 NPR = 100 paisa)

    • deliveryinteger

      Integer paisa (1 NPR = 100 paisa)

    • surchargeinteger

      Integer paisa (1 NPR = 100 paisa)

    • taxinteger

      Integer paisa (1 NPR = 100 paisa)

    • totalinteger

      Integer paisa (1 NPR = 100 paisa)

  • linesarray of object
    6 fields in lines
    • idstring
    • variant_idstring
    • titlestring
    • qtyinteger
    • unit_price_paisainteger

      Integer paisa (1 NPR = 100 paisa)

    • line_total_paisainteger

      Integer paisa (1 NPR = 100 paisa)

Errors:400401403404409429what they mean

Update an order's note or tags

PATCH/orgs/{orgId}/stores/{storeId}/orders/{orderId}

Needs orders.update

Parameters

NameInTypeAbout
orgIdpathstring
storeIdpathstring
orderIdpathstring

Headers

If-MatchThe 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 null
  • tagsarray 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
  • idstring
  • numberstring
  • channelstring

    One of: web, pos, manual, headless, marketplace, ai

  • statusstring

    One of: draft, pending, confirmed, processing, ready, shipped, delivered, completed, cancelled, returned

  • payment_statusstring

    One of: unpaid, partial, paid, refunded, partially_refunded, awaiting_verification, overpaid

  • fulfilment_statusstring
  • payment_methodstring
  • customer_idstring or null
  • contactobject
    3 fields in contact
    • namestring
    • phonestring
    • emailstring or null
  • total_paisainteger

    Integer paisa (1 NPR = 100 paisa)

  • due_paisainteger

    Integer paisa (1 NPR = 100 paisa)

  • is_testboolean
  • placed_atstring or null
  • updated_atstring

    ISO-8601 UTC timestamp

  • versioninteger

Errors:400401403404409429what they mean

Change an order's status

POST/orgs/{orgId}/stores/{storeId}/orders/{orderId}/transitions

Needs orders.update

Parameters

NameInTypeAbout
orgIdpathstring
storeIdpathstring
orderIdpathstring

Headers

Idempotency-KeyRequired. 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

  • tostringrequired

    One of: draft, pending, confirmed, processing, ready, shipped, delivered, completed, cancelled, returned

  • reasonstring

    Up 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
  • idstring
  • numberstring
  • channelstring

    One of: web, pos, manual, headless, marketplace, ai

  • statusstring

    One of: draft, pending, confirmed, processing, ready, shipped, delivered, completed, cancelled, returned

  • payment_statusstring

    One of: unpaid, partial, paid, refunded, partially_refunded, awaiting_verification, overpaid

  • fulfilment_statusstring
  • payment_methodstring
  • customer_idstring or null
  • contactobject
    3 fields in contact
    • namestring
    • phonestring
    • emailstring or null
  • total_paisainteger

    Integer paisa (1 NPR = 100 paisa)

  • due_paisainteger

    Integer paisa (1 NPR = 100 paisa)

  • is_testboolean
  • placed_atstring or null
  • updated_atstring

    ISO-8601 UTC timestamp

  • versioninteger

Errors:400401403404409429what they mean

Products

Read and write products, their variants and the categories they sit in.

List products

GET/orgs/{orgId}/stores/{storeId}/products

Needs products.read

Parameters

NameInTypeAbout
orgIdpathstring
storeIdpathstring
cursorquerystringOpaque keyset cursor from next_cursor
limitqueryintegerPage size (1–100). 1 to 100
qquerystringSearch 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 object
    11 fields in data
    • idstring
    • titlestring
    • slugstring
    • statusstring
    • channelsarray of string
    • price_min_paisainteger

      Integer paisa (1 NPR = 100 paisa)

    • price_max_paisainteger

      Integer paisa (1 NPR = 100 paisa)

    • variant_countinteger
    • imageobject or null
      1 field in image
      • asset_idstring
    • updated_atstring

      ISO-8601 UTC timestamp

    • versioninteger
  • next_cursorstring or null

Errors:400401403404409429what they mean

Create a product

POST/orgs/{orgId}/stores/{storeId}/products

Needs products.write

Parameters

NameInTypeAbout
orgIdpathstring
storeIdpathstring

Headers

Idempotency-KeyRequired. 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

  • titlestringrequired

    Up to 200 characters

  • statusstring

    One of: draft, active, archived, unlisted

  • description_htmlstring

    Up to 60000 characters

  • variantsarray of objectrequired

    At least 1 item

    2 fields in variants
    • price_paisaintegerrequired

      Integer 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
  • idstring
  • store_idstring
  • titlestring
  • slugstring
  • statusstring
  • channelsarray of string
  • variantsarray of object
    7 fields in variants
    • idstring
    • titlestring
    • skustring or null
    • price_paisainteger

      Integer paisa (1 NPR = 100 paisa)

    • compare_at_paisainteger or null
    • activeboolean
    • versioninteger
  • created_atstring

    ISO-8601 UTC timestamp

  • updated_atstring

    ISO-8601 UTC timestamp

  • versioninteger

Errors:400401403404409429what they mean

List product categories

GET/orgs/{orgId}/stores/{storeId}/categories

Needs products.read

Parameters

NameInTypeAbout
orgIdpathstring
storeIdpathstring

Example

curl "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/categories" \
  -H "Authorization: Bearer $ADYVANCE_API_KEY"
200 Response
  • dataarray of object
    1 field in data
    • idstring

Errors:400401403404409429what they mean

Get a product

GET/orgs/{orgId}/stores/{storeId}/products/{productId}

Needs products.read

Parameters

NameInTypeAbout
orgIdpathstring
storeIdpathstring
productIdpathstring

Example

curl "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/products/prd_…" \
  -H "Authorization: Bearer $ADYVANCE_API_KEY"
200 ResponseProduct
  • idstring
  • store_idstring
  • titlestring
  • slugstring
  • statusstring
  • channelsarray of string
  • variantsarray of object
    7 fields in variants
    • idstring
    • titlestring
    • skustring or null
    • price_paisainteger

      Integer paisa (1 NPR = 100 paisa)

    • compare_at_paisainteger or null
    • activeboolean
    • versioninteger
  • created_atstring

    ISO-8601 UTC timestamp

  • updated_atstring

    ISO-8601 UTC timestamp

  • versioninteger

Errors:400401403404409429what they mean

Update a product

PATCH/orgs/{orgId}/stores/{storeId}/products/{productId}

Needs products.write

Parameters

NameInTypeAbout
orgIdpathstring
storeIdpathstring
productIdpathstring

Headers

If-MatchThe 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

  • titlestring

    Up 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
  • idstring
  • store_idstring
  • titlestring
  • slugstring
  • statusstring
  • channelsarray of string
  • variantsarray of object
    7 fields in variants
    • idstring
    • titlestring
    • skustring or null
    • price_paisainteger

      Integer paisa (1 NPR = 100 paisa)

    • compare_at_paisainteger or null
    • activeboolean
    • versioninteger
  • created_atstring

    ISO-8601 UTC timestamp

  • updated_atstring

    ISO-8601 UTC timestamp

  • versioninteger

Errors:400401403404409429what they mean

Update a variant's price, SKU or availability

PATCH/orgs/{orgId}/stores/{storeId}/variants/{variantId}

Needs products.write

Parameters

NameInTypeAbout
orgIdpathstring
storeIdpathstring
variantIdpathstring

Headers

If-MatchThe 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_paisainteger

    Integer paisa (1 NPR = 100 paisa)

  • compare_at_paisainteger or null
  • skustring or null
  • activeboolean

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

GET/orgs/{orgId}/stores/{storeId}/customers

Needs customers.read

Parameters

NameInTypeAbout
orgIdpathstring
storeIdpathstring
cursorquerystringOpaque keyset cursor from next_cursor
limitqueryintegerPage size (1–100). 1 to 100
qquerystringName, 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 object
    10 fields in data
    • idstring
    • namestring
    • phonestring or null
    • emailstring or null
    • tagsarray of string
    • orders_countinteger
    • ltv_paisainteger

      Integer paisa (1 NPR = 100 paisa)

    • last_order_atstring or null
    • versioninteger
    • created_atstring

      ISO-8601 UTC timestamp

  • next_cursorstring or null

Errors:400401403404409429what they mean

Get a customer

GET/orgs/{orgId}/stores/{storeId}/customers/{customerId}

Needs customers.read

Parameters

NameInTypeAbout
orgIdpathstring
storeIdpathstring
customerIdpathstring

Example

curl "https://app.adyvance.com/_public/v1/orgs/org_…/stores/str_…/customers/cus_…" \
  -H "Authorization: Bearer $ADYVANCE_API_KEY"
200 ResponseCustomer
  • idstring
  • namestring
  • phonestring or null
  • emailstring or null
  • tagsarray of string
  • orders_countinteger
  • ltv_paisainteger

    Integer paisa (1 NPR = 100 paisa)

  • last_order_atstring or null
  • versioninteger
  • created_atstring

    ISO-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

POST/orgs/{orgId}/inventory/adjustments

Needs inventory.adjust

Parameters

NameInTypeAbout
orgIdpathstring

Headers

Idempotency-KeyRequired. 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_idstringrequired
  • location_idstring
  • deltainteger
  • set_tointeger

    At least 0

  • reasonstringrequired

    One of: adjust, stock_in, count, return

  • notestring

    Up 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_idstring
  • on_handinteger

Errors:400401403404409429what they mean

List inventory levels

GET/orgs/{orgId}/stores/{storeId}/inventory

Needs inventory.read

Parameters

NameInTypeAbout
orgIdpathstring
storeIdpathstring
cursorquerystringOpaque keyset cursor from next_cursor
limitqueryintegerPage size (1–100). 1 to 100
lowquerystringOnly 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 object
    8 fields in data
    • variant_idstring
    • product_idstring
    • skustring or null
    • on_handinteger
    • reservedinteger
    • availableinteger
    • statestring

      One of: in_stock, low, out_of_stock, untracked

    • levelsarray of object
      5 fields in levels
      • location_idstring
      • on_handinteger
      • reservedinteger
      • availableinteger
      • updated_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

GET/orgs/{orgId}/webhooks

Needs webhooks.manage

Parameters

NameInTypeAbout
orgIdpathstring

Example

curl "https://app.adyvance.com/_public/v1/orgs/org_…/webhooks" \
  -H "Authorization: Bearer $ADYVANCE_API_KEY"
200 ResponseWebhookEndpointList
  • dataarray of object
    8 fields in data
    • idstring
    • urlstring
    • descriptionstring
    • eventsarray of string
    • statestring

      One of: active, disabled, auto_disabled

    • consecutive_failuresinteger
    • created_atstring

      ISO-8601 UTC timestamp

    • versioninteger
  • next_cursorstring or null

Errors:400401403404409429what they mean

Create a webhook endpoint

POST/orgs/{orgId}/webhooks

Needs webhooks.manage

Parameters

NameInTypeAbout
orgIdpathstring

Headers

Idempotency-KeyRequired. 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

  • urlstringrequired

    https only; validated against the SSRF policy

  • eventsarray of string or stringrequired

    At least 1 item

  • descriptionstring

    Up 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
  • idstring
  • urlstring
  • descriptionstring
  • eventsarray of string
  • statestring

    One of: active, disabled, auto_disabled

  • consecutive_failuresinteger
  • created_atstring

    ISO-8601 UTC timestamp

  • versioninteger
  • secretstring or null

    whsec_…, returned once. An Idempotency-Key replay returns null here.

Errors:400401403404409429what they mean