StoreLyne API docs 2026-11

Mark whole orders as sent (bulk action); each order succeeds or fails on its own

POST/admin/2026-11/fulfilments

scope write_ordersIdempotency-Key required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Request body

  • order_idsarray of ID (ord_...)required

    Up to 50 items

Response 200

  • dataarray of objectrequired
  • data[].order_idID (ord_...)required
  • data[].okbooleanrequired
  • data[].messagestring or nullrequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/fulfilments \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "order_ids": [
    "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R"
  ]
}'
Response 200
{
  "data": [
    {
      "order_id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "ok": false,
      "message": "Hand block printed cotton."
    }
  ]
}

Orders, newest first, with filters

GET/admin/2026-11/orders

scope read_orders

Query parameters

  • limitinteger

    Items per page, 1 to 250.

    Default 50 · 1 to 250

  • afterstring

    Cursor from a previous next_cursor.

    Up to 512 characters

  • statusenum

    One of open cancelled closed

  • payment_statusenum

    One of unpaid cod_unpaid paid partially_refunded refunded

  • fulfilment_statusenum

    One of unfulfilled partially_fulfilled fulfilled

  • channelenum

    One of online_store payment_page admin api

  • created_fromtimestamp
  • created_totimestamp
  • qstring

    Order number (#1001), buyer name, email or phone.

    At least 1 characters · Up to 100 characters

  • tagstring

    Only orders with this tag.

    At least 1 characters · Up to 40 characters

  • sourcestring

    Only orders from this source, like page:<slug>.

    At least 1 characters · Up to 200 characters

  • attentionenum

    Only orders that need attention (for example oversold).

    One of yes

  • min_totalinteger

    Total at least this many paise.

    At least 0

  • max_totalinteger

    Total at most this many paise.

    At least 0

Response 200

  • dataarray of objectrequired
  • data[].idID (ord_...)required
  • data[].numberintegerrequired
  • data[].namestringrequired

    Display number, for example #1001.

  • data[].customer_idID (cus_...) or nullrequired
  • data[].buyerobjectrequired
  • data[].buyer.namestringrequired
  • data[].buyer.emailstring or nullrequired
  • data[].buyer.phonestring or nullrequired
  • data[].channelenumrequired

    One of online_store payment_page admin api

  • data[].sourcestringrequired
  • data[].currencystringrequired
  • data[].subtotalintegerrequired
  • data[].shipping_totalintegerrequired
  • data[].tax_totalintegerrequired
  • data[].totalintegerrequired
  • data[].discount_totalintegerrequired
  • data[].discount_codestring or nullrequired
  • data[].attributesobjectrequired

    Answers to the payment page questions.

  • data[].checkout_idstring or nullrequired
  • data[].payment_statusenumrequired

    One of unpaid cod_unpaid paid partially_refunded refunded

  • data[].fulfilment_statusenumrequired

    One of unfulfilled partially_fulfilled fulfilled

  • data[].statusenumrequired

    One of open cancelled closed

  • data[].shipping_addressobject or nullrequired
  • data[].notestringrequired
  • data[].tagsarray of stringrequired
  • data[].needs_attentionarray of stringrequired
  • data[].cancel_reasonstring or nullrequired
  • data[].cancelled_attimestamp or nullrequired
  • data[].paid_attimestamp or nullrequired
  • data[].linesarray of objectrequired
  • data[].lines[].idID (oli_...)required
  • data[].lines[].product_idID (prd_...)required
  • data[].lines[].variant_idID (var_...)required
  • data[].lines[].titlestringrequired
  • data[].lines[].variant_titlestringrequired
  • data[].lines[].skustring or nullrequired
  • data[].lines[].quantityintegerrequired
  • data[].lines[].unit_priceintegerrequired
  • data[].lines[].totalintegerrequired
  • data[].lines[].tax_amountintegerrequired
  • data[].lines[].gst_rate_bpinteger or nullrequired
  • data[].lines[].hsn_codestring or nullrequired
  • data[].lines[].requires_shippingbooleanrequired
  • data[].fulfilmentsarray of objectrequired
  • data[].fulfilments[].idID (ful_...)required
  • data[].fulfilments[].kindenumrequired

    One of manual digital

  • data[].fulfilments[].statusenumrequired

    One of fulfilled cancelled

  • data[].fulfilments[].linesarray of objectrequired
  • data[].fulfilments[].lines[].line_idID (oli_...)required
  • data[].fulfilments[].lines[].quantityintegerrequired
  • data[].fulfilments[].carrierstring or nullrequired
  • data[].fulfilments[].tracking_numberstring or nullrequired
  • data[].fulfilments[].tracking_urlstring or nullrequired
  • data[].fulfilments[].created_attimestamprequired
  • data[].eventsarray of objectrequired
  • data[].events[].idID (oev_...)required
  • data[].events[].typestringrequired
  • data[].events[].messagestringrequired
  • data[].events[].created_attimestamprequired
  • data[].created_attimestamprequired
  • data[].updated_attimestamprequired
  • has_morebooleanrequired
  • next_cursorstring or nullrequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl https://api.storelyne.com/admin/2026-11/orders \
  -H "Authorization: Bearer pat_live_..."
Response 200
{
  "data": [
    {
      "id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "number": 1,
      "name": "Festive saree",
      "customer_id": "cus_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "buyer": {
        "name": "Festive saree",
        "email": "buyer@example.com",
        "phone": "+919876543210"
      },
      "channel": "online_store",
      "source": "string",
      "currency": "INR",
      "subtotal": 49900,
      "shipping_total": 49900,
      "tax_total": 49900,
      "total": 49900,
      "discount_total": 49900,
      "discount_code": "string",
      "attributes": {},
      "checkout_id": "string",
      "payment_status": "unpaid",
      "fulfilment_status": "unfulfilled",
      "status": "open",
      "shipping_address": {},
      "note": "Hand block printed cotton.",
      "tags": [
        "string"
      ],
      "needs_attention": [
        "string"
      ],
      "cancel_reason": "string",
      "cancelled_at": "2026-11-04T10:00:00.000Z",
      "paid_at": "2026-11-04T10:00:00.000Z",
      "lines": [
        {
          "id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "product_id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "title": "Festive saree",
          "variant_title": "Festive saree",
          "sku": "string",
          "quantity": 1,
          "unit_price": 49900,
          "total": 49900,
          "tax_amount": 49900,
          "gst_rate_bp": 1,
          "hsn_code": "string",
          "requires_shipping": false
        }
      ],
      "fulfilments": [
        {
          "id": "ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "kind": "manual",
          "status": "fulfilled",
          "lines": [],
          "carrier": "string",
          "tracking_number": "string",
          "tracking_url": "https://example.com",
          "created_at": "2026-11-04T10:00:00.000Z"
        }
      ],
      "events": [
        {
          "id": "oev_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "type": "string",
          "message": "Hand block printed cotton.",
          "created_at": "2026-11-04T10:00:00.000Z"
        }
      ],
      "created_at": "2026-11-04T10:00:00.000Z",
      "updated_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": "eyJpZCI6Ii4uLiJ9"
}

Create an order (manual or COD); prices come from the catalog

POST/admin/2026-11/orders

scope write_ordersIdempotency-Key required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Request body

  • buyerobjectrequired
  • buyer.namestring

    Up to 120 characters

  • buyer.emailstring or null

    Default null

  • buyer.phonestring or null
  • linesarray of objectrequired

    Up to 100 items

  • lines[].variant_idID (var_...)required
  • lines[].quantityintegerrequired

    1 to 10000

  • shipping_addressobject
  • shipping_address.namestringrequired

    At least 1 characters · Up to 120 characters

  • shipping_address.line1stringrequired

    At least 1 characters · Up to 200 characters

  • shipping_address.line2string

    Up to 200 characters

  • shipping_address.citystringrequired

    At least 1 characters · Up to 100 characters

  • shipping_address.statestringrequired

    At least 1 characters · Up to 100 characters

  • shipping_address.pincodestringrequired
  • shipping_address.country"IN"

    Default "IN"

  • shipping_address.phonestring or null
  • shipping_totalinteger

    Default 0 · 0 to 10000000

  • paymentenum

    cod_unpaid for cash on delivery.

    One of unpaid cod_unpaid

    Default "unpaid"

  • channelenum

    One of online_store payment_page admin api

    Default "admin"

  • sourcestring

    Up to 100 characters

  • notestring

    Up to 2000 characters

  • tagsarray of string

    Up to 20 items

Response 201

  • idID (ord_...)required
  • numberintegerrequired
  • namestringrequired

    Display number, for example #1001.

  • customer_idID (cus_...) or nullrequired
  • buyerobjectrequired
  • buyer.namestringrequired
  • buyer.emailstring or nullrequired
  • buyer.phonestring or nullrequired
  • channelenumrequired

    One of online_store payment_page admin api

  • sourcestringrequired
  • currencystringrequired
  • subtotalintegerrequired
  • shipping_totalintegerrequired
  • tax_totalintegerrequired
  • totalintegerrequired
  • discount_totalintegerrequired
  • discount_codestring or nullrequired
  • attributesobjectrequired

    Answers to the payment page questions.

  • checkout_idstring or nullrequired
  • payment_statusenumrequired

    One of unpaid cod_unpaid paid partially_refunded refunded

  • fulfilment_statusenumrequired

    One of unfulfilled partially_fulfilled fulfilled

  • statusenumrequired

    One of open cancelled closed

  • shipping_addressobject or nullrequired
  • notestringrequired
  • tagsarray of stringrequired
  • needs_attentionarray of stringrequired
  • cancel_reasonstring or nullrequired
  • cancelled_attimestamp or nullrequired
  • paid_attimestamp or nullrequired
  • linesarray of objectrequired
  • lines[].idID (oli_...)required
  • lines[].product_idID (prd_...)required
  • lines[].variant_idID (var_...)required
  • lines[].titlestringrequired
  • lines[].variant_titlestringrequired
  • lines[].skustring or nullrequired
  • lines[].quantityintegerrequired
  • lines[].unit_priceintegerrequired
  • lines[].totalintegerrequired
  • lines[].tax_amountintegerrequired
  • lines[].gst_rate_bpinteger or nullrequired
  • lines[].hsn_codestring or nullrequired
  • lines[].requires_shippingbooleanrequired
  • fulfilmentsarray of objectrequired
  • fulfilments[].idID (ful_...)required
  • fulfilments[].kindenumrequired

    One of manual digital

  • fulfilments[].statusenumrequired

    One of fulfilled cancelled

  • fulfilments[].linesarray of objectrequired
  • fulfilments[].lines[].line_idID (oli_...)required
  • fulfilments[].lines[].quantityintegerrequired
  • fulfilments[].carrierstring or nullrequired
  • fulfilments[].tracking_numberstring or nullrequired
  • fulfilments[].tracking_urlstring or nullrequired
  • fulfilments[].created_attimestamprequired
  • eventsarray of objectrequired
  • events[].idID (oev_...)required
  • events[].typestringrequired
  • events[].messagestringrequired
  • events[].created_attimestamprequired
  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/orders \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "buyer": {
    "name": "",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  },
  "lines": [
    {
      "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "quantity": 1
    }
  ]
}'
Response 201
{
  "id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "number": 1,
  "name": "Festive saree",
  "customer_id": "cus_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "buyer": {
    "name": "Festive saree",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  },
  "channel": "online_store",
  "source": "string",
  "currency": "INR",
  "subtotal": 49900,
  "shipping_total": 49900,
  "tax_total": 49900,
  "total": 49900,
  "discount_total": 49900,
  "discount_code": "string",
  "attributes": {},
  "checkout_id": "string",
  "payment_status": "unpaid",
  "fulfilment_status": "unfulfilled",
  "status": "open",
  "shipping_address": {},
  "note": "Hand block printed cotton.",
  "tags": [
    "string"
  ],
  "needs_attention": [
    "string"
  ],
  "cancel_reason": "string",
  "cancelled_at": "2026-11-04T10:00:00.000Z",
  "paid_at": "2026-11-04T10:00:00.000Z",
  "lines": [
    {
      "id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "product_id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "variant_title": "Festive saree",
      "sku": "string",
      "quantity": 1,
      "unit_price": 49900,
      "total": 49900,
      "tax_amount": 49900,
      "gst_rate_bp": 1,
      "hsn_code": "string",
      "requires_shipping": false
    }
  ],
  "fulfilments": [
    {
      "id": "ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "kind": "manual",
      "status": "fulfilled",
      "lines": [
        {
          "line_id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "quantity": 1
        }
      ],
      "carrier": "string",
      "tracking_number": "string",
      "tracking_url": "https://example.com",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "events": [
    {
      "id": "oev_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "type": "string",
      "message": "Hand block printed cotton.",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

One order with lines and timeline

GET/admin/2026-11/orders/{id}

scope read_orders

Path parameters

  • idID (ord_...)required

Response 200

  • idID (ord_...)required
  • numberintegerrequired
  • namestringrequired

    Display number, for example #1001.

  • customer_idID (cus_...) or nullrequired
  • buyerobjectrequired
  • buyer.namestringrequired
  • buyer.emailstring or nullrequired
  • buyer.phonestring or nullrequired
  • channelenumrequired

    One of online_store payment_page admin api

  • sourcestringrequired
  • currencystringrequired
  • subtotalintegerrequired
  • shipping_totalintegerrequired
  • tax_totalintegerrequired
  • totalintegerrequired
  • discount_totalintegerrequired
  • discount_codestring or nullrequired
  • attributesobjectrequired

    Answers to the payment page questions.

  • checkout_idstring or nullrequired
  • payment_statusenumrequired

    One of unpaid cod_unpaid paid partially_refunded refunded

  • fulfilment_statusenumrequired

    One of unfulfilled partially_fulfilled fulfilled

  • statusenumrequired

    One of open cancelled closed

  • shipping_addressobject or nullrequired
  • notestringrequired
  • tagsarray of stringrequired
  • needs_attentionarray of stringrequired
  • cancel_reasonstring or nullrequired
  • cancelled_attimestamp or nullrequired
  • paid_attimestamp or nullrequired
  • linesarray of objectrequired
  • lines[].idID (oli_...)required
  • lines[].product_idID (prd_...)required
  • lines[].variant_idID (var_...)required
  • lines[].titlestringrequired
  • lines[].variant_titlestringrequired
  • lines[].skustring or nullrequired
  • lines[].quantityintegerrequired
  • lines[].unit_priceintegerrequired
  • lines[].totalintegerrequired
  • lines[].tax_amountintegerrequired
  • lines[].gst_rate_bpinteger or nullrequired
  • lines[].hsn_codestring or nullrequired
  • lines[].requires_shippingbooleanrequired
  • fulfilmentsarray of objectrequired
  • fulfilments[].idID (ful_...)required
  • fulfilments[].kindenumrequired

    One of manual digital

  • fulfilments[].statusenumrequired

    One of fulfilled cancelled

  • fulfilments[].linesarray of objectrequired
  • fulfilments[].lines[].line_idID (oli_...)required
  • fulfilments[].lines[].quantityintegerrequired
  • fulfilments[].carrierstring or nullrequired
  • fulfilments[].tracking_numberstring or nullrequired
  • fulfilments[].tracking_urlstring or nullrequired
  • fulfilments[].created_attimestamprequired
  • eventsarray of objectrequired
  • events[].idID (oev_...)required
  • events[].typestringrequired
  • events[].messagestringrequired
  • events[].created_attimestamprequired
  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R \
  -H "Authorization: Bearer pat_live_..."
Response 200
{
  "id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "number": 1,
  "name": "Festive saree",
  "customer_id": "cus_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "buyer": {
    "name": "Festive saree",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  },
  "channel": "online_store",
  "source": "string",
  "currency": "INR",
  "subtotal": 49900,
  "shipping_total": 49900,
  "tax_total": 49900,
  "total": 49900,
  "discount_total": 49900,
  "discount_code": "string",
  "attributes": {},
  "checkout_id": "string",
  "payment_status": "unpaid",
  "fulfilment_status": "unfulfilled",
  "status": "open",
  "shipping_address": {},
  "note": "Hand block printed cotton.",
  "tags": [
    "string"
  ],
  "needs_attention": [
    "string"
  ],
  "cancel_reason": "string",
  "cancelled_at": "2026-11-04T10:00:00.000Z",
  "paid_at": "2026-11-04T10:00:00.000Z",
  "lines": [
    {
      "id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "product_id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "variant_title": "Festive saree",
      "sku": "string",
      "quantity": 1,
      "unit_price": 49900,
      "total": 49900,
      "tax_amount": 49900,
      "gst_rate_bp": 1,
      "hsn_code": "string",
      "requires_shipping": false
    }
  ],
  "fulfilments": [
    {
      "id": "ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "kind": "manual",
      "status": "fulfilled",
      "lines": [
        {
          "line_id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "quantity": 1
        }
      ],
      "carrier": "string",
      "tracking_number": "string",
      "tracking_url": "https://example.com",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "events": [
    {
      "id": "oev_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "type": "string",
      "message": "Hand block printed cotton.",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

Change the note, tags, buyer contact or shipping address

PATCH/admin/2026-11/orders/{id}

Contact and address changes are written to the order timeline (D-132).

scope write_orders

Path parameters

  • idID (ord_...)required

Headers

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Request body

  • notestring

    Up to 2000 characters

  • tagsarray of string

    Up to 20 items

  • buyerobject
  • buyer.namestring

    Up to 120 characters

  • buyer.emailstring or null
  • buyer.phonestring or null
  • shipping_addressobject or null
  • shipping_address.namestringrequired

    At least 1 characters · Up to 120 characters

  • shipping_address.line1stringrequired

    At least 1 characters · Up to 200 characters

  • shipping_address.line2string

    Up to 200 characters

  • shipping_address.citystringrequired

    At least 1 characters · Up to 100 characters

  • shipping_address.statestringrequired

    At least 1 characters · Up to 100 characters

  • shipping_address.pincodestringrequired
  • shipping_address.country"IN"

    Default "IN"

  • shipping_address.phonestring or null

Response 200

  • idID (ord_...)required
  • numberintegerrequired
  • namestringrequired

    Display number, for example #1001.

  • customer_idID (cus_...) or nullrequired
  • buyerobjectrequired
  • buyer.namestringrequired
  • buyer.emailstring or nullrequired
  • buyer.phonestring or nullrequired
  • channelenumrequired

    One of online_store payment_page admin api

  • sourcestringrequired
  • currencystringrequired
  • subtotalintegerrequired
  • shipping_totalintegerrequired
  • tax_totalintegerrequired
  • totalintegerrequired
  • discount_totalintegerrequired
  • discount_codestring or nullrequired
  • attributesobjectrequired

    Answers to the payment page questions.

  • checkout_idstring or nullrequired
  • payment_statusenumrequired

    One of unpaid cod_unpaid paid partially_refunded refunded

  • fulfilment_statusenumrequired

    One of unfulfilled partially_fulfilled fulfilled

  • statusenumrequired

    One of open cancelled closed

  • shipping_addressobject or nullrequired
  • notestringrequired
  • tagsarray of stringrequired
  • needs_attentionarray of stringrequired
  • cancel_reasonstring or nullrequired
  • cancelled_attimestamp or nullrequired
  • paid_attimestamp or nullrequired
  • linesarray of objectrequired
  • lines[].idID (oli_...)required
  • lines[].product_idID (prd_...)required
  • lines[].variant_idID (var_...)required
  • lines[].titlestringrequired
  • lines[].variant_titlestringrequired
  • lines[].skustring or nullrequired
  • lines[].quantityintegerrequired
  • lines[].unit_priceintegerrequired
  • lines[].totalintegerrequired
  • lines[].tax_amountintegerrequired
  • lines[].gst_rate_bpinteger or nullrequired
  • lines[].hsn_codestring or nullrequired
  • lines[].requires_shippingbooleanrequired
  • fulfilmentsarray of objectrequired
  • fulfilments[].idID (ful_...)required
  • fulfilments[].kindenumrequired

    One of manual digital

  • fulfilments[].statusenumrequired

    One of fulfilled cancelled

  • fulfilments[].linesarray of objectrequired
  • fulfilments[].lines[].line_idID (oli_...)required
  • fulfilments[].lines[].quantityintegerrequired
  • fulfilments[].carrierstring or nullrequired
  • fulfilments[].tracking_numberstring or nullrequired
  • fulfilments[].tracking_urlstring or nullrequired
  • fulfilments[].created_attimestamprequired
  • eventsarray of objectrequired
  • events[].idID (oev_...)required
  • events[].typestringrequired
  • events[].messagestringrequired
  • events[].created_attimestamprequired
  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X PATCH https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R \
  -H "Authorization: Bearer pat_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "note": "Hand block printed cotton.",
  "tags": [
    "string"
  ],
  "buyer": {
    "name": "Festive saree",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  }
}'
Response 200
{
  "id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "number": 1,
  "name": "Festive saree",
  "customer_id": "cus_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "buyer": {
    "name": "Festive saree",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  },
  "channel": "online_store",
  "source": "string",
  "currency": "INR",
  "subtotal": 49900,
  "shipping_total": 49900,
  "tax_total": 49900,
  "total": 49900,
  "discount_total": 49900,
  "discount_code": "string",
  "attributes": {},
  "checkout_id": "string",
  "payment_status": "unpaid",
  "fulfilment_status": "unfulfilled",
  "status": "open",
  "shipping_address": {},
  "note": "Hand block printed cotton.",
  "tags": [
    "string"
  ],
  "needs_attention": [
    "string"
  ],
  "cancel_reason": "string",
  "cancelled_at": "2026-11-04T10:00:00.000Z",
  "paid_at": "2026-11-04T10:00:00.000Z",
  "lines": [
    {
      "id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "product_id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "variant_title": "Festive saree",
      "sku": "string",
      "quantity": 1,
      "unit_price": 49900,
      "total": 49900,
      "tax_amount": 49900,
      "gst_rate_bp": 1,
      "hsn_code": "string",
      "requires_shipping": false
    }
  ],
  "fulfilments": [
    {
      "id": "ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "kind": "manual",
      "status": "fulfilled",
      "lines": [
        {
          "line_id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "quantity": 1
        }
      ],
      "carrier": "string",
      "tracking_number": "string",
      "tracking_url": "https://example.com",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "events": [
    {
      "id": "oev_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "type": "string",
      "message": "Hand block printed cotton.",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

Cancel an unpaid order and put its stock back

POST/admin/2026-11/orders/{id}/cancel

scope write_ordersIdempotency-Key required

Path parameters

  • idID (ord_...)required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Request body

  • reasonenum

    One of customer inventory fraud declined other

    Default "other"

  • restockboolean

    Default true

Response 200

  • idID (ord_...)required
  • numberintegerrequired
  • namestringrequired

    Display number, for example #1001.

  • customer_idID (cus_...) or nullrequired
  • buyerobjectrequired
  • buyer.namestringrequired
  • buyer.emailstring or nullrequired
  • buyer.phonestring or nullrequired
  • channelenumrequired

    One of online_store payment_page admin api

  • sourcestringrequired
  • currencystringrequired
  • subtotalintegerrequired
  • shipping_totalintegerrequired
  • tax_totalintegerrequired
  • totalintegerrequired
  • discount_totalintegerrequired
  • discount_codestring or nullrequired
  • attributesobjectrequired

    Answers to the payment page questions.

  • checkout_idstring or nullrequired
  • payment_statusenumrequired

    One of unpaid cod_unpaid paid partially_refunded refunded

  • fulfilment_statusenumrequired

    One of unfulfilled partially_fulfilled fulfilled

  • statusenumrequired

    One of open cancelled closed

  • shipping_addressobject or nullrequired
  • notestringrequired
  • tagsarray of stringrequired
  • needs_attentionarray of stringrequired
  • cancel_reasonstring or nullrequired
  • cancelled_attimestamp or nullrequired
  • paid_attimestamp or nullrequired
  • linesarray of objectrequired
  • lines[].idID (oli_...)required
  • lines[].product_idID (prd_...)required
  • lines[].variant_idID (var_...)required
  • lines[].titlestringrequired
  • lines[].variant_titlestringrequired
  • lines[].skustring or nullrequired
  • lines[].quantityintegerrequired
  • lines[].unit_priceintegerrequired
  • lines[].totalintegerrequired
  • lines[].tax_amountintegerrequired
  • lines[].gst_rate_bpinteger or nullrequired
  • lines[].hsn_codestring or nullrequired
  • lines[].requires_shippingbooleanrequired
  • fulfilmentsarray of objectrequired
  • fulfilments[].idID (ful_...)required
  • fulfilments[].kindenumrequired

    One of manual digital

  • fulfilments[].statusenumrequired

    One of fulfilled cancelled

  • fulfilments[].linesarray of objectrequired
  • fulfilments[].lines[].line_idID (oli_...)required
  • fulfilments[].lines[].quantityintegerrequired
  • fulfilments[].carrierstring or nullrequired
  • fulfilments[].tracking_numberstring or nullrequired
  • fulfilments[].tracking_urlstring or nullrequired
  • fulfilments[].created_attimestamprequired
  • eventsarray of objectrequired
  • events[].idID (oev_...)required
  • events[].typestringrequired
  • events[].messagestringrequired
  • events[].created_attimestamprequired
  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
409conflictThe request conflicts with the current state of the object.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R/cancel \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "customer",
  "restock": true
}'
Response 200
{
  "id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "number": 1,
  "name": "Festive saree",
  "customer_id": "cus_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "buyer": {
    "name": "Festive saree",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  },
  "channel": "online_store",
  "source": "string",
  "currency": "INR",
  "subtotal": 49900,
  "shipping_total": 49900,
  "tax_total": 49900,
  "total": 49900,
  "discount_total": 49900,
  "discount_code": "string",
  "attributes": {},
  "checkout_id": "string",
  "payment_status": "unpaid",
  "fulfilment_status": "unfulfilled",
  "status": "open",
  "shipping_address": {},
  "note": "Hand block printed cotton.",
  "tags": [
    "string"
  ],
  "needs_attention": [
    "string"
  ],
  "cancel_reason": "string",
  "cancelled_at": "2026-11-04T10:00:00.000Z",
  "paid_at": "2026-11-04T10:00:00.000Z",
  "lines": [
    {
      "id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "product_id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "variant_title": "Festive saree",
      "sku": "string",
      "quantity": 1,
      "unit_price": 49900,
      "total": 49900,
      "tax_amount": 49900,
      "gst_rate_bp": 1,
      "hsn_code": "string",
      "requires_shipping": false
    }
  ],
  "fulfilments": [
    {
      "id": "ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "kind": "manual",
      "status": "fulfilled",
      "lines": [
        {
          "line_id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "quantity": 1
        }
      ],
      "carrier": "string",
      "tracking_number": "string",
      "tracking_url": "https://example.com",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "events": [
    {
      "id": "oev_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "type": "string",
      "message": "Hand block printed cotton.",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

Archive a finished order (closed); it stays searchable and can be reopened

POST/admin/2026-11/orders/{id}/close

scope write_ordersIdempotency-Key required

Path parameters

  • idID (ord_...)required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Response 200

  • idID (ord_...)required
  • numberintegerrequired
  • namestringrequired

    Display number, for example #1001.

  • customer_idID (cus_...) or nullrequired
  • buyerobjectrequired
  • buyer.namestringrequired
  • buyer.emailstring or nullrequired
  • buyer.phonestring or nullrequired
  • channelenumrequired

    One of online_store payment_page admin api

  • sourcestringrequired
  • currencystringrequired
  • subtotalintegerrequired
  • shipping_totalintegerrequired
  • tax_totalintegerrequired
  • totalintegerrequired
  • discount_totalintegerrequired
  • discount_codestring or nullrequired
  • attributesobjectrequired

    Answers to the payment page questions.

  • checkout_idstring or nullrequired
  • payment_statusenumrequired

    One of unpaid cod_unpaid paid partially_refunded refunded

  • fulfilment_statusenumrequired

    One of unfulfilled partially_fulfilled fulfilled

  • statusenumrequired

    One of open cancelled closed

  • shipping_addressobject or nullrequired
  • notestringrequired
  • tagsarray of stringrequired
  • needs_attentionarray of stringrequired
  • cancel_reasonstring or nullrequired
  • cancelled_attimestamp or nullrequired
  • paid_attimestamp or nullrequired
  • linesarray of objectrequired
  • lines[].idID (oli_...)required
  • lines[].product_idID (prd_...)required
  • lines[].variant_idID (var_...)required
  • lines[].titlestringrequired
  • lines[].variant_titlestringrequired
  • lines[].skustring or nullrequired
  • lines[].quantityintegerrequired
  • lines[].unit_priceintegerrequired
  • lines[].totalintegerrequired
  • lines[].tax_amountintegerrequired
  • lines[].gst_rate_bpinteger or nullrequired
  • lines[].hsn_codestring or nullrequired
  • lines[].requires_shippingbooleanrequired
  • fulfilmentsarray of objectrequired
  • fulfilments[].idID (ful_...)required
  • fulfilments[].kindenumrequired

    One of manual digital

  • fulfilments[].statusenumrequired

    One of fulfilled cancelled

  • fulfilments[].linesarray of objectrequired
  • fulfilments[].lines[].line_idID (oli_...)required
  • fulfilments[].lines[].quantityintegerrequired
  • fulfilments[].carrierstring or nullrequired
  • fulfilments[].tracking_numberstring or nullrequired
  • fulfilments[].tracking_urlstring or nullrequired
  • fulfilments[].created_attimestamprequired
  • eventsarray of objectrequired
  • events[].idID (oev_...)required
  • events[].typestringrequired
  • events[].messagestringrequired
  • events[].created_attimestamprequired
  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
409conflictThe request conflicts with the current state of the object.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R/close \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)"
Response 200
{
  "id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "number": 1,
  "name": "Festive saree",
  "customer_id": "cus_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "buyer": {
    "name": "Festive saree",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  },
  "channel": "online_store",
  "source": "string",
  "currency": "INR",
  "subtotal": 49900,
  "shipping_total": 49900,
  "tax_total": 49900,
  "total": 49900,
  "discount_total": 49900,
  "discount_code": "string",
  "attributes": {},
  "checkout_id": "string",
  "payment_status": "unpaid",
  "fulfilment_status": "unfulfilled",
  "status": "open",
  "shipping_address": {},
  "note": "Hand block printed cotton.",
  "tags": [
    "string"
  ],
  "needs_attention": [
    "string"
  ],
  "cancel_reason": "string",
  "cancelled_at": "2026-11-04T10:00:00.000Z",
  "paid_at": "2026-11-04T10:00:00.000Z",
  "lines": [
    {
      "id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "product_id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "variant_title": "Festive saree",
      "sku": "string",
      "quantity": 1,
      "unit_price": 49900,
      "total": 49900,
      "tax_amount": 49900,
      "gst_rate_bp": 1,
      "hsn_code": "string",
      "requires_shipping": false
    }
  ],
  "fulfilments": [
    {
      "id": "ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "kind": "manual",
      "status": "fulfilled",
      "lines": [
        {
          "line_id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "quantity": 1
        }
      ],
      "carrier": "string",
      "tracking_number": "string",
      "tracking_url": "https://example.com",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "events": [
    {
      "id": "oev_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "type": "string",
      "message": "Hand block printed cotton.",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

Record that the cash for a COD order was collected

POST/admin/2026-11/orders/{id}/cod-collected

scope write_ordersIdempotency-Key required

Path parameters

  • idID (ord_...)required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Response 200

  • idID (ord_...)required
  • numberintegerrequired
  • namestringrequired

    Display number, for example #1001.

  • customer_idID (cus_...) or nullrequired
  • buyerobjectrequired
  • buyer.namestringrequired
  • buyer.emailstring or nullrequired
  • buyer.phonestring or nullrequired
  • channelenumrequired

    One of online_store payment_page admin api

  • sourcestringrequired
  • currencystringrequired
  • subtotalintegerrequired
  • shipping_totalintegerrequired
  • tax_totalintegerrequired
  • totalintegerrequired
  • discount_totalintegerrequired
  • discount_codestring or nullrequired
  • attributesobjectrequired

    Answers to the payment page questions.

  • checkout_idstring or nullrequired
  • payment_statusenumrequired

    One of unpaid cod_unpaid paid partially_refunded refunded

  • fulfilment_statusenumrequired

    One of unfulfilled partially_fulfilled fulfilled

  • statusenumrequired

    One of open cancelled closed

  • shipping_addressobject or nullrequired
  • notestringrequired
  • tagsarray of stringrequired
  • needs_attentionarray of stringrequired
  • cancel_reasonstring or nullrequired
  • cancelled_attimestamp or nullrequired
  • paid_attimestamp or nullrequired
  • linesarray of objectrequired
  • lines[].idID (oli_...)required
  • lines[].product_idID (prd_...)required
  • lines[].variant_idID (var_...)required
  • lines[].titlestringrequired
  • lines[].variant_titlestringrequired
  • lines[].skustring or nullrequired
  • lines[].quantityintegerrequired
  • lines[].unit_priceintegerrequired
  • lines[].totalintegerrequired
  • lines[].tax_amountintegerrequired
  • lines[].gst_rate_bpinteger or nullrequired
  • lines[].hsn_codestring or nullrequired
  • lines[].requires_shippingbooleanrequired
  • fulfilmentsarray of objectrequired
  • fulfilments[].idID (ful_...)required
  • fulfilments[].kindenumrequired

    One of manual digital

  • fulfilments[].statusenumrequired

    One of fulfilled cancelled

  • fulfilments[].linesarray of objectrequired
  • fulfilments[].lines[].line_idID (oli_...)required
  • fulfilments[].lines[].quantityintegerrequired
  • fulfilments[].carrierstring or nullrequired
  • fulfilments[].tracking_numberstring or nullrequired
  • fulfilments[].tracking_urlstring or nullrequired
  • fulfilments[].created_attimestamprequired
  • eventsarray of objectrequired
  • events[].idID (oev_...)required
  • events[].typestringrequired
  • events[].messagestringrequired
  • events[].created_attimestamprequired
  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
409conflictThe request conflicts with the current state of the object.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R/cod-collected \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)"
Response 200
{
  "id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "number": 1,
  "name": "Festive saree",
  "customer_id": "cus_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "buyer": {
    "name": "Festive saree",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  },
  "channel": "online_store",
  "source": "string",
  "currency": "INR",
  "subtotal": 49900,
  "shipping_total": 49900,
  "tax_total": 49900,
  "total": 49900,
  "discount_total": 49900,
  "discount_code": "string",
  "attributes": {},
  "checkout_id": "string",
  "payment_status": "unpaid",
  "fulfilment_status": "unfulfilled",
  "status": "open",
  "shipping_address": {},
  "note": "Hand block printed cotton.",
  "tags": [
    "string"
  ],
  "needs_attention": [
    "string"
  ],
  "cancel_reason": "string",
  "cancelled_at": "2026-11-04T10:00:00.000Z",
  "paid_at": "2026-11-04T10:00:00.000Z",
  "lines": [
    {
      "id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "product_id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "variant_title": "Festive saree",
      "sku": "string",
      "quantity": 1,
      "unit_price": 49900,
      "total": 49900,
      "tax_amount": 49900,
      "gst_rate_bp": 1,
      "hsn_code": "string",
      "requires_shipping": false
    }
  ],
  "fulfilments": [
    {
      "id": "ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "kind": "manual",
      "status": "fulfilled",
      "lines": [
        {
          "line_id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "quantity": 1
        }
      ],
      "carrier": "string",
      "tracking_number": "string",
      "tracking_url": "https://example.com",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "events": [
    {
      "id": "oev_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "type": "string",
      "message": "Hand block printed cotton.",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

Add a staff comment to the order timeline (buyers never see it)

POST/admin/2026-11/orders/{id}/comments

scope write_ordersIdempotency-Key required

Path parameters

  • idID (ord_...)required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Request body

  • messagestringrequired

    At least 1 characters · Up to 2000 characters

Response 201

  • idID (ord_...)required
  • numberintegerrequired
  • namestringrequired

    Display number, for example #1001.

  • customer_idID (cus_...) or nullrequired
  • buyerobjectrequired
  • buyer.namestringrequired
  • buyer.emailstring or nullrequired
  • buyer.phonestring or nullrequired
  • channelenumrequired

    One of online_store payment_page admin api

  • sourcestringrequired
  • currencystringrequired
  • subtotalintegerrequired
  • shipping_totalintegerrequired
  • tax_totalintegerrequired
  • totalintegerrequired
  • discount_totalintegerrequired
  • discount_codestring or nullrequired
  • attributesobjectrequired

    Answers to the payment page questions.

  • checkout_idstring or nullrequired
  • payment_statusenumrequired

    One of unpaid cod_unpaid paid partially_refunded refunded

  • fulfilment_statusenumrequired

    One of unfulfilled partially_fulfilled fulfilled

  • statusenumrequired

    One of open cancelled closed

  • shipping_addressobject or nullrequired
  • notestringrequired
  • tagsarray of stringrequired
  • needs_attentionarray of stringrequired
  • cancel_reasonstring or nullrequired
  • cancelled_attimestamp or nullrequired
  • paid_attimestamp or nullrequired
  • linesarray of objectrequired
  • lines[].idID (oli_...)required
  • lines[].product_idID (prd_...)required
  • lines[].variant_idID (var_...)required
  • lines[].titlestringrequired
  • lines[].variant_titlestringrequired
  • lines[].skustring or nullrequired
  • lines[].quantityintegerrequired
  • lines[].unit_priceintegerrequired
  • lines[].totalintegerrequired
  • lines[].tax_amountintegerrequired
  • lines[].gst_rate_bpinteger or nullrequired
  • lines[].hsn_codestring or nullrequired
  • lines[].requires_shippingbooleanrequired
  • fulfilmentsarray of objectrequired
  • fulfilments[].idID (ful_...)required
  • fulfilments[].kindenumrequired

    One of manual digital

  • fulfilments[].statusenumrequired

    One of fulfilled cancelled

  • fulfilments[].linesarray of objectrequired
  • fulfilments[].lines[].line_idID (oli_...)required
  • fulfilments[].lines[].quantityintegerrequired
  • fulfilments[].carrierstring or nullrequired
  • fulfilments[].tracking_numberstring or nullrequired
  • fulfilments[].tracking_urlstring or nullrequired
  • fulfilments[].created_attimestamprequired
  • eventsarray of objectrequired
  • events[].idID (oev_...)required
  • events[].typestringrequired
  • events[].messagestringrequired
  • events[].created_attimestamprequired
  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R/comments \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "message": "Hand block printed cotton."
}'
Response 201
{
  "id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "number": 1,
  "name": "Festive saree",
  "customer_id": "cus_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "buyer": {
    "name": "Festive saree",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  },
  "channel": "online_store",
  "source": "string",
  "currency": "INR",
  "subtotal": 49900,
  "shipping_total": 49900,
  "tax_total": 49900,
  "total": 49900,
  "discount_total": 49900,
  "discount_code": "string",
  "attributes": {},
  "checkout_id": "string",
  "payment_status": "unpaid",
  "fulfilment_status": "unfulfilled",
  "status": "open",
  "shipping_address": {},
  "note": "Hand block printed cotton.",
  "tags": [
    "string"
  ],
  "needs_attention": [
    "string"
  ],
  "cancel_reason": "string",
  "cancelled_at": "2026-11-04T10:00:00.000Z",
  "paid_at": "2026-11-04T10:00:00.000Z",
  "lines": [
    {
      "id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "product_id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "variant_title": "Festive saree",
      "sku": "string",
      "quantity": 1,
      "unit_price": 49900,
      "total": 49900,
      "tax_amount": 49900,
      "gst_rate_bp": 1,
      "hsn_code": "string",
      "requires_shipping": false
    }
  ],
  "fulfilments": [
    {
      "id": "ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "kind": "manual",
      "status": "fulfilled",
      "lines": [
        {
          "line_id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "quantity": 1
        }
      ],
      "carrier": "string",
      "tracking_number": "string",
      "tracking_url": "https://example.com",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "events": [
    {
      "id": "oev_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "type": "string",
      "message": "Hand block printed cotton.",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

Mark items as sent, with optional carrier and tracking

POST/admin/2026-11/orders/{id}/fulfilments

scope write_ordersIdempotency-Key required

Path parameters

  • idID (ord_...)required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Request body

  • linesarray of object

    Leave out to send everything not sent yet.

    Up to 100 items

  • lines[].line_idID (oli_...)required
  • lines[].quantityintegerrequired

    1 to 10000

  • carrierstring or null

    Default null

  • tracking_numberstring or null

    Default null

  • tracking_urlstring or null

    Default null

Response 201

  • idID (ord_...)required
  • numberintegerrequired
  • namestringrequired

    Display number, for example #1001.

  • customer_idID (cus_...) or nullrequired
  • buyerobjectrequired
  • buyer.namestringrequired
  • buyer.emailstring or nullrequired
  • buyer.phonestring or nullrequired
  • channelenumrequired

    One of online_store payment_page admin api

  • sourcestringrequired
  • currencystringrequired
  • subtotalintegerrequired
  • shipping_totalintegerrequired
  • tax_totalintegerrequired
  • totalintegerrequired
  • discount_totalintegerrequired
  • discount_codestring or nullrequired
  • attributesobjectrequired

    Answers to the payment page questions.

  • checkout_idstring or nullrequired
  • payment_statusenumrequired

    One of unpaid cod_unpaid paid partially_refunded refunded

  • fulfilment_statusenumrequired

    One of unfulfilled partially_fulfilled fulfilled

  • statusenumrequired

    One of open cancelled closed

  • shipping_addressobject or nullrequired
  • notestringrequired
  • tagsarray of stringrequired
  • needs_attentionarray of stringrequired
  • cancel_reasonstring or nullrequired
  • cancelled_attimestamp or nullrequired
  • paid_attimestamp or nullrequired
  • linesarray of objectrequired
  • lines[].idID (oli_...)required
  • lines[].product_idID (prd_...)required
  • lines[].variant_idID (var_...)required
  • lines[].titlestringrequired
  • lines[].variant_titlestringrequired
  • lines[].skustring or nullrequired
  • lines[].quantityintegerrequired
  • lines[].unit_priceintegerrequired
  • lines[].totalintegerrequired
  • lines[].tax_amountintegerrequired
  • lines[].gst_rate_bpinteger or nullrequired
  • lines[].hsn_codestring or nullrequired
  • lines[].requires_shippingbooleanrequired
  • fulfilmentsarray of objectrequired
  • fulfilments[].idID (ful_...)required
  • fulfilments[].kindenumrequired

    One of manual digital

  • fulfilments[].statusenumrequired

    One of fulfilled cancelled

  • fulfilments[].linesarray of objectrequired
  • fulfilments[].lines[].line_idID (oli_...)required
  • fulfilments[].lines[].quantityintegerrequired
  • fulfilments[].carrierstring or nullrequired
  • fulfilments[].tracking_numberstring or nullrequired
  • fulfilments[].tracking_urlstring or nullrequired
  • fulfilments[].created_attimestamprequired
  • eventsarray of objectrequired
  • events[].idID (oev_...)required
  • events[].typestringrequired
  • events[].messagestringrequired
  • events[].created_attimestamprequired
  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
409conflictThe request conflicts with the current state of the object.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R/fulfilments \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "lines": [
    {
      "line_id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "quantity": 1
    }
  ],
  "carrier": "string",
  "tracking_number": "string"
}'
Response 201
{
  "id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "number": 1,
  "name": "Festive saree",
  "customer_id": "cus_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "buyer": {
    "name": "Festive saree",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  },
  "channel": "online_store",
  "source": "string",
  "currency": "INR",
  "subtotal": 49900,
  "shipping_total": 49900,
  "tax_total": 49900,
  "total": 49900,
  "discount_total": 49900,
  "discount_code": "string",
  "attributes": {},
  "checkout_id": "string",
  "payment_status": "unpaid",
  "fulfilment_status": "unfulfilled",
  "status": "open",
  "shipping_address": {},
  "note": "Hand block printed cotton.",
  "tags": [
    "string"
  ],
  "needs_attention": [
    "string"
  ],
  "cancel_reason": "string",
  "cancelled_at": "2026-11-04T10:00:00.000Z",
  "paid_at": "2026-11-04T10:00:00.000Z",
  "lines": [
    {
      "id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "product_id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "variant_title": "Festive saree",
      "sku": "string",
      "quantity": 1,
      "unit_price": 49900,
      "total": 49900,
      "tax_amount": 49900,
      "gst_rate_bp": 1,
      "hsn_code": "string",
      "requires_shipping": false
    }
  ],
  "fulfilments": [
    {
      "id": "ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "kind": "manual",
      "status": "fulfilled",
      "lines": [
        {
          "line_id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "quantity": 1
        }
      ],
      "carrier": "string",
      "tracking_number": "string",
      "tracking_url": "https://example.com",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "events": [
    {
      "id": "oev_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "type": "string",
      "message": "Hand block printed cotton.",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

Change the carrier or tracking of a shipment

PATCH/admin/2026-11/orders/{id}/fulfilments/{fulfilment_id}

scope write_orders

Path parameters

  • idID (ord_...)required
  • fulfilment_idID (ful_...)required

Headers

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Request body

  • carrierstring or nullrequired
  • tracking_numberstring or nullrequired
  • tracking_urlstring or nullrequired

Response 200

  • idID (ord_...)required
  • numberintegerrequired
  • namestringrequired

    Display number, for example #1001.

  • customer_idID (cus_...) or nullrequired
  • buyerobjectrequired
  • buyer.namestringrequired
  • buyer.emailstring or nullrequired
  • buyer.phonestring or nullrequired
  • channelenumrequired

    One of online_store payment_page admin api

  • sourcestringrequired
  • currencystringrequired
  • subtotalintegerrequired
  • shipping_totalintegerrequired
  • tax_totalintegerrequired
  • totalintegerrequired
  • discount_totalintegerrequired
  • discount_codestring or nullrequired
  • attributesobjectrequired

    Answers to the payment page questions.

  • checkout_idstring or nullrequired
  • payment_statusenumrequired

    One of unpaid cod_unpaid paid partially_refunded refunded

  • fulfilment_statusenumrequired

    One of unfulfilled partially_fulfilled fulfilled

  • statusenumrequired

    One of open cancelled closed

  • shipping_addressobject or nullrequired
  • notestringrequired
  • tagsarray of stringrequired
  • needs_attentionarray of stringrequired
  • cancel_reasonstring or nullrequired
  • cancelled_attimestamp or nullrequired
  • paid_attimestamp or nullrequired
  • linesarray of objectrequired
  • lines[].idID (oli_...)required
  • lines[].product_idID (prd_...)required
  • lines[].variant_idID (var_...)required
  • lines[].titlestringrequired
  • lines[].variant_titlestringrequired
  • lines[].skustring or nullrequired
  • lines[].quantityintegerrequired
  • lines[].unit_priceintegerrequired
  • lines[].totalintegerrequired
  • lines[].tax_amountintegerrequired
  • lines[].gst_rate_bpinteger or nullrequired
  • lines[].hsn_codestring or nullrequired
  • lines[].requires_shippingbooleanrequired
  • fulfilmentsarray of objectrequired
  • fulfilments[].idID (ful_...)required
  • fulfilments[].kindenumrequired

    One of manual digital

  • fulfilments[].statusenumrequired

    One of fulfilled cancelled

  • fulfilments[].linesarray of objectrequired
  • fulfilments[].lines[].line_idID (oli_...)required
  • fulfilments[].lines[].quantityintegerrequired
  • fulfilments[].carrierstring or nullrequired
  • fulfilments[].tracking_numberstring or nullrequired
  • fulfilments[].tracking_urlstring or nullrequired
  • fulfilments[].created_attimestamprequired
  • eventsarray of objectrequired
  • events[].idID (oev_...)required
  • events[].typestringrequired
  • events[].messagestringrequired
  • events[].created_attimestamprequired
  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
409conflictThe request conflicts with the current state of the object.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X PATCH https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R/fulfilments/ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R \
  -H "Authorization: Bearer pat_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "carrier": "string",
  "tracking_number": "string",
  "tracking_url": "https://example.com"
}'
Response 200
{
  "id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "number": 1,
  "name": "Festive saree",
  "customer_id": "cus_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "buyer": {
    "name": "Festive saree",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  },
  "channel": "online_store",
  "source": "string",
  "currency": "INR",
  "subtotal": 49900,
  "shipping_total": 49900,
  "tax_total": 49900,
  "total": 49900,
  "discount_total": 49900,
  "discount_code": "string",
  "attributes": {},
  "checkout_id": "string",
  "payment_status": "unpaid",
  "fulfilment_status": "unfulfilled",
  "status": "open",
  "shipping_address": {},
  "note": "Hand block printed cotton.",
  "tags": [
    "string"
  ],
  "needs_attention": [
    "string"
  ],
  "cancel_reason": "string",
  "cancelled_at": "2026-11-04T10:00:00.000Z",
  "paid_at": "2026-11-04T10:00:00.000Z",
  "lines": [
    {
      "id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "product_id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "variant_title": "Festive saree",
      "sku": "string",
      "quantity": 1,
      "unit_price": 49900,
      "total": 49900,
      "tax_amount": 49900,
      "gst_rate_bp": 1,
      "hsn_code": "string",
      "requires_shipping": false
    }
  ],
  "fulfilments": [
    {
      "id": "ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "kind": "manual",
      "status": "fulfilled",
      "lines": [
        {
          "line_id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "quantity": 1
        }
      ],
      "carrier": "string",
      "tracking_number": "string",
      "tracking_url": "https://example.com",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "events": [
    {
      "id": "oev_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "type": "string",
      "message": "Hand block printed cotton.",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

Cancel a shipment that did not go out; its items count as not sent again

POST/admin/2026-11/orders/{id}/fulfilments/{fulfilment_id}/cancel

scope write_ordersIdempotency-Key required

Path parameters

  • idID (ord_...)required
  • fulfilment_idID (ful_...)required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Response 200

  • idID (ord_...)required
  • numberintegerrequired
  • namestringrequired

    Display number, for example #1001.

  • customer_idID (cus_...) or nullrequired
  • buyerobjectrequired
  • buyer.namestringrequired
  • buyer.emailstring or nullrequired
  • buyer.phonestring or nullrequired
  • channelenumrequired

    One of online_store payment_page admin api

  • sourcestringrequired
  • currencystringrequired
  • subtotalintegerrequired
  • shipping_totalintegerrequired
  • tax_totalintegerrequired
  • totalintegerrequired
  • discount_totalintegerrequired
  • discount_codestring or nullrequired
  • attributesobjectrequired

    Answers to the payment page questions.

  • checkout_idstring or nullrequired
  • payment_statusenumrequired

    One of unpaid cod_unpaid paid partially_refunded refunded

  • fulfilment_statusenumrequired

    One of unfulfilled partially_fulfilled fulfilled

  • statusenumrequired

    One of open cancelled closed

  • shipping_addressobject or nullrequired
  • notestringrequired
  • tagsarray of stringrequired
  • needs_attentionarray of stringrequired
  • cancel_reasonstring or nullrequired
  • cancelled_attimestamp or nullrequired
  • paid_attimestamp or nullrequired
  • linesarray of objectrequired
  • lines[].idID (oli_...)required
  • lines[].product_idID (prd_...)required
  • lines[].variant_idID (var_...)required
  • lines[].titlestringrequired
  • lines[].variant_titlestringrequired
  • lines[].skustring or nullrequired
  • lines[].quantityintegerrequired
  • lines[].unit_priceintegerrequired
  • lines[].totalintegerrequired
  • lines[].tax_amountintegerrequired
  • lines[].gst_rate_bpinteger or nullrequired
  • lines[].hsn_codestring or nullrequired
  • lines[].requires_shippingbooleanrequired
  • fulfilmentsarray of objectrequired
  • fulfilments[].idID (ful_...)required
  • fulfilments[].kindenumrequired

    One of manual digital

  • fulfilments[].statusenumrequired

    One of fulfilled cancelled

  • fulfilments[].linesarray of objectrequired
  • fulfilments[].lines[].line_idID (oli_...)required
  • fulfilments[].lines[].quantityintegerrequired
  • fulfilments[].carrierstring or nullrequired
  • fulfilments[].tracking_numberstring or nullrequired
  • fulfilments[].tracking_urlstring or nullrequired
  • fulfilments[].created_attimestamprequired
  • eventsarray of objectrequired
  • events[].idID (oev_...)required
  • events[].typestringrequired
  • events[].messagestringrequired
  • events[].created_attimestamprequired
  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
409conflictThe request conflicts with the current state of the object.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R/fulfilments/ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R/cancel \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)"
Response 200
{
  "id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "number": 1,
  "name": "Festive saree",
  "customer_id": "cus_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "buyer": {
    "name": "Festive saree",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  },
  "channel": "online_store",
  "source": "string",
  "currency": "INR",
  "subtotal": 49900,
  "shipping_total": 49900,
  "tax_total": 49900,
  "total": 49900,
  "discount_total": 49900,
  "discount_code": "string",
  "attributes": {},
  "checkout_id": "string",
  "payment_status": "unpaid",
  "fulfilment_status": "unfulfilled",
  "status": "open",
  "shipping_address": {},
  "note": "Hand block printed cotton.",
  "tags": [
    "string"
  ],
  "needs_attention": [
    "string"
  ],
  "cancel_reason": "string",
  "cancelled_at": "2026-11-04T10:00:00.000Z",
  "paid_at": "2026-11-04T10:00:00.000Z",
  "lines": [
    {
      "id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "product_id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "variant_title": "Festive saree",
      "sku": "string",
      "quantity": 1,
      "unit_price": 49900,
      "total": 49900,
      "tax_amount": 49900,
      "gst_rate_bp": 1,
      "hsn_code": "string",
      "requires_shipping": false
    }
  ],
  "fulfilments": [
    {
      "id": "ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "kind": "manual",
      "status": "fulfilled",
      "lines": [
        {
          "line_id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "quantity": 1
        }
      ],
      "carrier": "string",
      "tracking_number": "string",
      "tracking_url": "https://example.com",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "events": [
    {
      "id": "oev_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "type": "string",
      "message": "Hand block printed cotton.",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

Record a payment received outside checkout (cash, bank transfer, UPI to you)

POST/admin/2026-11/orders/{id}/mark-paid

For unpaid orders only (D-132). The method and reference go on the timeline; a later online payment for the same order is refunded automatically as a duplicate.

scope write_ordersIdempotency-Key required

Path parameters

  • idID (ord_...)required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Request body

  • methodenumrequired

    One of cash bank_transfer upi cheque other

  • referencestring

    UTR, cheque number or a note.

    Up to 120 characters

Response 200

  • idID (ord_...)required
  • numberintegerrequired
  • namestringrequired

    Display number, for example #1001.

  • customer_idID (cus_...) or nullrequired
  • buyerobjectrequired
  • buyer.namestringrequired
  • buyer.emailstring or nullrequired
  • buyer.phonestring or nullrequired
  • channelenumrequired

    One of online_store payment_page admin api

  • sourcestringrequired
  • currencystringrequired
  • subtotalintegerrequired
  • shipping_totalintegerrequired
  • tax_totalintegerrequired
  • totalintegerrequired
  • discount_totalintegerrequired
  • discount_codestring or nullrequired
  • attributesobjectrequired

    Answers to the payment page questions.

  • checkout_idstring or nullrequired
  • payment_statusenumrequired

    One of unpaid cod_unpaid paid partially_refunded refunded

  • fulfilment_statusenumrequired

    One of unfulfilled partially_fulfilled fulfilled

  • statusenumrequired

    One of open cancelled closed

  • shipping_addressobject or nullrequired
  • notestringrequired
  • tagsarray of stringrequired
  • needs_attentionarray of stringrequired
  • cancel_reasonstring or nullrequired
  • cancelled_attimestamp or nullrequired
  • paid_attimestamp or nullrequired
  • linesarray of objectrequired
  • lines[].idID (oli_...)required
  • lines[].product_idID (prd_...)required
  • lines[].variant_idID (var_...)required
  • lines[].titlestringrequired
  • lines[].variant_titlestringrequired
  • lines[].skustring or nullrequired
  • lines[].quantityintegerrequired
  • lines[].unit_priceintegerrequired
  • lines[].totalintegerrequired
  • lines[].tax_amountintegerrequired
  • lines[].gst_rate_bpinteger or nullrequired
  • lines[].hsn_codestring or nullrequired
  • lines[].requires_shippingbooleanrequired
  • fulfilmentsarray of objectrequired
  • fulfilments[].idID (ful_...)required
  • fulfilments[].kindenumrequired

    One of manual digital

  • fulfilments[].statusenumrequired

    One of fulfilled cancelled

  • fulfilments[].linesarray of objectrequired
  • fulfilments[].lines[].line_idID (oli_...)required
  • fulfilments[].lines[].quantityintegerrequired
  • fulfilments[].carrierstring or nullrequired
  • fulfilments[].tracking_numberstring or nullrequired
  • fulfilments[].tracking_urlstring or nullrequired
  • fulfilments[].created_attimestamprequired
  • eventsarray of objectrequired
  • events[].idID (oev_...)required
  • events[].typestringrequired
  • events[].messagestringrequired
  • events[].created_attimestamprequired
  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
409conflictThe request conflicts with the current state of the object.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R/mark-paid \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "method": "cash"
}'
Response 200
{
  "id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "number": 1,
  "name": "Festive saree",
  "customer_id": "cus_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "buyer": {
    "name": "Festive saree",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  },
  "channel": "online_store",
  "source": "string",
  "currency": "INR",
  "subtotal": 49900,
  "shipping_total": 49900,
  "tax_total": 49900,
  "total": 49900,
  "discount_total": 49900,
  "discount_code": "string",
  "attributes": {},
  "checkout_id": "string",
  "payment_status": "unpaid",
  "fulfilment_status": "unfulfilled",
  "status": "open",
  "shipping_address": {},
  "note": "Hand block printed cotton.",
  "tags": [
    "string"
  ],
  "needs_attention": [
    "string"
  ],
  "cancel_reason": "string",
  "cancelled_at": "2026-11-04T10:00:00.000Z",
  "paid_at": "2026-11-04T10:00:00.000Z",
  "lines": [
    {
      "id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "product_id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "variant_title": "Festive saree",
      "sku": "string",
      "quantity": 1,
      "unit_price": 49900,
      "total": 49900,
      "tax_amount": 49900,
      "gst_rate_bp": 1,
      "hsn_code": "string",
      "requires_shipping": false
    }
  ],
  "fulfilments": [
    {
      "id": "ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "kind": "manual",
      "status": "fulfilled",
      "lines": [
        {
          "line_id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "quantity": 1
        }
      ],
      "carrier": "string",
      "tracking_number": "string",
      "tracking_url": "https://example.com",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "events": [
    {
      "id": "oev_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "type": "string",
      "message": "Hand block printed cotton.",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

Payment attempts of an order, newest first, each with its step trace

GET/admin/2026-11/orders/{id}/payments

scope read_orders

Path parameters

  • idID (ord_...)required

Response 200

  • dataarray of objectrequired
  • data[].idID (att_...)required
  • data[].stateenumrequired

    One of created awaiting_payment authorized pending paid failed abandoned late_success cancelled

  • data[].methodenumrequired

    One of upi card netbanking wallet emi paylater

  • data[].amountintegerrequired
  • data[].trace_idstringrequired
  • data[].cause_groupstring or nullrequired
  • data[].cause_codeenum or nullrequired

    One of buyer_cancelled buyer_left_upi_app buyer_wrong_pin_or_otp buyer_insufficient_funds buyer_limit_exceeded buyer_other bank_issuer_down bank_timeout bank_declined upi_app_not_responding bank_other provider_5xx provider_slow_order provider_rate_limited provider_risk_declined provider_other platform_api_error platform_price_mismatch platform_reservation_error platform_checkout_script_error platform_signature_invalid platform_other store_kyc_pending store_method_not_enabled ...

  • data[].seller_messagestring or nullrequired

    What happened, in plain words; never a provider name.

  • data[].created_attimestamprequired
  • data[].finalized_attimestamp or nullrequired
  • data[].stepsarray of objectrequired
  • data[].steps[].stepstringrequired
  • data[].steps[].sourceenumrequired

    One of server provider system client

  • data[].steps[].outcomeenumrequired

    One of ok error

  • data[].steps[].duration_msinteger or nullrequired
  • data[].steps[].attimestamprequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R/payments \
  -H "Authorization: Bearer pat_live_..."
Response 200
{
  "data": [
    {
      "id": "att_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "state": "created",
      "method": "upi",
      "amount": 49900,
      "trace_id": "string",
      "cause_group": "string",
      "cause_code": "buyer_cancelled",
      "seller_message": "Hand block printed cotton.",
      "created_at": "2026-11-04T10:00:00.000Z",
      "finalized_at": "2026-11-04T10:00:00.000Z",
      "steps": [
        {
          "step": "string",
          "source": "server",
          "outcome": "ok",
          "duration_ms": 1,
          "at": "2026-11-04T10:00:00.000Z"
        }
      ]
    }
  ]
}

Refunds of an order, newest first

GET/admin/2026-11/orders/{id}/refunds

scope read_orders

Path parameters

  • idID (ord_...)required

Response 200

  • dataarray of objectrequired
  • data[].idID (rfd_...)required
  • data[].order_idID (ord_...)required
  • data[].amountintegerrequired
  • data[].reasonenumrequired

    One of duplicate_capture late_payment_unfulfillable seller_requested order_cancelled

  • data[].notestringrequired
  • data[].statusenumrequired

    One of pending processed failed

  • data[].created_attimestamprequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R/refunds \
  -H "Authorization: Bearer pat_live_..."
Response 200
{
  "data": [
    {
      "id": "rfd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "order_id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "amount": 49900,
      "reason": "duplicate_capture",
      "note": "Hand block printed cotton.",
      "status": "pending",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ]
}

Refund a paid order in full or in part, to the way the buyer paid

POST/admin/2026-11/orders/{id}/refunds

scope write_ordersIdempotency-Key required

Path parameters

  • idID (ord_...)required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Request body

  • amountinteger

    In paise. Leave out to refund everything not refunded yet.

    Up to 1000000000

  • notestring

    Up to 500 characters

Response 201

  • idID (rfd_...)required
  • order_idID (ord_...)required
  • amountintegerrequired
  • reasonenumrequired

    One of duplicate_capture late_payment_unfulfillable seller_requested order_cancelled

  • notestringrequired
  • statusenumrequired

    One of pending processed failed

  • created_attimestamprequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
409conflictThe request conflicts with the current state of the object.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R/refunds \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 49900,
  "note": ""
}'
Response 201
{
  "id": "rfd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "order_id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "amount": 49900,
  "reason": "duplicate_capture",
  "note": "Hand block printed cotton.",
  "status": "pending",
  "created_at": "2026-11-04T10:00:00.000Z"
}

Reopen a closed order

POST/admin/2026-11/orders/{id}/reopen

scope write_ordersIdempotency-Key required

Path parameters

  • idID (ord_...)required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Response 200

  • idID (ord_...)required
  • numberintegerrequired
  • namestringrequired

    Display number, for example #1001.

  • customer_idID (cus_...) or nullrequired
  • buyerobjectrequired
  • buyer.namestringrequired
  • buyer.emailstring or nullrequired
  • buyer.phonestring or nullrequired
  • channelenumrequired

    One of online_store payment_page admin api

  • sourcestringrequired
  • currencystringrequired
  • subtotalintegerrequired
  • shipping_totalintegerrequired
  • tax_totalintegerrequired
  • totalintegerrequired
  • discount_totalintegerrequired
  • discount_codestring or nullrequired
  • attributesobjectrequired

    Answers to the payment page questions.

  • checkout_idstring or nullrequired
  • payment_statusenumrequired

    One of unpaid cod_unpaid paid partially_refunded refunded

  • fulfilment_statusenumrequired

    One of unfulfilled partially_fulfilled fulfilled

  • statusenumrequired

    One of open cancelled closed

  • shipping_addressobject or nullrequired
  • notestringrequired
  • tagsarray of stringrequired
  • needs_attentionarray of stringrequired
  • cancel_reasonstring or nullrequired
  • cancelled_attimestamp or nullrequired
  • paid_attimestamp or nullrequired
  • linesarray of objectrequired
  • lines[].idID (oli_...)required
  • lines[].product_idID (prd_...)required
  • lines[].variant_idID (var_...)required
  • lines[].titlestringrequired
  • lines[].variant_titlestringrequired
  • lines[].skustring or nullrequired
  • lines[].quantityintegerrequired
  • lines[].unit_priceintegerrequired
  • lines[].totalintegerrequired
  • lines[].tax_amountintegerrequired
  • lines[].gst_rate_bpinteger or nullrequired
  • lines[].hsn_codestring or nullrequired
  • lines[].requires_shippingbooleanrequired
  • fulfilmentsarray of objectrequired
  • fulfilments[].idID (ful_...)required
  • fulfilments[].kindenumrequired

    One of manual digital

  • fulfilments[].statusenumrequired

    One of fulfilled cancelled

  • fulfilments[].linesarray of objectrequired
  • fulfilments[].lines[].line_idID (oli_...)required
  • fulfilments[].lines[].quantityintegerrequired
  • fulfilments[].carrierstring or nullrequired
  • fulfilments[].tracking_numberstring or nullrequired
  • fulfilments[].tracking_urlstring or nullrequired
  • fulfilments[].created_attimestamprequired
  • eventsarray of objectrequired
  • events[].idID (oev_...)required
  • events[].typestringrequired
  • events[].messagestringrequired
  • events[].created_attimestamprequired
  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
409conflictThe request conflicts with the current state of the object.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R/reopen \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)"
Response 200
{
  "id": "ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "number": 1,
  "name": "Festive saree",
  "customer_id": "cus_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "buyer": {
    "name": "Festive saree",
    "email": "buyer@example.com",
    "phone": "+919876543210"
  },
  "channel": "online_store",
  "source": "string",
  "currency": "INR",
  "subtotal": 49900,
  "shipping_total": 49900,
  "tax_total": 49900,
  "total": 49900,
  "discount_total": 49900,
  "discount_code": "string",
  "attributes": {},
  "checkout_id": "string",
  "payment_status": "unpaid",
  "fulfilment_status": "unfulfilled",
  "status": "open",
  "shipping_address": {},
  "note": "Hand block printed cotton.",
  "tags": [
    "string"
  ],
  "needs_attention": [
    "string"
  ],
  "cancel_reason": "string",
  "cancelled_at": "2026-11-04T10:00:00.000Z",
  "paid_at": "2026-11-04T10:00:00.000Z",
  "lines": [
    {
      "id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "product_id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "variant_id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "variant_title": "Festive saree",
      "sku": "string",
      "quantity": 1,
      "unit_price": 49900,
      "total": 49900,
      "tax_amount": 49900,
      "gst_rate_bp": 1,
      "hsn_code": "string",
      "requires_shipping": false
    }
  ],
  "fulfilments": [
    {
      "id": "ful_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "kind": "manual",
      "status": "fulfilled",
      "lines": [
        {
          "line_id": "oli_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "quantity": 1
        }
      ],
      "carrier": "string",
      "tracking_number": "string",
      "tracking_url": "https://example.com",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "events": [
    {
      "id": "oev_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "type": "string",
      "message": "Hand block printed cotton.",
      "created_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

Email the order confirmation to the buyer again

POST/admin/2026-11/orders/{id}/resend-receipt

scope write_ordersIdempotency-Key required

Path parameters

  • idID (ord_...)required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Response 202

  • queued"true"required
  • tostringrequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
409conflictThe request conflicts with the current state of the object.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/orders/ord_01JCG8ZQ5S7T0V4X8K2M3N6P9R/resend-receipt \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)"
Response 202
{
  "queued": true,
  "to": "string"
}