Measura API documentation · v1

Get operation status

Retrieve a durable receipt for a kit recipe, kit assembly, measured order edit, or measured order return.

Code example
GET /api/v1/operations/{operationId}

Headers:
  Authorization: Bearer <api-key>

Path parameters

Scroll horizontally to see all columns.

ParameterTypeDescription
operationIdstringRequired. UUID returned in a write response or error details.

Response example (200 success)

Code example
{
  "success": true,
  "data": {
    "id": "01234567-0123-4123-a123-012345678901",
    "kind": "order_edit",
    "resourceId": "123456",
    "status": "completed",
    "phase": "finished",
    "createdAt": "2026-10-19T00:00:00.000Z",
    "updatedAt": "2026-10-19T00:00:01.000Z",
    "snapshot": {},
    "result": {}
  },
  "error": null
}

Response fields

Scroll horizontally to see all columns.

FieldTypeDescription
data.idstringOperation UUID; this is the operationId returned by the write endpoint.
data.kindstringkit_recipe, kit_assembly, order_edit, or order_return.
data.resourceIdstring (optional)Resource identity when available; recipe creation or deletion may have no resource ID.
data.statusstringprocessing, completed, rejected, or requires_review.
data.phasestringvalidating, applying, or finished. applying means external mutations may have started.
data.createdAt / updatedAtstringISO-8601 receipt timestamps.
data.snapshotobject (optional)Immutable preparation snapshot; contents depend on the operation kind.
data.resultobject (optional)Saved result for a completed operation; contents depend on the operation kind.
data.errorobject (optional)Saved code, message, and optional details for a failed operation. Distinct from the response envelope error.
errornullA retrieved rejected or requires_review receipt still has HTTP 200 and a null envelope error; inspect data.status and data.error.

Error responses

Scroll horizontally to see all columns.

Status codeDescription
401 / 429Authentication or rate-limit failure.
403Public API access unavailable, or the corresponding KIT_BUILDER or ORDER_EDIT add-on is not active.
404Malformed, missing, unsupported, or another shop's operation ID.
500Failed to retrieve operation status or shop data.

Note

  • Receipts belong to the authenticated shop and are retained permanently. Kit receipts require the active KIT_BUILDER add-on; order receipts require the active ORDER_EDIT add-on.
  • The example uses empty snapshot and result objects to illustrate the common envelope. Actual resource endpoints save operation-specific fields; optional fields are omitted when unavailable.
  • A completed operation has a saved result. A rejected operation failed before known external effects; the same key replays that rejection, and a corrected request needs a new key.
  • A requires_review receipt can represent applied changes. Reconcile its saved identities and actual Shopify state before another write. There is no public resume or force-unlock endpoint.
  • A crashed process can leave processing/applying indefinitely. Do not infer failure from elapsed time or create a replacement operation with a new key.
  • Fractional inventory writes use separate 24-hour receipts and cannot be retrieved here. Operation responses use Cache-Control: no-store.

Related:

See Write safety and retries for idempotency, concurrency conflicts, and recovery requirements.