Prebit Developer Docs

Orders & Customers API

Read-only, list-only, PII scope-gated.

Both are read-only today — no write endpoints exist for orders or customers, and neither has a GET /:id route (list-only, same as Products).

Orders

GET /platform/v1/orders — scope read_orders, cursor-paginated.

const { orders, nextCursor } = await client.listOrders(cursor, 50);
{
  "orders": [
    { "id": "...", "orderNumber": 1042, "currency": "INR", "totalAmount": 1499, "payment": { "status": "paid" }, "fulfillmentStatus": "unfulfilled", "createdAt": "..." }
  ],
  "nextCursor": null
}

Customers

GET /platform/v1/customers — scope read_customers, cursor-paginated.

const { customers, nextCursor, piiIncluded } = await client.listCustomers(cursor, 50);

A broad scope does not automatically grant personal data

read_customers alone returns aggregate/non-PII fields only: hasAccount, totalOrders, totalSpentAmount, createdAt. Email, phone, and name require the separately reviewed and disclosed read_customer_pii scope on top. The response's piiIncluded field tells you which set you actually got back — always check it, don't assume.

// without read_customer_pii
{ "customers": [{ "id": "...", "hasAccount": true, "totalOrders": 3, "totalSpentAmount": 4200 }], "nextCursor": null, "piiIncluded": false }

// with read_customer_pii
{ "customers": [{ "id": "...", "hasAccount": true, "totalOrders": 3, "totalSpentAmount": 4200, "email": "...", "phone": "...", "name": "..." }], "nextCursor": null, "piiIncluded": true }

Errors

Both endpoints share the same shape as every other Partner API v1 list route — see Errors, Pagination & Idempotency for pagination params and the standard error envelope. There's nothing write-specific to document here since neither endpoint accepts a body.

On this page