| List jobs, newest first | GET /v1/jobs | jobs.read |
| Create a job | POST /v1/jobs | jobs.write |
| Filter facets for the job list | GET /v1/jobs/facets | jobs.read |
| One job with its groups, lines and decorations | GET /v1/jobs/{jobId} | jobs.read |
| Update a job | PATCH /v1/jobs/{jobId} | jobs.write |
| Delete a job | DELETE /v1/jobs/{jobId} | jobs.write |
| The job activity feed. Names the staff who acted | GET /v1/jobs/{jobId}/activity | jobs.read |
| Duplicate a job | POST /v1/jobs/{jobId}/duplicate | jobs.write |
| Re-sync a job from the quote it came from | POST /v1/jobs/{jobId}/sync-from-quote | jobs.write, quotes.read |
| Add a group to a job | POST /v1/jobs/{jobId}/groups | jobs.write |
| Update a job group | PATCH /v1/job-groups/{groupId} | jobs.write |
| Delete a job group | DELETE /v1/job-groups/{groupId} | jobs.write |
| Add a line to a job group | POST /v1/job-groups/{groupId}/lines | jobs.write |
| Update a job line | PATCH /v1/job-lines/{lineId} | jobs.write |
| Delete a job line | DELETE /v1/job-lines/{lineId} | jobs.write |
| Attach a decoration to a job group | POST /v1/job-groups/{groupId}/decorations | jobs.write |
| Update a job-group decoration | PATCH /v1/job-group-decorations/{decorationId} | jobs.write |
| Remove a decoration from a job group | DELETE /v1/job-group-decorations/{decorationId} | jobs.write |
| Patch every job matching a target | POST /v1/jobs/bulk/update | jobs.write |
| Delete every job matching a target | POST /v1/jobs/bulk/delete | jobs.write |
| Duplicate every job matching a target | POST /v1/jobs/bulk/duplicate | jobs.write |
| Every purchase order raised for a job | GET /v1/jobs/{jobId}/purchase-orders | purchaseorders.read, jobs.read |
| Raise purchase orders for a job, one per vendor | POST /v1/jobs/{jobId}/purchase-orders | purchaseorders.write, jobs.read |
| Every proof on a job | GET /v1/jobs/{jobId}/proofs | proofs.read, jobs.read |
| Every production task on a job | GET /v1/jobs/{jobId}/tasks | tasks.read, jobs.read |
| One job and everything hanging off it, in one call | GET /v1/jobs/{jobId}/data | jobs.read, customers.read, garments.read, decorations.read |