N1 APIDemo shop

CUSTOMERS / Customers

QUERY

customer

Mock

Mock. 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

Compare

One customer by id. CUSTOMER_NOT_FOUND if the id is not in this shop.

POST/graphqlapp audience

Who 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_FOUND if 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

CodeHTTPWhen
CUSTOMER_NOT_FOUND404The 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.