Job cards · v1
unwatchJob
LiveunwatchJob
unwatchJob: add or remove the card from the caller’s watchlist. Owner, admin, supervisor, QC. Operators use assigned work.
/graphqlapp audienceWho can call this. Owner, admin, supervisor, QC.
Headers
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…Always
application/json. Only POST is accepted.Example:
application/jsonA key you generate once per user action (a UUID). Retrying with the same key never applies the change twice.
Example:
0192f0c1-9b2a-7d40-8c3e-1f5a6b7c8d9eYour 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
Job card id.
Example:
"0192f0c1-0000-7000-8000-000000d200f1"
Returns
unwatchJob: add or remove the card from the caller’s watchlist. Owner, admin, supervisor, QC. Operators use assigned work.
Show children
Whether the job has been invoiced.
INVOICEDAn invoice exists for the job.NOT_INVOICEDNo invoice yet.
UTC cancellation time; retained for audit and direct lookup.
The label on the paper card (“JOB1”).
UTC time the card was made.
The customer (see
customer).The customer’s name.
Whether the drawing is approved. Work is ready only once it is.
APPROVEDThe design is approved.PENDINGWaiting for a decision.REJECTEDThe design was rejected.
The drawing.
Drawing reference for the floor; no prices or PO amount are exposed.
The order’s promised date, YYYY-MM-DD in the shop’s timezone.
Stable id (UUIDv7).
Example:
"0192f0c1-0000-7000-8000-000000d200f1"Job name.
UTC time anything on the card last moved. “Stuck” is measured from here.
Material.
The incoming material check. Work is ready only once it is accepted.
ACCEPTEDPassed.PENDINGWaiting for a decision.REJECTEDFailed.
Where the material comes from; null until it is recorded.
BOUGHT_OUTBought from a supplier.IN_HOUSECut from the shop’s own stock.
Permanent per-shop work order number, WO-<n>.
The steps, in order.
Show children
UTC time the step finished.
Pieces recorded as good on completion.
Stable id (UUIDv7).
Whether machine QC reopened this step for rework.
The code of the machine used for this step.
The machine it runs on, if one is assigned.
That machine’s name.
What the step does.
The operator it is assigned to, if any.
That operator’s name.
Batch quantity fixed when work starts.
Pieces recorded as reject on completion.
Pieces recorded as rework on completion.
Pieces recorded as scrap on completion.
Order of the step, from 1.
UTC time the step started.
Where the step is.
COMPLETEDFinished.PAUSEDStopped part-way.PENDINGNot started.RUNNINGBeing worked on now.
The work order (see
order).Part name.
Part reference.
The order’s PO number.
The order’s priority.
HIGHAhead of other orders.LOWFill gaps in the schedule.MEDIUMThe default.
Every check made on this card, oldest first.
Show children
Stable id (UUIDv7).
Inspector’s name.
The job card checked.
The step checked; null for a raw material check.
What was checked.
MACHINEA finished operation.RMThe raw material, before the first operation.
What the step does; null for a raw material check.
The job card’s QR text.
UTC time the check was recorded.
Who made the check (
User.id).That person’s name.
Set on a raw material rejection.
Inspector’s remark.
The inspection report.
Latest 50 audited report attachments, newest first.
The outcome.
ACCEPTEDRaw material accepted.FAILEDOperation failed.PASSEDOperation passed.REJECTEDRaw material rejected.
Label shown in the app: “Incoming inspection”, “In-process QC” or “Final QC”.
The text printed as a QR code on the card. Unique in the shop;
jobCardByQrresolves it.Pieces to make.
Whether the customer accepted the quotation behind this job.
ACCEPTEDPassed.PENDINGWaiting for a decision.REJECTEDFailed.
Route card reference.
Worked out from the operations.
Example:
"COMPLETED"COMPLETEDEvery operation is done.IN_PROGRESSAt least one operation has started and not every one is done.NOT_STARTEDNo operation has started.PAUSEDAn operation is paused and none is running.
Errors
| Code | HTTP | When |
|---|---|---|
JOB_CARD_NOT_FOUND | 404 | The id or QR value is unknown in this shop (another shop's 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.