CUSTOMERS / Customers
customer
MockMock. This operation is part of the approved contract but its module is not built yet. Run Core with N1_API_MODE=mock N1_DEV_AUTH=stub to get deterministic demo-shop data from it. The real server answers NOT_IMPLEMENTED until it ships; the schema and examples here will not change when it does.
One customer by id
One customer by id. CUSTOMER_NOT_FOUND if the id is not in this shop.
/graphqlapp audienceWho can call this. Owner, admin, accountant and supervisor. You can run it against Local or Staging from the request panel, with a demo-shop token.
Headers
- AuthorizationstringRequired
Bearer <token>, issued for this endpoint's audience. The token decides the shop and roles; nothing in the request body can change them.Example:
Bearer eyJhbGciOiJFZERTQSJ9… - Content-TypestringRequired
Always
application/json. Only POST is accepted.Example:
application/json - X-Request-IdstringOptional
Your id for this request (8–128 characters of A–Z a–z 0–9 . _ : -). Echoed back in the response header and in every error, so you can quote it when reporting a problem. Core makes one if you send none.
Example:
app-7f3c2a9e-checkout
Arguments
- idID!Required
The customer id.
Example:
"0192f0c1-0000-7000-8000-0000000c0003"
Returns
- customerCustomer!Required
One customer by id.
CUSTOMER_NOT_FOUNDif the id is not in this shop.Show children
- billingAddressAddress!Required
Where invoices go.
Example:
{"city":"Rajkot","state":"Gujarat"}Show children
- cityString!Required
City or town.
Example:
"Rajkot" - line1String!Required
Building, street.
- line2StringOptional
Area, landmark.
- pincodeString!Required
6-digit PIN code.
- stateString!Required
State name.
Example:
"Gujarat"
- contacts[CustomerContact!]!Required
People at the customer, at most 20.
Example:
[{"id":"0192f0c1-0000-7000-8000-000000c0001f","name":"Contact 3","phone":"+91 98000 20003"}]Show children
- designationStringOptional
Job title.
- emailStringOptional
Email address.
- idID!Required
Stable id (UUIDv7).
Example:
"0192f0c1-0000-7000-8000-000000c0001f" - nameString!Required
Full name.
Example:
"Contact 3" - phoneStringOptional
Phone number.
Example:
"+91 98000 20003"
- createdAtString!Required
UTC time the customer was added.
Example:
"2026-01-18T04:30:00.000Z" - emailStringOptional
Main email.
Example:
"purchase3@demo-customer.example" - gstinStringOptional
GSTIN, if registered.
Example:
"33DEMOC0003A1Z5" - idID!Required
Stable id (UUIDv7).
Example:
"0192f0c1-0000-7000-8000-0000000c0003" - nameString!Required
Company name.
Example:
"Cauvery Pumps 3" - paymentTermsDaysInt!Required
Days after the invoice date that payment is due; 0 = on delivery.
Example:
30 - phoneStringOptional
Main phone.
Example:
"+91 98000 10003" - shippingAddressAddressOptional
Where parts go, when different from billing.
Example:
{"line1":"3 Demo Works Lane","city":"Rajkot"}Show children
- cityString!Required
City or town.
Example:
"Rajkot" - line1String!Required
Building, street.
Example:
"3 Demo Works Lane" - line2StringOptional
Area, landmark.
- pincodeString!Required
6-digit PIN code.
- stateString!Required
State name.
- statusCustomerStatus!Required
Whether new orders can be taken.
Example:
"ACTIVE"ACTIVEOrders can be taken.INACTIVEKept for history; hidden from pickers. Use this instead of deleting a customer who has orders.
- updatedAtString!Required
UTC time of the last change.
Example:
"2026-01-18T04:30:00.000Z"
Errors
| Code | HTTP | When |
|---|---|---|
CUSTOMER_NOT_FOUND | 404 | The id is unknown in this shop (another shop's ids answer the same). |
Every error has the same body. See Errors.
Rate limit tier
Tier: per user. Over the limit you get RATE_LIMITED (HTTP 429) with a Retry-After header. See Response handling.