PovitoDevelopers

Orders#

Read your orders into your own system. Every request goes to your environment's base URL with a key that has orders:read, as in the quickstart. There is no order push yet, so poll GET /orders on a schedule.

GET /orders#

Pull your orders, newest first. Scope orders:read.

Query Type Notes
since RFC 3339 date-time with a zone Only orders placed with you at or after this instant
cursor string next_cursor from the previous page
limit integer Orders per page; default 50, max 200
json
{
  "data": [
    {
      "order_id": "order_01K4T2B6D8F0H2K4M6P8R0T2V4",
      "increment_id": "POV-100045",
      "status": "shipped",
      "total": 435000,
      "currency": "IQD",
      "created_at": "2026-09-10T08:12:04.000Z"
    }
  ],
  "next_cursor": "stlc_01K4T2B7E9G1J3L5N7Q9S1U3W5",
  "has_more": true
}
  • There is one row per order placed with you. On a checkout with several sellers, you see only your own order, never another seller's lines.
  • since, the cursor and each row's created_at all refer to when the order was placed with you, not when it last changed. An order you have since shipped or that was cancelled does not reappear; read it with GET /orders/{id}.
  • since must be an RFC 3339 date-time with a zone: 2026-09-01T00:00:00Z, or an offset such as 2026-09-01T03:00:00+03:00. URL-encode + as %2B, or it arrives as a space. An empty since means no lower bound. Anything else — a date without a time, a time without a zone, an impossible date such as 2026-02-30T00:00:00Z, or since sent twice — is refused with 400 validation_error and details[]: [{ "field": "since", "issue": "invalid" }].
  • status matches what GET /orders/{id} reports: shipped once you have shipped, otherwise the order's own status (pending, completed, canceled, archived, …).
  • total is your order total including shipping, in IQD.
  • If an order record could not be read, its row has status: null and total: 0. Read GET /orders/{id} for that order.
  • increment_id is the shopper-facing checkout number and can be null.

Paging: pagination.

GET /orders/{id}#

One order in full, including line items and what you will be paid. Scope orders:read. id is the order_id from GET /orders. Returns 404 order_not_found when there is no such order or it belongs to another seller.

json
{
  "order_id": "order_01K4T2B6D8F0H2K4M6P8R0T2V4",
  "increment_id": "POV-100045",
  "status": "shipped",
  "total": 435000,
  "currency": "IQD",
  "shipping_address": {
    "first_name": "Zainab",
    "last_name": "Al-Rubaie",
    "address_1": "Karrada, Street 62, House 14",
    "city": "Baghdad",
    "phone": "+9647701234567"
  },
  "items": [
    {
      "item_id": "ordli_01K4T2B6E0G2J4L6N8Q0S2U4W6",
      "title": "Sony WH-1000XM5 Wireless Headphones",
      "quantity": 1,
      "unit_price": 425000,
      "variant_id": "variant_01K4R8Z2S8T4W6Y8A0C2E4G6J8",
      "external_sku": "ERP-1042"
    }
  ],
  "accepted_at": "2026-09-10T09:01:30.000Z",
  "shipped_at": "2026-09-10T14:20:00.000Z",
  "tracking_number": "HX-88412093",
  "carrier": "hiexpress",
  "created_at": "2026-09-10T08:12:04.000Z",
  "settlement": {
    "status": "pending_delivery",
    "commission_percent": 8,
    "commission_amount": 34000,
    "earnings": 391000,
    "hold_days": 7,
    "hold_starts_at": null,
    "funds_released_at": null,
    "delivery_confirmation_source": null,
    "delivery_failed_at": null,
    "delivery_failure_reason": null
  }
}
  • Every line carries external_sku, your SKU at the time of the order. external_sku and variant_id can be null.
  • status is shipped once you have shipped; otherwise it is the order's own status. accepted_at, shipped_at, tracking_number and carrier are null until they are set.
  • increment_id falls back to order_id for orders without a checkout number.
  • shipping_address can be null. Missing parts of an address are empty strings, never null.

settlement is what you will be paid for this order and where that money is:

Field Meaning
status pending_capture, pending_split, pending_delivery, hold_active, released, refunded or returned
commission_percent, commission_amount Povito's commission, as a percentage and in IQD
earnings Your credit for this order after commission, in IQD
hold_days, hold_starts_at, funds_released_at The hold period, when it started and when the funds were released; null when not set
delivery_confirmation_source Who confirmed delivery: courier, admin or seller_self; null when not set
delivery_failed_at, delivery_failure_reason Set when the courier or an admin reported that the order will never be delivered; otherwise null

Accepting, shipping and cancelling an order are not part of this API. Those happen in the Seller dashboard.