N1 APIDemo shop

SHOP SETUP / Users and roles

QUERY

user

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 person by id

Compare

One person by id. USER_NOT_FOUND if the id is not in this shop.

POST/graphqlapp audience

Who can call this. Owner and admin. 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 user id.

    Example: "0192f0c1-0000-7000-8000-0000000000a4"

Returns

  • userUser!Required

    One person by id. USER_NOT_FOUND if the id is not in this shop.

    Show children
    • createdAtString!Required

      UTC time the user was added.

      Example: "2026-01-08T04:30:00.000Z"

    • emailStringOptional

      Sign-in email, if any.

      Example: "dev@demo-shop.example"

    • idID!Required

      Stable id (UUIDv7).

      Example: "0192f0c1-0000-7000-8000-0000000000a4"

    • lastLoginAtStringOptional

      UTC time of the last sign-in; null if never.

      Example: "2026-10-15T07:30:00.000Z"

    • nameString!Required

      Full name.

      Example: "Dev Demo"

    • phoneStringOptional

      Sign-in phone, if any.

      Example: "+91 90000 00004"

    • roleRoleName!Required

      Their role in this shop.

      Example: "SUPERVISOR"

      • ACCOUNTANTCustomers, invoices and payments.
      • ADMINManages people, settings and customers on the owner’s behalf.
      • OPERATORRuns machines and logs production.
      • OWNERRuns the shop. Everything, including who else can sign in.
      • QCInspects parts and records results.
      • SUPERVISORPlans and watches the shop floor.
    • statusUserStatus!Required

      Whether they can sign in.

      Example: "ACTIVE"

      • ACTIVECan sign in.
      • INACTIVECannot sign in; their sessions were revoked. History stays.

Errors

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