Gallery Platform API
Reference

Update a job

Updates a job's editable fields (title, type, locations, schedule, instructions, notes). Status is derived from task progress, not set here.

PATCH
/gallery/jobs/{id}

Updates a job's editable fields (title, type, locations, schedule, instructions, notes). Status is derived from task progress, not set here.

Authorization

bearerAuth jobs:update
AuthorizationBearer <token>

A gallery API key, sent as Authorization: Bearer gpk_… (or the x-api-key header).

In: header

Scope: jobs:update

Path Parameters

id*string

Header Parameters

Idempotency-Key?string

Optional. Send a unique key per logical operation to make retries safe: a retry with the same key replays the stored success for 14 days instead of re-running the write. Reusing a key with a different body returns 400.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Update a job's editable fields. Status is derived from task progress, not set here.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

{  "id": "string",  "title": "string",  "job_type": "move",  "status": "draft",  "origin_location_id": "string",  "destination_location_id": "string",  "scheduled_start": "string",  "scheduled_end": "string",  "instructions": "string",  "notes": "string",  "created_by": "string",  "livemode": true,  "created_at": "string",  "updated_at": "string",  "assignee_count": -9007199254740991,  "task_count": -9007199254740991,  "blocked_task_count": -9007199254740991,  "items": [    {      "id": "string",      "job_id": "string",      "artwork_id": "string",      "label": "string",      "position": -9007199254740991    }  ],  "tasks": [    {      "id": "string",      "job_id": "string",      "kind": "pickup",      "status": "todo",      "title": "string",      "artwork_id": "string",      "location_id": "string",      "assignee_id": "string",      "due_at": "string",      "position": -9007199254740991,      "blocked_reason": "string",      "completed_at": "string",      "completed_by": "string",      "created_at": "string",      "updated_at": "string"    }  ],  "assignees": [    {      "member_id": "string",      "assignee_kind": "member"    }  ]}