N1 APIDemo shop

SHOP SETUP / Users and roles

MUTATION

setUserStatus

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.

Mark a person active or inactive

Compare

Mark a person active or inactive. Inactive people are signed out at once and cannot sign in; nothing they did is lost. Owner and admin only. LAST_OWNER if it would leave the shop with no active owner.

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

  • Idempotency-KeystringRequired

    A key you generate once per user action (a UUID). Retrying with the same key never applies the change twice.

    Example: 0192f0c1-9b2a-7d40-8c3e-1f5a6b7c8d9e

  • 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"

  • statusUserStatus!Required

    The new status.

    Example: "INACTIVE"

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

Returns

  • setUserStatusUser!Required

    Mark a person active or inactive. Inactive people are signed out at once and cannot sign in; nothing they did is lost. Owner and admin only. LAST_OWNER if it would leave the shop with no active owner.

    Show children
    • createdAtString!Required

      UTC time the user was added.

    • emailStringOptional

      Sign-in email, if any.

    • idID!Required

      Stable id (UUIDv7).

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

    • lastLoginAtStringOptional

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

    • nameString!Required

      Full name.

      Example: "Dev Demo"

    • phoneStringOptional

      Sign-in phone, if any.

    • roleRoleName!Required

      Their role in this shop.

      • 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: "INACTIVE"

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

Errors

CodeHTTPWhen
LAST_OWNER409Marking the last active owner inactive, or changing their role.

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.