N1Developer docsv1

Machines · v1

MUTATION

releaseMachine

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.

End a machine’s open assignment

End the open assignment; the machine becomes IDLE. Owner, admin and supervisor. A machine with no assignment is returned unchanged.

POST/graphqlapp audience

Who can call this. Owner, admin, supervisor.

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 machine id.

    Example: "0192f0c1-0000-7000-8000-000000d40001"

Returns

  • releaseMachineMachine!Required

    End the open assignment; the machine becomes IDLE. Owner, admin and supervisor. A machine with no assignment is returned unchanged.

    Show children
    • codeString!Required

      code machine detail.

    • createdAtString!Required

      UTC time the machine was added.

      Example: "2026-06-14T04:30:00.000Z"

    • currentAssignmentMachineAssignmentOptional

      The open assignment, or null when the machine is not running a job.

      Example: null

      Show children
      • idID!Required

        Stable id (UUIDv7).

      • jobCardIdID!Required

        The job card it belongs to.

      • jobOperationIdID!Required

        The step being run (JobOperation.id).

      • operationNameString!Required

        What the step does.

      • qrValueString!Required

        That job card’s QR text.

      • startedAtString!Required

        UTC time the machine was assigned.

    • currentWorkMachineWorkOptional

      Current work, or null.

      Show children
      • operatorString!Required

        Operator name.

      • titleString!Required

        Job title.

      • workOrderIdID!Required

        Order id.

    • idID!Required

      Stable id (UUIDv7).

      Example: "0192f0c1-0000-7000-8000-000000d40001"

    • kindString!Required

      What sort of machine it is, such as “CNC lathe”.

      Example: "CNC lathe"

    • locationString!Required

      location machine detail.

    • modelString!Required

      model machine detail.

    • nameString!Required

      The name the shop calls it, such as “Lathe 3”.

      Example: "Lathe 1"

    • notesString!Required

      notes machine detail.

    • statusMachineStatus!Required

      What it is doing.

      Example: "IDLE"

      • IDLEFree to take a job operation.
      • MAINTENANCEOut of service. It cannot be assigned work.
      • RUNNINGHas an open assignment. Set by assignMachine and releaseMachine, never by hand.
    • typeMachineType!Required

      Machine category.

      • CNC_LATHECNC lathe.
      • CNC_MILLCNC mill.
      • INSPECTIONInspection.
      • LATHELathe.
      • PACKINGPacking.
      • WELDINGWelding.
    • updatedAtString!Required

      UTC time of the last change.

      Example: "2026-10-12T04:30:00.000Z"

Errors

CodeHTTPWhen
MACHINE_NOT_FOUND404The id is unknown in this shop (another shop's ids answer the same).
FORBIDDEN403Signed in, but the role or tenant does not allow the action.

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.

Search documentation

Search operations, types and errors from the generated contract.