Tenant credential: optional and, when sent, must equal the shop bound to the key. Partner credential: required; it selects an organisation the user previously authorised.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"PRINTOOLS Docs","description":"PRINTOOLS documentation — shop management software for print and garment decoration.","colors":{"primary":"#252220","light":"#FACB37","dark":"#FACB37"},"logo":{"light":"https://mintcdn.com/printools-docs/O0KTj_rIOTsZeahM/images/Group2.png?fit=max\u0026auto=format\u0026n=O0KTj_rIOTsZeahM\u0026q=85\u0026s=c13cad1946e83c89b0c37822757efb9b","dark":"https://mintcdn.com/printools-docs/O0KTj_rIOTsZeahM/images/Group1.png?fit=max\u0026auto=format\u0026n=O0KTj_rIOTsZeahM\u0026q=85\u0026s=88ae571075eba2f4413e8f7686ca3ad0","href":"/"},"favicon":{"light":"https://mintcdn.com/printools-docs/_yDOXnlTxvmdL_Ke/images/favacon_smll.png?fit=max\u0026auto=format\u0026n=_yDOXnlTxvmdL_Ke\u0026q=85\u0026s=1716331eafc0a4e1157c30818e74c979","dark":"https://mintcdn.com/printools-docs/_yDOXnlTxvmdL_Ke/images/favacon_smll.png?fit=max\u0026auto=format\u0026n=_yDOXnlTxvmdL_Ke\u0026q=85\u0026s=1716331eafc0a4e1157c30818e74c979"},"api":{"openapi":"https://d1zl72794e73i2.cloudfront.net/releases/2026-09-08.api-blackbox/openapi.json"},"appearance":{"default":"system","strict":false},"background":{"color":{"light":"#FEFBF8","dark":"#12100E"}},"navbar":{"links":[{"href":"mailto:support@printools.com","label":"Support"}]},"footer":{},"fonts":{"heading":{"family":"Big Shoulders Display","weight":800},"body":{"family":"Geist"}},"styling":{"codeblocks":"dark","latex":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"printools-docs","hasAudioNarration":false,"actualSubdomain":"printools-docs","customDomains":["docs.printools.io"],"gitSource":{"type":"github","owner":"mintlify-community","repo":"docs-daysync-7781d365","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6acf4de3b4870666e532b6d8","collectionId":"ea377635-fe58-4b66-a96e-1026a91bd747","liveDeploymentHistoryId":"6acf4de3b4870666e532b6d8","schemaVersion":"v3"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{},"buildId":"6acf4de3b4870666e532b6d8","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Public API","count":222},{"language":"default","tag":"Endpoints","count":215},{"language":"default","tag":"Jobs","count":27},{"language":"default","tag":"Quotes","count":27},{"language":"default","tag":"Garments \u0026 catalogue","count":23},{"language":"default","tag":"Customers","count":17},{"language":"default","tag":"Proofs \u0026 mocks","count":16},{"language":"default","tag":"Purchase orders","count":16},{"language":"default","tag":"Tasks","count":16},{"language":"default","tag":"Vendors","count":15}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api/reference/get_v1_jobs_jobId_data","slug":"/api/reference/get_v1_jobs_jobId_data","pageMetadata":{"title":"One job and everything hanging off it, in one call","openapi":"GET /v1/jobs/{jobId}/data","description":"Requires ALL of the scopes jobs.read, customers.read, garments.read, decorations.read.","href":"/api/reference/get_v1_jobs_jobId_data"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Requires ALL of the scopes jobs.read, customers.read, garments.read, decorations.read.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,..._provideComponents(),...props.components};return _jsxs(_components.p,{children:[`Required scopes: `,_jsx(_components.code,{children:`jobs.read`}),`, `,_jsx(_components.code,{children:`customers.read`}),`, `,_jsx(_components.code,{children:`garments.read`}),`, `,_jsx(_components.code,{children:`decorations.read`}),`.`]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"One job and everything hanging off it, in one call","openapi":"GET /v1/jobs/{jobId}/data","description":"Requires ALL of the scopes jobs.read, customers.read, garments.read, decorations.read.","href":"/api/reference/get_v1_jobs_jobId_data"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"One job and everything hanging off it, in one call.","operationId":"get_v1_jobs_jobId_data","tags":["jobs"],"description":"Requires ALL of the scopes jobs.read, customers.read, garments.read, decorations.read.","security":["0daaeaf5-4e72-4127-aaa1-a88bbc64ced0","f5c4dbce-ee5e-448f-b1ee-0cb33bb4e46d"],"x-printools-required-scopes":["jobs.read","customers.read","garments.read","decorations.read"],"parameters":["0c0a131e-9e5f-40cc-9192-531dc304c2f9","95c4f729-c20d-4eb1-a87b-6c16181dedb1"],"responses":{"200":"3afd574e-40d2-49b3-b715-949de89d296a","400":"cd3f30cb-8f37-4bd6-9928-f2a571cf3ddf","401":"eaa5abe6-0a0e-4e9e-82cc-ad7a1cef8228","403":"991a7d85-a155-458f-b304-f0e3030f2320","404":"9be97920-b322-4081-b63b-b08f607630aa","409":"d223223a-be93-4c00-9e35-c77fe3958a72","413":"f815a091-d33f-408f-af3c-18a884aa8793","429":"74d550b8-4452-46e0-90da-8139a75d8398","500":"9e159c08-8e79-46c1-8ec7-0f4969e6230e"},"x-codeSamples":[{"lang":"curl","label":"Tenant credential","source":"curl --request GET 'https://api.printools.io/v1/jobs/11111111-2222-3333-4444-555555555555/data' \\\n --header 'X-API-Key: $PRINTOOLS_API_KEY'"}],"method":"get","type":"path","servers":["beaaf7be-9258-41cf-929a-55d51e0689b1"],"path":"/v1/jobs/{jobId}/data","baseUrlOptions":["https://api.printools.io"],"title":"One job and everything hanging off it, in one call.","codeSamples":[{"label":"Tenant credential","lang":"curl","source":"curl --request GET 'https://api.printools.io/v1/jobs/11111111-2222-3333-4444-555555555555/data' \\\n --header 'X-API-Key: $PRINTOOLS_API_KEY'"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"0c0a131e-9e5f-40cc-9192-531dc304c2f9":{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid","example":"11111111-2222-3333-4444-555555555555","isRequired":true,"description":"UUID.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"description":"UUID."},"95c4f729-c20d-4eb1-a87b-6c16181dedb1":{"name":"X-PrintTools-Organization-Id","in":"header","required":false,"schema":{"type":"string","format":"uuid","isRequired":false,"description":"Tenant credential: optional and, when sent, must equal the shop bound to the key. Partner credential: required; it selects an organisation the user previously authorised.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"description":"Tenant credential: optional and, when sent, must equal the shop bound to the key. Partner credential: required; it selects an organisation the user previously authorised."}},"responses":{"3afd574e-40d2-49b3-b715-949de89d296a":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","description":"Every 2xx response uses this envelope.","required":["status","message","data"],"properties":{"status":{"type":"boolean","description":"The actual resolver result. It can be false when an operation returns false or null without throwing.","isRequired":true,"uniqueKey":"status","typeLabel":"boolean"},"message":{"type":"string","example":"OK","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","required":["job","customer","tasks","proofs","purchaseOrders"],"properties":{"job":{"oneOf":[{"type":"object","required":["id","status","priority","invoiceStatus","quoteOutOfSync","totalQuantity","poStatus","materialsStatus","estimatedDuration","customFieldValues","createdAt","updatedAt","groups","activity"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.id","typeLabel":"string"},"status":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.status","typeLabel":"string"},"priority":{"type":"string","enum":["Normal","Rush"],"isRequired":true,"uniqueKey":"data.job.oneOf.0.priority","typeLabel":"enum\u003cstring>"},"invoiceStatus":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.invoiceStatus","typeLabel":"string"},"quoteOutOfSync":{"type":"boolean","description":"True when this job was created from a quote (`quoteId` set) AND the source\nquote has been edited since the last conversion/sync — i.e. the quote's\n`updatedAt` is newer than the job's `lastQuoteSyncDate`. The Converted quote\nstays editable, so this flags that the job tree has drifted from the quote;\ncall `syncJobFromQuote` to re-clone. Always false for jobs with no quote.","isRequired":true,"uniqueKey":"data.job.oneOf.0.quoteOutOfSync","typeLabel":"boolean"},"totalQuantity":{"type":"integer","description":"READ-ONLY units of CLOTHING on the whole job (CU-86d427fpb) — the sum, over\nthe garment lines of every group, of each line's variant quantities, falling\nback to the line's own `quantity` when it has no variants. Money lines\n(`Other`) contribute nothing: they carry no garment (JB-05).\n\nComputed at read time, not stored, and NOT a sum of the groups'\n`totalQuantity` — that column is written when a job is cloned from its quote\nand does not follow later line edits, so the two can disagree. This one\nalways matches what the job screen totals.\n\n0 for a job with no lines. That is a real answer, not an absence — no\nmutation input sets this field.","isRequired":true,"uniqueKey":"data.job.oneOf.0.totalQuantity","typeLabel":"integer"},"poStatus":{"type":"string","enum":["NotCreated","Created","Sent","Received"],"description":"READ-ONLY, computed at read time from the job's linked ACTIVE Purchase Orders\n(cancelled/inactive POs excluded), rolled up across them (Phase 2.5):\nNotCreated (no PO) · Created (POs exist, none sent yet) · Sent (≥1 PO past\napproved) · Received (all POs received/completed). Not stored; no mutation\nsets it.","isRequired":true,"uniqueKey":"data.job.oneOf.0.poStatus","typeLabel":"enum\u003cstring>"},"materialsStatus":{"type":"string","enum":["NotPurchased","Ordered","Received"],"description":"READ-ONLY, computed at read time from the active POs' line items (Phase 2.5):\nNotPurchased (no PO / no line items) · Ordered (some line items not yet\nreceived) · Received (all line items received). Not stored; no mutation sets it.","isRequired":true,"uniqueKey":"data.job.oneOf.0.materialsStatus","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"type":"number","isRequired":true,"uniqueKey":"data.job.oneOf.0.estimatedDuration","typeLabel":"number"},"customFieldValues":{"description":"Operator custom-field VALUES keyed by field id (definitions in orgSettings).","isRequired":true,"uniqueKey":"data.job.oneOf.0.customFieldValues","typeLabel":"any"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.job.oneOf.0.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.job.oneOf.0.updatedAt","typeLabel":"string\u003cdate-time>"},"groups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].id","typeLabel":"string"},"jobId":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].jobId","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].name","typeLabel":"string"},"totalQuantity":{"type":"integer","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].totalQuantity","typeLabel":"integer"},"sortOrder":{"type":"integer","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].sortOrder","typeLabel":"integer"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"lines":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].id","typeLabel":"string"},"jobGroupId":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].jobGroupId","typeLabel":"string"},"lineType":{"type":"string","enum":["Garment","Decoration","Service","Cost","Discount","Surcharge","Other"],"isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].lineType","typeLabel":"enum\u003cstring>"},"productName":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].productName","typeLabel":"string"},"quantity":{"type":"integer","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].quantity","typeLabel":"integer"},"unitPriceExGst":{"type":"number","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].unitPriceExGst","typeLabel":"number"},"sortOrder":{"type":"integer","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].sortOrder","typeLabel":"integer"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"variants":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].id","typeLabel":"string"},"jobLineId":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].jobLineId","typeLabel":"string"},"quantity":{"type":"integer","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].quantity","typeLabel":"integer"},"producedQuantity":{"type":"integer","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].producedQuantity","typeLabel":"integer"},"unitPriceExGst":{"type":"number","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].unitPriceExGst","typeLabel":"number"},"sortOrder":{"type":"integer","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].sortOrder","typeLabel":"integer"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"size":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].size.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].size.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].size","typeLabel":"string | null"},"colour":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].colour.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].colour.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].colour","typeLabel":"string | null"},"buyPrice":{"type":"number","description":"Present only when the credential includes the costs.read scope.","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].buyPrice","typeLabel":"number"},"extraCost":{"type":"number","description":"Present only when the credential includes the costs.read scope.","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX].extraCost","typeLabel":"number"}},"required":["id","jobLineId","quantity","producedQuantity","unitPriceExGst","sortOrder","createdAt","updatedAt"],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].variants","typeLabel":"object[]"},"garmentCatalogueItemId":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].garmentCatalogueItemId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].garmentCatalogueItemId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].garmentCatalogueItemId","typeLabel":"string | null"},"productSku":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].productSku.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].productSku.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].productSku","typeLabel":"string | null"},"title":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].title","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].description","typeLabel":"string | null"},"customImageUrl":{"oneOf":[{"type":"string","description":"The image the FLOOR should look at: the Quick Mock composite carried over from\n`QuoteLine.customImageUrl` at conversion, or null to fall back to the garment's\ncatalogue photo. A snapshot, deliberately — revising the mock later must not\nchange what a job already in production is printing.","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].customImageUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"The image the FLOOR should look at: the Quick Mock composite carried over from\n`QuoteLine.customImageUrl` at conversion, or null to fall back to the garment's\ncatalogue photo. A snapshot, deliberately — revising the mock later must not\nchange what a job already in production is printing.","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].customImageUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX].customImageUrl","typeLabel":"string | null"}},"required":["id","jobGroupId","lineType","productName","quantity","unitPriceExGst","sortOrder","createdAt","updatedAt","variants"],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].lines","typeLabel":"object[]"},"decorations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].id","typeLabel":"string"},"jobGroupId":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].jobGroupId","typeLabel":"string"},"colours":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].colours.items.[INDEX].name","typeLabel":"string"},"isBase":{"type":"boolean","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].colours.items.[INDEX].isBase","typeLabel":"boolean"}},"required":["name","isBase"],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].colours.items.[INDEX]","typeLabel":"object"},"description":"The inks, in the operator's order. At most one is flagged `isBase`, and it renders first.","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].colours","typeLabel":"object[]"},"baseUnitCost":{"type":"number","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].baseUnitCost","typeLabel":"number"},"baseSetupCost":{"type":"number","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].baseSetupCost","typeLabel":"number"},"includeSetupCost":{"type":"boolean","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].includeSetupCost","typeLabel":"boolean"},"sortOrder":{"type":"integer","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].sortOrder","typeLabel":"integer"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"decorationItemId":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].decorationItemId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].decorationItemId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].decorationItemId","typeLabel":"string | null"},"method":{"oneOf":[{"type":"string","enum":["ScreenPrinting","Embroidery","DtfTransfer","Dtg","Vinyl","Sublimation","HeatTransfer","Outsourced","Other"],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].method.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].method","typeLabel":"enum\u003cstring> | null"},"position":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].position.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].position.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].position","typeLabel":"string | null"},"quantity":{"oneOf":[{"type":"integer","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].quantity.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].quantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].quantity","typeLabel":"integer | null"},"description":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].description","typeLabel":"string | null"},"screenCount":{"oneOf":[{"type":"integer","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].screenCount.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].screenCount.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].screenCount","typeLabel":"integer | null"},"screenMeshGrade":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].screenMeshGrade.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].screenMeshGrade.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].screenMeshGrade","typeLabel":"string | null"},"colourCount":{"oneOf":[{"type":"integer","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].colourCount.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].colourCount.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].colourCount","typeLabel":"integer | null"},"setupCost":{"type":"number","description":"Present only when the credential includes the costs.read scope.","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].setupCost","typeLabel":"number"},"unitCost":{"type":"number","description":"Present only when the credential includes the costs.read scope.","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].unitCost","typeLabel":"number"},"widthCm":{"oneOf":[{"type":"number","description":"Print dimensions in CENTIMETRES, carried across by `convertQuoteToJob` — the\nfloor needs them (BE-04 / Q-24). See `QuoteGroupDecoration.widthCm` for why\nthe unit is no longer millimetres.","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].widthCm.oneOf.0","typeLabel":"number"},{"type":"null","description":"Print dimensions in CENTIMETRES, carried across by `convertQuoteToJob` — the\nfloor needs them (BE-04 / Q-24). See `QuoteGroupDecoration.widthCm` for why\nthe unit is no longer millimetres.","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].widthCm.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].widthCm","typeLabel":"number | null"},"lengthCm":{"oneOf":[{"type":"number","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].lengthCm.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].lengthCm.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].lengthCm","typeLabel":"number | null"},"necklineDropCm":{"oneOf":[{"type":"number","description":"How far below the collar the print starts, in cm.","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].necklineDropCm.oneOf.0","typeLabel":"number"},{"type":"null","description":"How far below the collar the print starts, in cm.","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].necklineDropCm.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].necklineDropCm","typeLabel":"number | null"},"specialInstructions":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].specialInstructions.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].specialInstructions.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].specialInstructions","typeLabel":"string | null"},"artworkFileUrl":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].artworkFileUrl.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].artworkFileUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].artworkFileUrl","typeLabel":"string | null"},"separationFileUrl":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].separationFileUrl.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].separationFileUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX].separationFileUrl","typeLabel":"string | null"}},"required":["id","jobGroupId","colours","baseUnitCost","baseSetupCost","includeSetupCost","sortOrder","createdAt","updatedAt"],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].decorations","typeLabel":"object[]"},"notes":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].notes.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].notes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX].notes","typeLabel":"string | null"}},"required":["id","jobId","name","totalQuantity","sortOrder","createdAt","updatedAt","lines","decorations"],"uniqueKey":"data.job.oneOf.0.groups.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.job.oneOf.0.groups","typeLabel":"object[]"},"activity":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].id","typeLabel":"string"},"jobId":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].jobId","typeLabel":"string"},"activityType":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].activityType","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].title","typeLabel":"string"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"taskId":{"oneOf":[{"type":"string","description":"The production task this entry is about, when it is about one — task-scoped\nentries are links, and this is what they open. Null for job-level events, and\nnull again once the task is deleted: the entry deliberately outlives the task,\nbecause the record of what was done to it is the point. Render a null-task\nentry as plain text, never as a dead link.","uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].taskId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The production task this entry is about, when it is about one — task-scoped\nentries are links, and this is what they open. Null for job-level events, and\nnull again once the task is deleted: the entry deliberately outlives the task,\nbecause the record of what was done to it is the point. Render a null-task\nentry as plain text, never as a dead link.","uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].taskId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].taskId","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","description":"A system row's detail line, or — on a comment — the comment body itself.","uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","description":"A system row's detail line, or — on a comment — the comment body itself.","uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].description","typeLabel":"string | null"},"performedBy":{"oneOf":[{"type":"string","description":"The actor's email. On a comment, its author.","uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].performedBy.oneOf.0","typeLabel":"string"},{"type":"null","description":"The actor's email. On a comment, its author.","uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].performedBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].performedBy","typeLabel":"string | null"},"editedAt":{"oneOf":[{"type":"string","format":"date-time","description":"Set once a comment has been edited. Always null on a system row.","uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].editedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Set once a comment has been edited. Always null on a system row.","uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].editedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.activity.items.[INDEX].editedAt","typeLabel":"string\u003cdate-time> | null"}},"required":["id","jobId","activityType","title","createdAt"],"uniqueKey":"data.job.oneOf.0.activity.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.job.oneOf.0.activity","typeLabel":"object[]"},"jobRef":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.jobRef.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.jobRef.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.jobRef","typeLabel":"string | null"},"jobName":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.jobName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.jobName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.jobName","typeLabel":"string | null"},"quoteId":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.quoteId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.quoteId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.quoteId","typeLabel":"string | null"},"quoteRef":{"oneOf":[{"type":"string","description":"The linked quote's own `quoteRef` (CB-05), resolved server-side from the quote\nrow — never derived from `quoteId`. Null when the job has no quote, when\n`quoteId` points at a row that no longer exists (these link columns carry no\nFK) or is not visible to the caller's tenant, and when the linked quote's own\nref is null. Read-only: no mutation input sets it.","uniqueKey":"data.job.oneOf.0.quoteRef.oneOf.0","typeLabel":"string"},{"type":"null","description":"The linked quote's own `quoteRef` (CB-05), resolved server-side from the quote\nrow — never derived from `quoteId`. Null when the job has no quote, when\n`quoteId` points at a row that no longer exists (these link columns carry no\nFK) or is not visible to the caller's tenant, and when the linked quote's own\nref is null. Read-only: no mutation input sets it.","uniqueKey":"data.job.oneOf.0.quoteRef.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.quoteRef","typeLabel":"string | null"},"customerId":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.customerId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.customerId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.customerId","typeLabel":"string | null"},"contactId":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.contactId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.contactId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.contactId","typeLabel":"string | null"},"salesRepEmail":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.salesRepEmail.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.salesRepEmail.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.salesRepEmail","typeLabel":"string | null"},"reference":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.reference.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.reference.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.reference","typeLabel":"string | null"},"shipPickupDate":{"oneOf":[{"type":"string","format":"date","uniqueKey":"data.job.oneOf.0.shipPickupDate.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","uniqueKey":"data.job.oneOf.0.shipPickupDate.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.shipPickupDate","typeLabel":"string\u003cdate> | null"},"productionDeadline":{"oneOf":[{"type":"string","format":"date","uniqueKey":"data.job.oneOf.0.productionDeadline.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","uniqueKey":"data.job.oneOf.0.productionDeadline.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.productionDeadline","typeLabel":"string\u003cdate> | null"},"deliveryMethod":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.deliveryMethod.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.deliveryMethod.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.deliveryMethod","typeLabel":"string | null"},"shippingBranding":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.shippingBranding.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.shippingBranding.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.shippingBranding","typeLabel":"string | null"},"shippingAddressId":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.shippingAddressId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.shippingAddressId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.shippingAddressId","typeLabel":"string | null"},"paymentType":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.paymentType.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.paymentType.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.paymentType","typeLabel":"string | null"},"lastQuoteSyncDate":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"data.job.oneOf.0.lastQuoteSyncDate.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"data.job.oneOf.0.lastQuoteSyncDate.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.lastQuoteSyncDate","typeLabel":"string\u003cdate-time> | null"},"scheduledStartDate":{"oneOf":[{"type":"string","format":"date","uniqueKey":"data.job.oneOf.0.scheduledStartDate.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","uniqueKey":"data.job.oneOf.0.scheduledStartDate.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.scheduledStartDate","typeLabel":"string\u003cdate> | null"},"scheduledEndDate":{"oneOf":[{"type":"string","format":"date","uniqueKey":"data.job.oneOf.0.scheduledEndDate.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","uniqueKey":"data.job.oneOf.0.scheduledEndDate.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.scheduledEndDate","typeLabel":"string\u003cdate> | null"},"jobNotes":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.jobNotes.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.jobNotes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.jobNotes","typeLabel":"string | null"},"clientNotes":{"oneOf":[{"type":"string","uniqueKey":"data.job.oneOf.0.clientNotes.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.job.oneOf.0.clientNotes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.job.oneOf.0.clientNotes","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"data.job.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"data.job.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job","typeLabel":"object | null"},"customer":{"oneOf":[{"type":"object","required":["id","kind","isActive","createdAt","updatedAt","contacts","addresses"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.customer.oneOf.0.id","typeLabel":"string"},"kind":{"type":"string","enum":["Business","Individual"],"isRequired":true,"uniqueKey":"data.customer.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"isActive":{"type":"boolean","isRequired":true,"uniqueKey":"data.customer.oneOf.0.isActive","typeLabel":"boolean"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.customer.oneOf.0.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.customer.oneOf.0.updatedAt","typeLabel":"string\u003cdate-time>"},"contacts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].id","typeLabel":"string"},"customerId":{"type":"string","isRequired":true,"uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].customerId","typeLabel":"string"},"isPrimary":{"type":"boolean","isRequired":true,"uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].isPrimary","typeLabel":"boolean"},"fullName":{"type":"string","isRequired":true,"uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].fullName","typeLabel":"string"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"includeInAccountingEmails":{"type":"boolean","description":"Copy this person on the accounting provider's outgoing documents. Maps onto\nXero's `ContactPerson.IncludeInEmails` — the only recipient switch Xero\nexposes, and a property of the PERSON on the business record because a Xero\ninvoice has no per-invoice recipient field.\n\nDefaults false: only the business's own address is written to until the shop\ndeliberately opts somebody in.","isRequired":true,"uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].includeInAccountingEmails","typeLabel":"boolean"},"roleTitle":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].roleTitle.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].roleTitle.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].roleTitle","typeLabel":"string | null"},"email":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].email.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].email.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].email","typeLabel":"string | null"},"phone":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].phone.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].phone.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].phone","typeLabel":"string | null"},"notes":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].notes.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].notes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX].notes","typeLabel":"string | null"}},"required":["id","customerId","isPrimary","fullName","createdAt","updatedAt","includeInAccountingEmails"],"uniqueKey":"data.customer.oneOf.0.contacts.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.customer.oneOf.0.contacts","typeLabel":"object[]"},"addresses":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].id","typeLabel":"string"},"customerId":{"type":"string","isRequired":true,"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].customerId","typeLabel":"string"},"kind":{"type":"string","enum":["Billing","Shipping","Other"],"isRequired":true,"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"country":{"type":"string","isRequired":true,"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].country","typeLabel":"string"},"isDefault":{"type":"boolean","isRequired":true,"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].isDefault","typeLabel":"boolean"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"fullAddress":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].fullAddress.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].fullAddress.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].fullAddress","typeLabel":"string | null"},"line1":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].line1.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].line1.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].line1","typeLabel":"string | null"},"line2":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].line2.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].line2.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].line2","typeLabel":"string | null"},"suburb":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].suburb.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].suburb.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].suburb","typeLabel":"string | null"},"state":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].state.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].state.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].state","typeLabel":"string | null"},"postcode":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].postcode.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].postcode.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX].postcode","typeLabel":"string | null"}},"required":["id","customerId","kind","country","isDefault","createdAt","updatedAt"],"uniqueKey":"data.customer.oneOf.0.addresses.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.customer.oneOf.0.addresses","typeLabel":"object[]"},"name":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.name","typeLabel":"string | null"},"businessName":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.businessName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.businessName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.businessName","typeLabel":"string | null"},"firstName":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.firstName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.firstName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.firstName","typeLabel":"string | null"},"lastName":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.lastName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.lastName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.lastName","typeLabel":"string | null"},"email":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.email.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.email.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.email","typeLabel":"string | null"},"phone":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.phone.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.phone.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.phone","typeLabel":"string | null"},"abn":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.abn.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.abn.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.abn","typeLabel":"string | null"},"tier":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.tier.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.tier.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.tier","typeLabel":"string | null"},"notes":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.notes.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.notes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.notes","typeLabel":"string | null"},"portalToken":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.portalToken.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.portalToken.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.portalToken","typeLabel":"string | null"},"defaultBillingAddressId":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.defaultBillingAddressId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.defaultBillingAddressId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.defaultBillingAddressId","typeLabel":"string | null"},"defaultShippingAddressId":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.defaultShippingAddressId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.defaultShippingAddressId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.defaultShippingAddressId","typeLabel":"string | null"},"primaryContactId":{"oneOf":[{"type":"string","uniqueKey":"data.customer.oneOf.0.primaryContactId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.customer.oneOf.0.primaryContactId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.primaryContactId","typeLabel":"string | null"},"archivedAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"data.customer.oneOf.0.archivedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"data.customer.oneOf.0.archivedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customer.oneOf.0.archivedAt","typeLabel":"string\u003cdate-time> | null"}},"isRequired":true,"uniqueKey":"data.customer.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"data.customer.oneOf.1","typeLabel":"null"},{"type":"null","isRequired":true,"uniqueKey":"data.customer.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.customer","typeLabel":"object · null · null"},"tasks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.tasks.items.[INDEX].id","typeLabel":"string"},"jobId":{"type":"string","isRequired":true,"uniqueKey":"data.tasks.items.[INDEX].jobId","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"data.tasks.items.[INDEX].title","typeLabel":"string"},"category":{"type":"string","enum":["Artwork","Stock","Ink","Screen","Production","QC","Packaging","Other"],"isRequired":true,"uniqueKey":"data.tasks.items.[INDEX].category","typeLabel":"enum\u003cstring>"},"decorationMethod":{"type":"string","isRequired":true,"uniqueKey":"data.tasks.items.[INDEX].decorationMethod","typeLabel":"string"},"status":{"type":"string","isRequired":true,"uniqueKey":"data.tasks.items.[INDEX].status","typeLabel":"string"},"sortOrder":{"type":"integer","isRequired":true,"uniqueKey":"data.tasks.items.[INDEX].sortOrder","typeLabel":"integer"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.tasks.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.tasks.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"description":{"oneOf":[{"type":"string","uniqueKey":"data.tasks.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.tasks.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tasks.items.[INDEX].description","typeLabel":"string | null"},"assignedToEmail":{"oneOf":[{"type":"string","uniqueKey":"data.tasks.items.[INDEX].assignedToEmail.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.tasks.items.[INDEX].assignedToEmail.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tasks.items.[INDEX].assignedToEmail","typeLabel":"string | null"},"assignedToName":{"oneOf":[{"type":"string","uniqueKey":"data.tasks.items.[INDEX].assignedToName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.tasks.items.[INDEX].assignedToName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tasks.items.[INDEX].assignedToName","typeLabel":"string | null"},"dueDate":{"oneOf":[{"type":"string","format":"date","uniqueKey":"data.tasks.items.[INDEX].dueDate.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","uniqueKey":"data.tasks.items.[INDEX].dueDate.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tasks.items.[INDEX].dueDate","typeLabel":"string\u003cdate> | null"},"jobGroupDecorationId":{"oneOf":[{"type":"string","uniqueKey":"data.tasks.items.[INDEX].jobGroupDecorationId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.tasks.items.[INDEX].jobGroupDecorationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tasks.items.[INDEX].jobGroupDecorationId","typeLabel":"string | null"},"decorationItemId":{"oneOf":[{"type":"string","uniqueKey":"data.tasks.items.[INDEX].decorationItemId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.tasks.items.[INDEX].decorationItemId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tasks.items.[INDEX].decorationItemId","typeLabel":"string | null"},"completedAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"data.tasks.items.[INDEX].completedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"data.tasks.items.[INDEX].completedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tasks.items.[INDEX].completedAt","typeLabel":"string\u003cdate-time> | null"},"completedByEmail":{"oneOf":[{"type":"string","uniqueKey":"data.tasks.items.[INDEX].completedByEmail.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.tasks.items.[INDEX].completedByEmail.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tasks.items.[INDEX].completedByEmail","typeLabel":"string | null"},"attachmentUrl":{"oneOf":[{"type":"string","uniqueKey":"data.tasks.items.[INDEX].attachmentUrl.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.tasks.items.[INDEX].attachmentUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tasks.items.[INDEX].attachmentUrl","typeLabel":"string | null"},"attachmentFileName":{"oneOf":[{"type":"string","uniqueKey":"data.tasks.items.[INDEX].attachmentFileName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.tasks.items.[INDEX].attachmentFileName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tasks.items.[INDEX].attachmentFileName","typeLabel":"string | null"}},"required":["id","jobId","title","category","decorationMethod","status","sortOrder","createdAt","updatedAt"],"uniqueKey":"data.tasks.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.tasks","typeLabel":"object[]"},"proofs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].id","typeLabel":"string"},"jobId":{"type":"string","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].jobId","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].title","typeLabel":"string"},"version":{"type":"integer","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].version","typeLabel":"integer"},"status":{"type":"string","enum":["Draft","InternallyApproved","SentToClient","ClientApproved","ClientRejected","NeedsRevision"],"isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"sortOrder":{"type":"integer","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].sortOrder","typeLabel":"integer"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"placementSpecs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].id","typeLabel":"string"},"proofId":{"type":"string","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].proofId","typeLabel":"string"},"placement":{"type":"string","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].placement","typeLabel":"string"},"colours":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].colours.items.[INDEX].name","typeLabel":"string"},"isBase":{"type":"boolean","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].colours.items.[INDEX].isBase","typeLabel":"boolean"}},"required":["name","isBase"],"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].colours.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].colours","typeLabel":"object[]"},"sortOrder":{"type":"integer","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].sortOrder","typeLabel":"integer"},"method":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].method.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].method.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].method","typeLabel":"string | null"},"widthCm":{"oneOf":[{"type":"number","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].widthCm.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].widthCm.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].widthCm","typeLabel":"number | null"},"lengthCm":{"oneOf":[{"type":"number","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].lengthCm.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].lengthCm.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].lengthCm","typeLabel":"number | null"},"necklineDropCm":{"oneOf":[{"type":"number","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].necklineDropCm.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].necklineDropCm.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].necklineDropCm","typeLabel":"number | null"},"jobGroupDecorationId":{"oneOf":[{"type":"string","description":"The job-group decoration this spec describes. Null for a spec typed by hand for a print that isn't on the quote.","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].jobGroupDecorationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The job-group decoration this spec describes. Null for a spec typed by hand for a print that isn't on the quote.","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].jobGroupDecorationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].jobGroupDecorationId","typeLabel":"string | null"},"groupName":{"oneOf":[{"type":"string","description":"PR-01 WS-1.2 — server-resolved display fields, projected the same way PortalProofItemLink projects group/style/colour (portal-service/schema.graphql). Read-only; null when jobGroupDecorationId is null or the decoration no longer resolves.","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].groupName.oneOf.0","typeLabel":"string"},{"type":"null","description":"PR-01 WS-1.2 — server-resolved display fields, projected the same way PortalProofItemLink projects group/style/colour (portal-service/schema.graphql). Read-only; null when jobGroupDecorationId is null or the decoration no longer resolves.","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].groupName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].groupName","typeLabel":"string | null"},"styleName":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].styleName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].styleName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].styleName","typeLabel":"string | null"},"colour":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].colour.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].colour.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].colour","typeLabel":"string | null"},"decorationName":{"oneOf":[{"type":"string","description":"The decoration's own label, as the quote shows it.","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].decorationName.oneOf.0","typeLabel":"string"},{"type":"null","description":"The decoration's own label, as the quote shows it.","uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].decorationName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX].decorationName","typeLabel":"string | null"}},"required":["id","proofId","placement","colours","sortOrder"],"uniqueKey":"data.proofs.items.[INDEX].placementSpecs.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].placementSpecs","typeLabel":"object[]"},"itemLinks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].itemLinks.items.[INDEX].id","typeLabel":"string"},"proofId":{"type":"string","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].itemLinks.items.[INDEX].proofId","typeLabel":"string"},"jobGroupId":{"type":"string","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].itemLinks.items.[INDEX].jobGroupId","typeLabel":"string"},"quantity":{"type":"integer","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].itemLinks.items.[INDEX].quantity","typeLabel":"integer"},"sizeSplit":{"type":"array","items":{"type":"object","properties":{"size":{"type":"string","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].itemLinks.items.[INDEX].sizeSplit.items.[INDEX].size","typeLabel":"string"},"qty":{"type":"integer","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].itemLinks.items.[INDEX].sizeSplit.items.[INDEX].qty","typeLabel":"integer"}},"required":["size","qty"],"uniqueKey":"data.proofs.items.[INDEX].itemLinks.items.[INDEX].sizeSplit.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].itemLinks.items.[INDEX].sizeSplit","typeLabel":"object[]"},"sizeSplitConfirmed":{"type":"boolean","isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].itemLinks.items.[INDEX].sizeSplitConfirmed","typeLabel":"boolean"},"jobLineId":{"oneOf":[{"type":"string","description":"PT-05 — the garment LINE this link covers, within the group. A group may hold\nseveral garment lines, and a size split has to land on exactly one of them.\n\nNull only on links written before PT-05 whose group held anything other than\none garment line: the migration backfilled the unambiguous case and refused to\ninvent an attribution for the rest. Those keep the old behaviour, ambiguity\nerror included, until the proof is re-linked.","uniqueKey":"data.proofs.items.[INDEX].itemLinks.items.[INDEX].jobLineId.oneOf.0","typeLabel":"string"},{"type":"null","description":"PT-05 — the garment LINE this link covers, within the group. A group may hold\nseveral garment lines, and a size split has to land on exactly one of them.\n\nNull only on links written before PT-05 whose group held anything other than\none garment line: the migration backfilled the unambiguous case and refused to\ninvent an attribution for the rest. Those keep the old behaviour, ambiguity\nerror included, until the proof is re-linked.","uniqueKey":"data.proofs.items.[INDEX].itemLinks.items.[INDEX].jobLineId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].itemLinks.items.[INDEX].jobLineId","typeLabel":"string | null"}},"required":["id","proofId","jobGroupId","quantity","sizeSplit","sizeSplitConfirmed"],"uniqueKey":"data.proofs.items.[INDEX].itemLinks.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.proofs.items.[INDEX].itemLinks","typeLabel":"object[]"},"jobGroupId":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].jobGroupId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].jobGroupId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].jobGroupId","typeLabel":"string | null"},"jobGroupDecorationId":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].jobGroupDecorationId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].jobGroupDecorationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].jobGroupDecorationId","typeLabel":"string | null"},"mockId":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].mockId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].mockId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].mockId","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].description","typeLabel":"string | null"},"optionLabel":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].optionLabel.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].optionLabel.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].optionLabel","typeLabel":"string | null"},"imageUrl":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].imageUrl.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].imageUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].imageUrl","typeLabel":"string | null"},"imageFileName":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].imageFileName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].imageFileName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].imageFileName","typeLabel":"string | null"},"parentProofId":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].parentProofId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].parentProofId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].parentProofId","typeLabel":"string | null"},"sentToClientAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"data.proofs.items.[INDEX].sentToClientAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"data.proofs.items.[INDEX].sentToClientAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].sentToClientAt","typeLabel":"string\u003cdate-time> | null"},"sentToEmail":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].sentToEmail.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].sentToEmail.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].sentToEmail","typeLabel":"string | null"},"clientDecisionAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"data.proofs.items.[INDEX].clientDecisionAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"data.proofs.items.[INDEX].clientDecisionAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].clientDecisionAt","typeLabel":"string\u003cdate-time> | null"},"clientDecisionByName":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].clientDecisionByName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].clientDecisionByName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].clientDecisionByName","typeLabel":"string | null"},"clientNotes":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].clientNotes.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].clientNotes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].clientNotes","typeLabel":"string | null"},"approvedByEmail":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].approvedByEmail.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].approvedByEmail.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].approvedByEmail","typeLabel":"string | null"},"approvedByName":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].approvedByName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].approvedByName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].approvedByName","typeLabel":"string | null"},"rejectionReason":{"oneOf":[{"type":"string","uniqueKey":"data.proofs.items.[INDEX].rejectionReason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.proofs.items.[INDEX].rejectionReason.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.proofs.items.[INDEX].rejectionReason","typeLabel":"string | null"}},"required":["id","jobId","title","version","status","sortOrder","createdAt","updatedAt","placementSpecs","itemLinks"],"uniqueKey":"data.proofs.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.proofs","typeLabel":"object[]"},"purchaseOrders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].id","typeLabel":"string"},"poNumber":{"type":"string","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].poNumber","typeLabel":"string"},"subtotalExGst":{"type":"number","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].subtotalExGst","typeLabel":"number"},"taxRatePct":{"type":"number","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].taxRatePct","typeLabel":"number"},"gstAmount":{"type":"number","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].gstAmount","typeLabel":"number"},"totalIncGst":{"type":"number","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].totalIncGst","typeLabel":"number"},"status":{"type":"string","enum":["Draft","Pending","Approved","Sent","PartiallyReceived","Received","Completed","Cancelled"],"isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"sentStatus":{"type":"string","enum":["NotSent","Sent","Delivered","Confirmed"],"isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].sentStatus","typeLabel":"enum\u003cstring>"},"isActive":{"type":"boolean","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].isActive","typeLabel":"boolean"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"lineItems":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].id","typeLabel":"string"},"purchaseOrderId":{"type":"string","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].purchaseOrderId","typeLabel":"string"},"itemType":{"type":"string","enum":["Product","Decoration","Other"],"isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].itemType","typeLabel":"enum\u003cstring>"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].name","typeLabel":"string"},"quantity":{"type":"integer","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].quantity","typeLabel":"integer"},"rate":{"type":"number","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].rate","typeLabel":"number"},"ordered":{"type":"boolean","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].ordered","typeLabel":"boolean"},"received":{"type":"boolean","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].received","typeLabel":"boolean"},"subtotal":{"type":"number","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].subtotal","typeLabel":"number"},"sortOrder":{"type":"integer","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].sortOrder","typeLabel":"integer"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"code":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].code.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].code.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].code","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].description","typeLabel":"string | null"},"colour":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].colour.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].colour.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].colour","typeLabel":"string | null"},"size":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].size.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].size.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].size","typeLabel":"string | null"},"quantityOrdered":{"oneOf":[{"type":"integer","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].quantityOrdered.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].quantityOrdered.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].quantityOrdered","typeLabel":"integer | null"},"quantityOnBackorder":{"oneOf":[{"type":"integer","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].quantityOnBackorder.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].quantityOnBackorder.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].quantityOnBackorder","typeLabel":"integer | null"},"backorderDate":{"oneOf":[{"type":"string","format":"date","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].backorderDate.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].backorderDate.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].backorderDate","typeLabel":"string\u003cdate> | null"},"notes":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].notes.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].notes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX].notes","typeLabel":"string | null"}},"required":["id","purchaseOrderId","itemType","name","quantity","rate","ordered","received","subtotal","sortOrder","createdAt","updatedAt"],"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].lineItems","typeLabel":"object[]"},"vendors":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].name","typeLabel":"string"},"kind":{"type":"string","enum":["InventorySupplier","OutsourceVendor","Both"],"isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"serviceTypes":{"type":"array","items":{"type":"string","enum":["ScreenPrint","Embroidery","Digitising","DTF","Other"],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].serviceTypes.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].serviceTypes","typeLabel":"enum\u003cstring>[]"},"isActive":{"type":"boolean","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].isActive","typeLabel":"boolean"},"isManaged":{"type":"boolean","description":"True when PrinTools provisions this vendor rather than the shop creating it\n— currently only the AS Colour record every org is seeded with, and which the\ngarment catalogue links its AS Colour styles to. A managed vendor is edited\nlike any other (the account number, contacts and addresses on it are the\nshop's own), but it cannot be archived: the catalogue's link to it ignores\n`isActive`, so archiving would hide nothing and only break purchase orders\nfor every AS Colour style.","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].isManaged","typeLabel":"boolean"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"contacts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].id","typeLabel":"string"},"vendorId":{"type":"string","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].vendorId","typeLabel":"string"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"firstName":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].firstName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].firstName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].firstName","typeLabel":"string | null"},"lastName":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].lastName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].lastName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].lastName","typeLabel":"string | null"},"email":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].email.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].email.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].email","typeLabel":"string | null"},"phone":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].phone.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].phone.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].phone","typeLabel":"string | null"},"role":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].role.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].role.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX].role","typeLabel":"string | null"}},"required":["id","vendorId","createdAt","updatedAt"],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].contacts","typeLabel":"object[]"},"addresses":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].id","typeLabel":"string"},"vendorId":{"type":"string","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].vendorId","typeLabel":"string"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"label":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].label","typeLabel":"string | null"},"street":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].street.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].street.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].street","typeLabel":"string | null"},"city":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].city.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].city.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].city","typeLabel":"string | null"},"state":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].state.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].state.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].state","typeLabel":"string | null"},"postcode":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].postcode.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].postcode.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].postcode","typeLabel":"string | null"},"country":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].country.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].country.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX].country","typeLabel":"string | null"}},"required":["id","vendorId","createdAt","updatedAt"],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].addresses","typeLabel":"object[]"},"logoUrl":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].logoUrl.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].logoUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].logoUrl","typeLabel":"string | null"},"ordersWebsite":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].ordersWebsite.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].ordersWebsite.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].ordersWebsite","typeLabel":"string | null"},"accountNumber":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].accountNumber.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].accountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].accountNumber","typeLabel":"string | null"},"defaultLeadTimeDays":{"oneOf":[{"type":"integer","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].defaultLeadTimeDays.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].defaultLeadTimeDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].defaultLeadTimeDays","typeLabel":"integer | null"},"minimumOrder":{"oneOf":[{"type":"number","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].minimumOrder.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].minimumOrder.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].minimumOrder","typeLabel":"number | null"},"proximityNotes":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].proximityNotes.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].proximityNotes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].proximityNotes","typeLabel":"string | null"},"notes":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].notes.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].notes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX].notes","typeLabel":"string | null"}},"required":["id","name","kind","serviceTypes","isActive","isManaged","createdAt","updatedAt","contacts","addresses"],"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.purchaseOrders.items.[INDEX].vendors","typeLabel":"object[]"},"title":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].title","typeLabel":"string | null"},"referenceNumber":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].referenceNumber.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].referenceNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].referenceNumber","typeLabel":"string | null"},"jobId":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].jobId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].jobId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].jobId","typeLabel":"string | null"},"quoteId":{"oneOf":[{"type":"string","uniqueKey":"data.purchaseOrders.items.[INDEX].quoteId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.purchaseOrders.items.[INDEX].quoteId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].quoteId","typeLabel":"string | null"},"deadline":{"oneOf":[{"type":"string","format":"date","uniqueKey":"data.purchaseOrders.items.[INDEX].deadline.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","uniqueKey":"data.purchaseOrders.items.[INDEX].deadline.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.purchaseOrders.items.[INDEX].deadline","typeLabel":"string\u003cdate> | null"}},"required":["id","poNumber","subtotalExGst","taxRatePct","gstAmount","totalIncGst","status","sentStatus","isActive","createdAt","updatedAt","lineItems","vendors"],"uniqueKey":"data.purchaseOrders.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.purchaseOrders","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":true,"message":"OK","data":{"job":{"id":"\u003cstring>","status":"\u003cstring>","priority":"Normal","invoiceStatus":"\u003cstring>","quoteOutOfSync":true,"totalQuantity":123,"poStatus":"NotCreated","materialsStatus":"NotPurchased","estimatedDuration":123,"customFieldValues":"\u003cunknown>","createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","groups":[{"id":"\u003cstring>","jobId":"\u003cstring>","name":"\u003cstring>","totalQuantity":123,"sortOrder":123,"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","lines":[{"id":"\u003cstring>","jobGroupId":"\u003cstring>","lineType":"Garment","productName":"\u003cstring>","quantity":123,"unitPriceExGst":123,"sortOrder":123,"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","variants":[{"id":"\u003cstring>","jobLineId":"\u003cstring>","quantity":123,"producedQuantity":123,"unitPriceExGst":123,"sortOrder":123,"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","size":"\u003cstring>","colour":"\u003cstring>","buyPrice":123,"extraCost":123}],"garmentCatalogueItemId":"\u003cstring>","productSku":"\u003cstring>","title":"\u003cstring>","description":"\u003cstring>","customImageUrl":"\u003cstring>"}],"decorations":[{"id":"\u003cstring>","jobGroupId":"\u003cstring>","colours":[{"name":"\u003cstring>","isBase":true}],"baseUnitCost":123,"baseSetupCost":123,"includeSetupCost":true,"sortOrder":123,"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","decorationItemId":"\u003cstring>","method":"ScreenPrinting","position":"\u003cstring>","quantity":123,"description":"\u003cstring>","screenCount":123,"screenMeshGrade":"\u003cstring>","colourCount":123,"setupCost":123,"unitCost":123,"widthCm":123,"lengthCm":123,"necklineDropCm":123,"specialInstructions":"\u003cstring>","artworkFileUrl":"\u003cstring>","separationFileUrl":"\u003cstring>"}],"notes":"\u003cstring>"}],"activity":[{"id":"\u003cstring>","jobId":"\u003cstring>","activityType":"\u003cstring>","title":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","taskId":"\u003cstring>","description":"\u003cstring>","performedBy":"\u003cstring>","editedAt":"2023-11-07T05:31:56Z"}],"jobRef":"\u003cstring>","jobName":"\u003cstring>","quoteId":"\u003cstring>","quoteRef":"\u003cstring>","customerId":"\u003cstring>","contactId":"\u003cstring>","salesRepEmail":"\u003cstring>","reference":"\u003cstring>","shipPickupDate":"2023-12-25","productionDeadline":"2023-12-25","deliveryMethod":"\u003cstring>","shippingBranding":"\u003cstring>","shippingAddressId":"\u003cstring>","paymentType":"\u003cstring>","lastQuoteSyncDate":"2023-11-07T05:31:56Z","scheduledStartDate":"2023-12-25","scheduledEndDate":"2023-12-25","jobNotes":"\u003cstring>","clientNotes":"\u003cstring>"},"customer":{"id":"\u003cstring>","kind":"Business","isActive":true,"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","contacts":[{"id":"\u003cstring>","customerId":"\u003cstring>","isPrimary":true,"fullName":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","includeInAccountingEmails":true,"roleTitle":"\u003cstring>","email":"\u003cstring>","phone":"\u003cstring>","notes":"\u003cstring>"}],"addresses":[{"id":"\u003cstring>","customerId":"\u003cstring>","kind":"Billing","country":"\u003cstring>","isDefault":true,"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","fullAddress":"\u003cstring>","line1":"\u003cstring>","line2":"\u003cstring>","suburb":"\u003cstring>","state":"\u003cstring>","postcode":"\u003cstring>"}],"name":"\u003cstring>","businessName":"\u003cstring>","firstName":"\u003cstring>","lastName":"\u003cstring>","email":"\u003cstring>","phone":"\u003cstring>","abn":"\u003cstring>","tier":"\u003cstring>","notes":"\u003cstring>","portalToken":"\u003cstring>","defaultBillingAddressId":"\u003cstring>","defaultShippingAddressId":"\u003cstring>","primaryContactId":"\u003cstring>","archivedAt":"2023-11-07T05:31:56Z"},"tasks":[{"id":"\u003cstring>","jobId":"\u003cstring>","title":"\u003cstring>","category":"Artwork","decorationMethod":"\u003cstring>","status":"\u003cstring>","sortOrder":123,"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","description":"\u003cstring>","assignedToEmail":"\u003cstring>","assignedToName":"\u003cstring>","dueDate":"2023-12-25","jobGroupDecorationId":"\u003cstring>","decorationItemId":"\u003cstring>","completedAt":"2023-11-07T05:31:56Z","completedByEmail":"\u003cstring>","attachmentUrl":"\u003cstring>","attachmentFileName":"\u003cstring>"}],"proofs":[{"id":"\u003cstring>","jobId":"\u003cstring>","title":"\u003cstring>","version":123,"status":"Draft","sortOrder":123,"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","placementSpecs":[{"id":"\u003cstring>","proofId":"\u003cstring>","placement":"\u003cstring>","colours":[{"name":"\u003cstring>","isBase":true}],"sortOrder":123,"method":"\u003cstring>","widthCm":123,"lengthCm":123,"necklineDropCm":123,"jobGroupDecorationId":"\u003cstring>","groupName":"\u003cstring>","styleName":"\u003cstring>","colour":"\u003cstring>","decorationName":"\u003cstring>"}],"itemLinks":[{"id":"\u003cstring>","proofId":"\u003cstring>","jobGroupId":"\u003cstring>","quantity":123,"sizeSplit":[{"size":"\u003cstring>","qty":123}],"sizeSplitConfirmed":true,"jobLineId":"\u003cstring>"}],"jobGroupId":"\u003cstring>","jobGroupDecorationId":"\u003cstring>","mockId":"\u003cstring>","description":"\u003cstring>","optionLabel":"\u003cstring>","imageUrl":"\u003cstring>","imageFileName":"\u003cstring>","parentProofId":"\u003cstring>","sentToClientAt":"2023-11-07T05:31:56Z","sentToEmail":"\u003cstring>","clientDecisionAt":"2023-11-07T05:31:56Z","clientDecisionByName":"\u003cstring>","clientNotes":"\u003cstring>","approvedByEmail":"\u003cstring>","approvedByName":"\u003cstring>","rejectionReason":"\u003cstring>"}],"purchaseOrders":[{"id":"\u003cstring>","poNumber":"\u003cstring>","subtotalExGst":123,"taxRatePct":123,"gstAmount":123,"totalIncGst":123,"status":"Draft","sentStatus":"NotSent","isActive":true,"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","lineItems":[{"id":"\u003cstring>","purchaseOrderId":"\u003cstring>","itemType":"Product","name":"\u003cstring>","quantity":123,"rate":123,"ordered":true,"received":true,"subtotal":123,"sortOrder":123,"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","code":"\u003cstring>","description":"\u003cstring>","colour":"\u003cstring>","size":"\u003cstring>","quantityOrdered":123,"quantityOnBackorder":123,"backorderDate":"2023-12-25","notes":"\u003cstring>"}],"vendors":[{"id":"\u003cstring>","name":"\u003cstring>","kind":"InventorySupplier","serviceTypes":["ScreenPrint"],"isActive":true,"isManaged":true,"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","contacts":[{"id":"\u003cstring>","vendorId":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","firstName":"\u003cstring>","lastName":"\u003cstring>","email":"\u003cstring>","phone":"\u003cstring>","role":"\u003cstring>"}],"addresses":[{"id":"\u003cstring>","vendorId":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","label":"\u003cstring>","street":"\u003cstring>","city":"\u003cstring>","state":"\u003cstring>","postcode":"\u003cstring>","country":"\u003cstring>"}],"logoUrl":"\u003cstring>","ordersWebsite":"\u003cstring>","accountNumber":"\u003cstring>","defaultLeadTimeDays":123,"minimumOrder":123,"proximityNotes":"\u003cstring>","notes":"\u003cstring>"}],"title":"\u003cstring>","referenceNumber":"\u003cstring>","jobId":"\u003cstring>","quoteId":"\u003cstring>","deadline":"2023-12-25"}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"cd3f30cb-8f37-4bd6-9928-f2a571cf3ddf":{"description":"Validation or request-shape error. Correct the request before retrying.","content":{"application/json":{"schema":{"type":"object","required":["error","message","status"],"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"status":{"type":"boolean","const":false,"isRequired":true,"uniqueKey":"status","typeLabel":"boolean"}},"description":"Every non-2xx response uses this envelope.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","status":false}}},"exampleType":"generated"}},"exampleType":"generated"},"eaa5abe6-0a0e-4e9e-82cc-ad7a1cef8228":{"description":"Credential authentication failed.","content":{"application/json":{"schema":{"type":"object","required":["error","message","status"],"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"status":{"type":"boolean","const":false,"isRequired":true,"uniqueKey":"status","typeLabel":"boolean"}},"description":"Every non-2xx response uses this envelope.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","status":false}}},"exampleType":"generated"}},"headers":{"WWW-Authenticate":{"schema":{"type":"string","example":"ApiKey"}}},"exampleType":"generated"},"991a7d85-a155-458f-b304-f0e3030f2320":{"description":"The credential lacks a required scope, or its actor lacks permission.","content":{"application/json":{"schema":{"type":"object","required":["error","message","status"],"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"status":{"type":"boolean","const":false,"isRequired":true,"uniqueKey":"status","typeLabel":"boolean"}},"description":"Every non-2xx response uses this envelope.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","status":false}}},"exampleType":"generated"}},"exampleType":"generated"},"9be97920-b322-4081-b63b-b08f607630aa":{"description":"The resource or endpoint was not found.","content":{"application/json":{"schema":{"type":"object","required":["error","message","status"],"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"status":{"type":"boolean","const":false,"isRequired":true,"uniqueKey":"status","typeLabel":"boolean"}},"description":"Every non-2xx response uses this envelope.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","status":false}}},"exampleType":"generated"}},"exampleType":"generated"},"d223223a-be93-4c00-9e35-c77fe3958a72":{"description":"Conflict, including idempotency-key reuse or an in-flight idempotent request.","content":{"application/json":{"schema":{"type":"object","required":["error","message","status"],"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"status":{"type":"boolean","const":false,"isRequired":true,"uniqueKey":"status","typeLabel":"boolean"}},"description":"Every non-2xx response uses this envelope.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","status":false}}},"exampleType":"generated"}},"exampleType":"generated"},"f815a091-d33f-408f-af3c-18a884aa8793":{"description":"The JSON request body exceeds the published size limit.","content":{"application/json":{"schema":{"type":"object","required":["error","message","status"],"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"status":{"type":"boolean","const":false,"isRequired":true,"uniqueKey":"status","typeLabel":"boolean"}},"description":"Every non-2xx response uses this envelope.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","status":false}}},"exampleType":"generated"}},"exampleType":"generated"},"74d550b8-4452-46e0-90da-8139a75d8398":{"description":"Rate limited. Retry after the returned delay.","content":{"application/json":{"schema":{"type":"object","required":["error","message","status"],"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"status":{"type":"boolean","const":false,"isRequired":true,"uniqueKey":"status","typeLabel":"boolean"}},"description":"Every non-2xx response uses this envelope.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","status":false}}},"exampleType":"generated"}},"headers":{"Retry-After":{"description":"Whole seconds to wait.","schema":{"type":"integer","minimum":0}}},"exampleType":"generated"},"9e159c08-8e79-46c1-8ec7-0f4969e6230e":{"description":"An unexpected server error. A retry can be appropriate.","content":{"application/json":{"schema":{"type":"object","required":["error","message","status"],"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"status":{"type":"boolean","const":false,"isRequired":true,"uniqueKey":"status","typeLabel":"boolean"}},"description":"Every non-2xx response uses this envelope.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","status":false}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"0daaeaf5-4e72-4127-aaa1-a88bbc64ced0":{"tenantApiKey":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Tenant credential. This is sufficient by itself.","scopes":[]}},"f5c4dbce-ee5e-448f-b1ee-0cb33bb4e46d":{"partnerApiKey":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Partner application client ID.","scopes":[]},"partnerApiSecret":{"type":"apiKey","in":"header","name":"X-API-Secret","description":"Partner application secret.","scopes":[]},"partnerBearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Cognito access token obtained through OAuth.","scopes":[]}}},"servers":{"beaaf7be-9258-41cf-929a-55d51e0689b1":{"url":"https://api.printools.io","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Tenant credential. This is sufficient by itself.","scopes":[]},"schema":{"title":"X-API-Key","type":"string","description":"Tenant credential. This is sufficient by itself.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"tenantApiKey","name":"X-API-Key"}],"title":"tenantApiKey"},{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Partner application client ID.","scopes":[]},"schema":{"title":"X-API-Key","type":"string","description":"Partner application client ID.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"partnerApiKey","name":"X-API-Key"},{"scheme":{"type":"apiKey","in":"header","name":"X-API-Secret","description":"Partner application secret.","scopes":[]},"schema":{"title":"X-API-Secret","type":"string","description":"Partner application secret.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"partnerApiSecret","name":"X-API-Secret"},{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Cognito access token obtained through OAuth.","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Cognito access token obtained through OAuth.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"partnerBearer","name":"Authorization"}],"title":"partnerApiKey \u0026 partnerApiSecret \u0026 partnerBearer"}]},"originalFileLocation":"https://d1zl72794e73i2.cloudfront.net/releases/2026-09-08.api-blackbox/openapi.json"},"subdomain":"printools-docs","siteName":"PRINTOOLS Docs","title":"One job and everything hanging off it, in one call - PRINTOOLS Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-08T12:10:22.472Z","originalFileLocation":"api/reference/get_v1_jobs_jobId_data.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Requires ALL of the scopes jobs.read, customers.read, garments.read, decorations.read.\">\u003cmeta data-mint-head name=\"application-name\" content=\"PRINTOOLS Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/printools-docs/qiRPxJTgwUI6WMAG/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/printools-docs/qiRPxJTgwUI6WMAG/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/printools-docs/qiRPxJTgwUI6WMAG/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/printools-docs/qiRPxJTgwUI6WMAG/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/printools-docs/qiRPxJTgwUI6WMAG/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/printools-docs/qiRPxJTgwUI6WMAG/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/printools-docs/qiRPxJTgwUI6WMAG/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/printools-docs/qiRPxJTgwUI6WMAG/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/printools-docs/qiRPxJTgwUI6WMAG/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"One job and everything hanging off it, in one call - PRINTOOLS Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Requires ALL of the scopes jobs.read, customers.read, garments.read, decorations.read.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PRINTOOLS Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.printools.io/api/reference/get_v1_jobs_jobId_data\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://printools-docs.mintlify.app/_mintlify/api/og/v2?division=Jobs\u0026amp;title=One+job+and+everything+hanging+off+it%2C+in+one+call\u0026amp;description=Requires+ALL+of+the+scopes+jobs.read%2C+customers.read%2C+garments.read%2C+decorations.read.\u0026amp;theme=1264f79c0fa4bc489a663c38\u0026amp;signature=c463bb5003a12ed43ba1060bbb977219cf5bf4841ad910de4a83def17cd48a5e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"One job and everything hanging off it, in one call - PRINTOOLS Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Requires ALL of the scopes jobs.read, customers.read, garments.read, decorations.read.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://printools-docs.mintlify.app/_mintlify/api/og/v2?division=Jobs\u0026amp;title=One+job+and+everything+hanging+off+it%2C+in+one+call\u0026amp;description=Requires+ALL+of+the+scopes+jobs.read%2C+customers.read%2C+garments.read%2C+decorations.read.\u0026amp;theme=1264f79c0fa4bc489a663c38\u0026amp;signature=c463bb5003a12ed43ba1060bbb977219cf5bf4841ad910de4a83def17cd48a5e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/printools-docs/qiRPxJTgwUI6WMAG/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"PRINTOOLS Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#252220\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.printools.io/api/reference/get_v1_jobs_jobId_data\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/reference/get_v1_jobs_jobId_data.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.printools.io/#organization\",\"name\":\"PRINTOOLS Docs\",\"url\":\"https://docs.printools.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/printools-docs/O0KTj_rIOTsZeahM/images/Group2.png?fit=max\u0026auto=format\u0026n=O0KTj_rIOTsZeahM\u0026q=85\u0026s=c13cad1946e83c89b0c37822757efb9b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.printools.io#website\",\"name\":\"PRINTOOLS Docs\",\"url\":\"https://docs.printools.io\",\"publisher\":{\"@id\":\"https://docs.printools.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.printools.io/api/reference/get_v1_jobs_jobId_data#webpage\",\"url\":\"https://docs.printools.io/api/reference/get_v1_jobs_jobId_data\",\"name\":\"One job and everything hanging off it, in one call\",\"description\":\"Requires ALL of the scopes jobs.read, customers.read, garments.read, decorations.read.\",\"dateModified\":\"2026-09-08T12:10:22.472Z\",\"isPartOf\":{\"@id\":\"https://docs.printools.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.printools.io/api/reference/get_v1_jobs_jobId_data#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.printools.io/api/reference/get_v1_jobs_jobId_data#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.printools.io/api/endpoints/account-and-reference\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jobs\",\"item\":\"https://docs.printools.io/api/endpoints/jobs\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"One job and everything hanging off it, in one call\",\"item\":\"https://docs.printools.io/api/reference/get_v1_jobs_jobId_data\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.printools.io/api/reference/get_v1_jobs_jobId_data#apireference\",\"headline\":\"One job and everything hanging off it, in one call\",\"name\":\"One job and everything hanging off it, in one call\",\"description\":\"Requires ALL of the scopes jobs.read, customers.read, garments.read, decorations.read.\",\"url\":\"https://docs.printools.io/api/reference/get_v1_jobs_jobId_data\",\"mainEntityOfPage\":{\"@id\":\"https://docs.printools.io/api/reference/get_v1_jobs_jobId_data#webpage\"},\"dateModified\":\"2026-09-08T12:10:22.472Z\",\"publisher\":{\"@id\":\"https://docs.printools.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.printools.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"PRINTOOLS Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"PRINTOOLS Docs","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"magic-wand-sparkles","pages":[{"title":"Guides","href":""}]},{"tab":"Public API","icon":"code","groups":[{"group":"Getting started","icon":"compass","pages":[{"title":"Introduction","icon":"code","href":"/api/introduction"},{"title":"Authentication","icon":"lock","href":"/api/authentication"},{"title":"Scopes","icon":"shield-check","href":"/api/scopes"},{"title":"Responses and errors","icon":"reply","href":"/api/responses"},{"title":"Rate limits","icon":"gauge-high","href":"/api/rate-limits"},{"title":"Pagination","icon":"list-ol","href":"/api/pagination"},{"title":"Writing safely","icon":"fingerprint","href":"/api/idempotency"}]},{"group":"Endpoints","icon":"plug","pages":[{"group":"Account \u0026 reference","pages":[{"title":"Account and reference","icon":"id-card","href":"/api/endpoints/account-and-reference"},{"title":"Get current account","openapi":"GET /v1/me","href":"/api/reference/get_v1_me"},{"title":"The lookup bundle every write endpoint depends on","openapi":"GET /v1/reference/types","href":"/api/reference/get_v1_reference_types"},{"title":"Built-in status vocabularies, including which purchase-order statuses are derived and therefore not settable","openapi":"GET /v1/reference/statuses","href":"/api/reference/get_v1_reference_statuses"},{"title":"Decoration methods, positions and their vocabularies","openapi":"GET /v1/reference/decorations","href":"/api/reference/get_v1_reference_decorations"},{"title":"The scope catalogue, served from its single source","openapi":"GET /v1/reference/scopes","href":"/api/reference/get_v1_reference_scopes"},{"title":"The webhook event catalogue","openapi":"GET /v1/reference/events","href":"/api/reference/get_v1_reference_events"},{"title":"Rate limits, batch ceilings and page size, from the one limits module","openapi":"GET /v1/reference/limits","href":"/api/reference/get_v1_reference_limits"}]},{"group":"Quotes","pages":[{"title":"Quotes","icon":"file-invoice-dollar","href":"/api/endpoints/quotes"},{"title":"List quotes","openapi":"GET /v1/quotes","href":"/api/reference/get_v1_quotes"},{"title":"Create a quote","openapi":"POST /v1/quotes","href":"/api/reference/post_v1_quotes"},{"title":"Filter facets for the quote list","openapi":"GET /v1/quotes/facets","href":"/api/reference/get_v1_quotes_facets"},{"title":"One quote with its groups, lines and decorations","openapi":"GET /v1/quotes/{quoteId}","href":"/api/reference/get_v1_quotes_quoteId"},{"title":"Update a quote","openapi":"PATCH /v1/quotes/{quoteId}","href":"/api/reference/patch_v1_quotes_quoteId"},{"title":"Email a quote to the customer","openapi":"POST /v1/quotes/{quoteId}/send","href":"/api/reference/post_v1_quotes_quoteId_send"},{"title":"Convert a quote into a job","openapi":"POST /v1/quotes/{quoteId}/convert-to-job","href":"/api/reference/post_v1_quotes_quoteId_convert_to_job"},{"title":"Add a group to a quote","openapi":"POST /v1/quotes/{quoteId}/groups","href":"/api/reference/post_v1_quotes_quoteId_groups"},{"title":"Update a quote group","openapi":"PATCH /v1/quote-groups/{groupId}","href":"/api/reference/patch_v1_quote_groups_groupId"},{"title":"Delete a quote group","openapi":"DELETE /v1/quote-groups/{groupId}","href":"/api/reference/delete_v1_quote_groups_groupId"},{"title":"Add a line to a quote group","openapi":"POST /v1/quote-groups/{groupId}/lines","href":"/api/reference/post_v1_quote_groups_groupId_lines"},{"title":"Update a quote line","openapi":"PATCH /v1/quote-lines/{lineId}","href":"/api/reference/patch_v1_quote_lines_lineId"},{"title":"Delete a quote line","openapi":"DELETE /v1/quote-lines/{lineId}","href":"/api/reference/delete_v1_quote_lines_lineId"},{"title":"Attach a decoration to a quote group","openapi":"POST /v1/quote-groups/{groupId}/decorations","href":"/api/reference/post_v1_quote_groups_groupId_decorations"},{"title":"Delete every quote matching a target","openapi":"POST /v1/quotes/bulk/delete","href":"/api/reference/post_v1_quotes_bulk_delete"},{"title":"Duplicate every quote matching a target","openapi":"POST /v1/quotes/bulk/duplicate","href":"/api/reference/post_v1_quotes_bulk_duplicate"},{"title":"Set the status of every quote matching a target","openapi":"POST /v1/quotes/bulk/status","href":"/api/reference/post_v1_quotes_bulk_status"},{"title":"Convert every quote matching a target into a job","openapi":"POST /v1/quotes/bulk/convert-to-jobs","href":"/api/reference/post_v1_quotes_bulk_convert_to_jobs"},{"title":"A presigned link to the quote PDF. Expires in 900 seconds","openapi":"GET /v1/quotes/{quoteId}/pdf","href":"/api/reference/get_v1_quotes_quoteId_pdf"},{"title":"Every invoice raised against a quote","openapi":"GET /v1/quotes/{quoteId}/invoices","href":"/api/reference/get_v1_quotes_quoteId_invoices"},{"title":"Generate an invoice from a quote","openapi":"POST /v1/quotes/{quoteId}/invoice","href":"/api/reference/post_v1_quotes_quoteId_invoice"},{"title":"One quote and everything hanging off it, in one call","openapi":"GET /v1/quotes/{quoteId}/data","href":"/api/reference/get_v1_quotes_quoteId_data"},{"title":"Delete a quote","openapi":"DELETE /v1/quotes/{quoteId}","href":"/api/reference/delete_v1_quotes_quoteId"},{"title":"Duplicate a quote","openapi":"POST /v1/quotes/{quoteId}/duplicate","href":"/api/reference/post_v1_quotes_quoteId_duplicate"},{"title":"Update a quote-group decoration","openapi":"PATCH /v1/quote-group-decorations/{decorationId}","href":"/api/reference/patch_v1_quote_group_decorations_decorationId"},{"title":"Remove a decoration from a quote group","openapi":"DELETE /v1/quote-group-decorations/{decorationId}","href":"/api/reference/delete_v1_quote_group_decorations_decorationId"}]},{"group":"Jobs","pages":[{"title":"Jobs","icon":"conveyor-belt","href":"/api/endpoints/jobs"},{"title":"List jobs, newest first","openapi":"GET /v1/jobs","href":"/api/reference/get_v1_jobs"},{"title":"Create a job","openapi":"POST /v1/jobs","href":"/api/reference/post_v1_jobs"},{"title":"Filter facets for the job list","openapi":"GET /v1/jobs/facets","href":"/api/reference/get_v1_jobs_facets"},{"title":"One job with its groups, lines and decorations","openapi":"GET /v1/jobs/{jobId}","href":"/api/reference/get_v1_jobs_jobId"},{"title":"Update a job","openapi":"PATCH /v1/jobs/{jobId}","href":"/api/reference/patch_v1_jobs_jobId"},{"title":"Delete a job","openapi":"DELETE /v1/jobs/{jobId}","href":"/api/reference/delete_v1_jobs_jobId"},{"title":"The job activity feed. Names the staff who acted","openapi":"GET /v1/jobs/{jobId}/activity","href":"/api/reference/get_v1_jobs_jobId_activity"},{"title":"Duplicate a job","openapi":"POST /v1/jobs/{jobId}/duplicate","href":"/api/reference/post_v1_jobs_jobId_duplicate"},{"title":"Re-sync a job from the quote it came from","openapi":"POST /v1/jobs/{jobId}/sync-from-quote","href":"/api/reference/post_v1_jobs_jobId_sync_from_quote"},{"title":"Add a group to a job","openapi":"POST /v1/jobs/{jobId}/groups","href":"/api/reference/post_v1_jobs_jobId_groups"},{"title":"Update a job group","openapi":"PATCH /v1/job-groups/{groupId}","href":"/api/reference/patch_v1_job_groups_groupId"},{"title":"Delete a job group","openapi":"DELETE /v1/job-groups/{groupId}","href":"/api/reference/delete_v1_job_groups_groupId"},{"title":"Add a line to a job group","openapi":"POST /v1/job-groups/{groupId}/lines","href":"/api/reference/post_v1_job_groups_groupId_lines"},{"title":"Update a job line","openapi":"PATCH /v1/job-lines/{lineId}","href":"/api/reference/patch_v1_job_lines_lineId"},{"title":"Delete a job line","openapi":"DELETE /v1/job-lines/{lineId}","href":"/api/reference/delete_v1_job_lines_lineId"},{"title":"Attach a decoration to a job group","openapi":"POST /v1/job-groups/{groupId}/decorations","href":"/api/reference/post_v1_job_groups_groupId_decorations"},{"title":"Update a job-group decoration","openapi":"PATCH /v1/job-group-decorations/{decorationId}","href":"/api/reference/patch_v1_job_group_decorations_decorationId"},{"title":"Remove a decoration from a job group","openapi":"DELETE /v1/job-group-decorations/{decorationId}","href":"/api/reference/delete_v1_job_group_decorations_decorationId"},{"title":"Patch every job matching a target","openapi":"POST /v1/jobs/bulk/update","href":"/api/reference/post_v1_jobs_bulk_update"},{"title":"Delete every job matching a target","openapi":"POST /v1/jobs/bulk/delete","href":"/api/reference/post_v1_jobs_bulk_delete"},{"title":"Duplicate every job matching a target","openapi":"POST /v1/jobs/bulk/duplicate","href":"/api/reference/post_v1_jobs_bulk_duplicate"},{"title":"Every purchase order raised for a job","openapi":"GET /v1/jobs/{jobId}/purchase-orders","href":"/api/reference/get_v1_jobs_jobId_purchase_orders"},{"title":"Raise purchase orders for a job, one per vendor","openapi":"POST /v1/jobs/{jobId}/purchase-orders","href":"/api/reference/post_v1_jobs_jobId_purchase_orders"},{"title":"Every proof on a job","openapi":"GET /v1/jobs/{jobId}/proofs","href":"/api/reference/get_v1_jobs_jobId_proofs"},{"title":"Every production task on a job","openapi":"GET /v1/jobs/{jobId}/tasks","description":"Requires ALL of the scopes tasks.read, jobs.read.","href":"/api/reference/get_v1_jobs_jobId_tasks"},{"title":"One job and everything hanging off it, in one call","openapi":"GET /v1/jobs/{jobId}/data","href":"/api/reference/get_v1_jobs_jobId_data"}]},{"group":"Customers","pages":[{"title":"Customers","description":"Customers, their contacts and addresses.","icon":"users","href":"/api/endpoints/customers"},{"title":"List customers","openapi":"GET /v1/customers","href":"/api/reference/get_v1_customers"},{"title":"Create a customer","openapi":"POST /v1/customers","href":"/api/reference/post_v1_customers"},{"title":"One customer with contacts and addresses","openapi":"GET /v1/customers/{customerId}","href":"/api/reference/get_v1_customers_customerId"},{"title":"Update a customer","openapi":"PATCH /v1/customers/{customerId}","href":"/api/reference/patch_v1_customers_customerId"},{"title":"Archive a customer","openapi":"POST /v1/customers/{customerId}/archive","href":"/api/reference/post_v1_customers_customerId_archive"},{"title":"Restore an archived customer","openapi":"POST /v1/customers/{customerId}/unarchive","href":"/api/reference/post_v1_customers_customerId_unarchive"},{"title":"Add a contact to a customer","openapi":"POST /v1/customers/{customerId}/contacts","href":"/api/reference/post_v1_customers_customerId_contacts"},{"title":"Update a contact","openapi":"PATCH /v1/contacts/{contactId}","href":"/api/reference/patch_v1_contacts_contactId"},{"title":"Delete a contact","openapi":"DELETE /v1/contacts/{contactId}","href":"/api/reference/delete_v1_contacts_contactId"},{"title":"Add an address to a customer","openapi":"POST /v1/customers/{customerId}/addresses","href":"/api/reference/post_v1_customers_customerId_addresses"},{"title":"Update an address","openapi":"PATCH /v1/addresses/{addressId}","href":"/api/reference/patch_v1_addresses_addressId"},{"title":"Delete an address","openapi":"DELETE /v1/addresses/{addressId}","href":"/api/reference/delete_v1_addresses_addressId"},{"title":"Create many customers in one call","openapi":"POST /v1/customers/bulk/create","href":"/api/reference/post_v1_customers_bulk_create"},{"title":"Archive or restore every customer matching a target","openapi":"POST /v1/customers/bulk/archive","href":"/api/reference/post_v1_customers_bulk_archive"},{"title":"Set the tier of every customer matching a target","openapi":"POST /v1/customers/bulk/tier","href":"/api/reference/post_v1_customers_bulk_tier"},{"title":"One customer with their quotes and jobs, in one call","openapi":"GET /v1/customers/{customerId}/data","href":"/api/reference/get_v1_customers_customerId_data"}]},{"group":"Garments \u0026 catalogue","pages":[{"title":"Garments and catalogue","icon":"shirt","href":"/api/endpoints/garments"},{"title":"List garments, the shop's own items and the supplier catalogue","openapi":"GET /v1/garments","href":"/api/reference/get_v1_garments"},{"title":"Create a garment","openapi":"POST /v1/garments","href":"/api/reference/post_v1_garments"},{"title":"Filter facets for the garment list","openapi":"GET /v1/garments/facets","href":"/api/reference/get_v1_garments_facets"},{"title":"Garment assets","openapi":"GET /v1/garments/assets","href":"/api/reference/get_v1_garments_assets"},{"title":"One garment","openapi":"GET /v1/garments/{garmentId}","href":"/api/reference/get_v1_garments_garmentId"},{"title":"Update a garment","openapi":"PATCH /v1/garments/{garmentId}","href":"/api/reference/patch_v1_garments_garmentId"},{"title":"Delete a garment","openapi":"DELETE /v1/garments/{garmentId}","href":"/api/reference/delete_v1_garments_garmentId"},{"title":"Every variant of one style code","openapi":"GET /v1/garment-variants/{styleCode}","href":"/api/reference/get_v1_garment_variants_styleCode"},{"title":"Create a garment variant","openapi":"POST /v1/garment-variants","href":"/api/reference/post_v1_garment_variants"},{"title":"Update a garment variant","openapi":"PATCH /v1/garment-variants/id/{variantId}","href":"/api/reference/patch_v1_garment_variants_id_variantId"},{"title":"Delete a garment variant","openapi":"DELETE /v1/garment-variants/id/{variantId}","href":"/api/reference/delete_v1_garment_variants_id_variantId"},{"title":"Create a garment asset","openapi":"POST /v1/garment-assets","href":"/api/reference/post_v1_garment_assets"},{"title":"Update a garment asset","openapi":"PATCH /v1/garment-assets/{assetId}","href":"/api/reference/patch_v1_garment_assets_assetId"},{"title":"Delete a garment asset","openapi":"DELETE /v1/garment-assets/{assetId}","href":"/api/reference/delete_v1_garment_assets_assetId"},{"title":"Create many garments in one call","openapi":"POST /v1/garments/bulk/create","href":"/api/reference/post_v1_garments_bulk_create"},{"title":"Upsert a catalogue of garments in one set-based call","openapi":"POST /v1/garments/bulk/upsert","href":"/api/reference/post_v1_garments_bulk_upsert"},{"title":"Patch every garment matching a target","openapi":"POST /v1/garments/bulk/update","href":"/api/reference/post_v1_garments_bulk_update"},{"title":"Delete every garment matching a target","openapi":"POST /v1/garments/bulk/delete","href":"/api/reference/post_v1_garments_bulk_delete"},{"title":"Create many garment variants in one call","openapi":"POST /v1/garment-variants/bulk/create","href":"/api/reference/post_v1_garment_variants_bulk_create"},{"title":"Upsert garment variants in one set-based call","openapi":"POST /v1/garment-variants/bulk/upsert","href":"/api/reference/post_v1_garment_variants_bulk_upsert"},{"title":"Set status and stock across an import batch","openapi":"POST /v1/garments/bulk/status-and-stock","href":"/api/reference/post_v1_garments_bulk_status_and_stock"},{"title":"The shop's whole catalogue in one call: their own items and the supplier catalogue, variants inline. Cursor-paged; ?source=manual|ascolour","openapi":"GET /v1/catalogue","href":"/api/reference/get_v1_catalogue"}]},{"group":"Decorations","pages":[{"title":"Decorations","icon":"palette","href":"/api/endpoints/decorations"},{"title":"List decorations","openapi":"GET /v1/decorations","href":"/api/reference/get_v1_decorations"},{"title":"Create a decoration","openapi":"POST /v1/decorations","href":"/api/reference/post_v1_decorations"},{"title":"Filter facets for the decoration list","openapi":"GET /v1/decorations/facets","href":"/api/reference/get_v1_decorations_facets"},{"title":"One decoration","openapi":"GET /v1/decorations/{decorationId}","href":"/api/reference/get_v1_decorations_decorationId"},{"title":"Update a decoration","openapi":"PATCH /v1/decorations/{decorationId}","href":"/api/reference/patch_v1_decorations_decorationId"},{"title":"Delete a decoration","openapi":"DELETE /v1/decorations/{decorationId}","href":"/api/reference/delete_v1_decorations_decorationId"},{"title":"Create many decorations in one call","openapi":"POST /v1/decorations/bulk/create","href":"/api/reference/post_v1_decorations_bulk_create"},{"title":"Patch every decoration matching a target","openapi":"POST /v1/decorations/bulk/update","href":"/api/reference/post_v1_decorations_bulk_update"},{"title":"Delete every decoration matching a target","openapi":"POST /v1/decorations/bulk/delete","href":"/api/reference/post_v1_decorations_bulk_delete"}]},{"group":"Pre-built items","pages":[{"title":"Pre-built items","icon":"box-archive","href":"/api/endpoints/prebuilt-items"},{"title":"List pre-built items","openapi":"GET /v1/prebuilt-items","href":"/api/reference/get_v1_prebuilt_items"},{"title":"Create a pre-built item (server-assigned id)","openapi":"POST /v1/prebuilt-items","href":"/api/reference/post_v1_prebuilt_items"},{"title":"One pre-built item","openapi":"GET /v1/prebuilt-items/{itemId}","href":"/api/reference/get_v1_prebuilt_items_itemId"},{"title":"Create or replace a pre-built item","openapi":"PUT /v1/prebuilt-items/{itemId}","href":"/api/reference/put_v1_prebuilt_items_itemId"},{"title":"Delete a pre-built item","openapi":"DELETE /v1/prebuilt-items/{itemId}","href":"/api/reference/delete_v1_prebuilt_items_itemId"},{"title":"Delete every pre-built item matching a target","openapi":"POST /v1/prebuilt-items/bulk/delete","href":"/api/reference/post_v1_prebuilt_items_bulk_delete"},{"title":"Set the status of every pre-built item matching a target","openapi":"POST /v1/prebuilt-items/bulk/status","href":"/api/reference/post_v1_prebuilt_items_bulk_status"}]},{"group":"Purchase orders","pages":[{"title":"Purchase orders","icon":"truck","href":"/api/endpoints/purchase-orders"},{"title":"List purchase orders","openapi":"GET /v1/purchase-orders","href":"/api/reference/get_v1_purchase_orders"},{"title":"Create a purchase order","openapi":"POST /v1/purchase-orders","href":"/api/reference/post_v1_purchase_orders"},{"title":"One purchase order with its lines","openapi":"GET /v1/purchase-orders/{purchaseOrderId}","href":"/api/reference/get_v1_purchase_orders_purchaseOrderId"},{"title":"Update a purchase order","openapi":"PATCH /v1/purchase-orders/{purchaseOrderId}","href":"/api/reference/patch_v1_purchase_orders_purchaseOrderId"},{"title":"Archive a purchase order","openapi":"POST /v1/purchase-orders/{purchaseOrderId}/archive","href":"/api/reference/post_v1_purchase_orders_purchaseOrderId_archive"},{"title":"Restore an archived purchase order","openapi":"POST /v1/purchase-orders/{purchaseOrderId}/unarchive","href":"/api/reference/post_v1_purchase_orders_purchaseOrderId_unarchive"},{"title":"Add a line to a purchase order","openapi":"POST /v1/purchase-orders/{purchaseOrderId}/lines","href":"/api/reference/post_v1_purchase_orders_purchaseOrderId_lines"},{"title":"Update a purchase-order line","openapi":"PATCH /v1/purchase-order-lines/{lineId}","href":"/api/reference/patch_v1_purchase_order_lines_lineId"},{"title":"Delete a purchase-order line","openapi":"DELETE /v1/purchase-order-lines/{lineId}","href":"/api/reference/delete_v1_purchase_order_lines_lineId"},{"title":"Record a receipt against a purchase-order line","openapi":"POST /v1/purchase-order-lines/{lineId}/receive","href":"/api/reference/post_v1_purchase_order_lines_lineId_receive"},{"title":"Attach a vendor to a purchase order","openapi":"POST /v1/purchase-orders/{purchaseOrderId}/vendors/{vendorId}","href":"/api/reference/post_v1_purchase_orders_purchaseOrderId_vendors_vendorId"},{"title":"Detach a vendor from a purchase order","openapi":"DELETE /v1/purchase-orders/{purchaseOrderId}/vendors/{vendorId}","href":"/api/reference/delete_v1_purchase_orders_purchaseOrderId_vendors_vendorId"},{"title":"Receive every purchase-order line matching a target","openapi":"POST /v1/purchase-orders/bulk/receive","href":"/api/reference/post_v1_purchase_orders_bulk_receive"},{"title":"Set the status of every purchase order matching a target. Derived statuses are refused, see GET /v1/reference/statuses","openapi":"POST /v1/purchase-orders/bulk/status","href":"/api/reference/post_v1_purchase_orders_bulk_status"},{"title":"Archive or restore every purchase order matching a target","openapi":"POST /v1/purchase-orders/bulk/archive","href":"/api/reference/post_v1_purchase_orders_bulk_archive"}]},{"group":"Vendors","pages":[{"title":"Vendors","icon":"building","href":"/api/endpoints/vendors"},{"title":"Every purchase order raised on a vendor","openapi":"GET /v1/vendors/{vendorId}/purchase-orders","href":"/api/reference/get_v1_vendors_vendorId_purchase_orders"},{"title":"List vendors","openapi":"GET /v1/vendors","href":"/api/reference/get_v1_vendors"},{"title":"Create a vendor","openapi":"POST /v1/vendors","href":"/api/reference/post_v1_vendors"},{"title":"One vendor with addresses and contacts","openapi":"GET /v1/vendors/{vendorId}","href":"/api/reference/get_v1_vendors_vendorId"},{"title":"Update a vendor","openapi":"PATCH /v1/vendors/{vendorId}","href":"/api/reference/patch_v1_vendors_vendorId"},{"title":"Archive a vendor","openapi":"POST /v1/vendors/{vendorId}/archive","href":"/api/reference/post_v1_vendors_vendorId_archive"},{"title":"Restore an archived vendor","openapi":"POST /v1/vendors/{vendorId}/unarchive","href":"/api/reference/post_v1_vendors_vendorId_unarchive"},{"title":"Add an address to a vendor","openapi":"POST /v1/vendors/{vendorId}/addresses","href":"/api/reference/post_v1_vendors_vendorId_addresses"},{"title":"Update a vendor address","openapi":"PATCH /v1/vendor-addresses/{addressId}","href":"/api/reference/patch_v1_vendor_addresses_addressId"},{"title":"Delete a vendor address","openapi":"DELETE /v1/vendor-addresses/{addressId}","href":"/api/reference/delete_v1_vendor_addresses_addressId"},{"title":"Add a contact to a vendor","openapi":"POST /v1/vendors/{vendorId}/contacts","href":"/api/reference/post_v1_vendors_vendorId_contacts"},{"title":"Update a vendor contact","openapi":"PATCH /v1/vendor-contacts/{contactId}","href":"/api/reference/patch_v1_vendor_contacts_contactId"},{"title":"Delete a vendor contact","openapi":"DELETE /v1/vendor-contacts/{contactId}","href":"/api/reference/delete_v1_vendor_contacts_contactId"},{"title":"Activate or deactivate every vendor matching a target","openapi":"POST /v1/vendors/bulk/active","href":"/api/reference/post_v1_vendors_bulk_active"}]},{"group":"Proofs \u0026 mocks","pages":[{"title":"Proofs and mocks","icon":"stamp","href":"/api/endpoints/proofs"},{"title":"List mocks, filtered by job, quote or quote group. Not paginated","openapi":"GET /v1/mocks","href":"/api/reference/get_v1_mocks"},{"title":"Create a mock","openapi":"POST /v1/mocks","href":"/api/reference/post_v1_mocks"},{"title":"One mock by id","openapi":"GET /v1/mocks/{mockId}","href":"/api/reference/get_v1_mocks_mockId"},{"title":"Update a mock","openapi":"PATCH /v1/mocks/{mockId}","href":"/api/reference/patch_v1_mocks_mockId"},{"title":"Delete a mock","openapi":"DELETE /v1/mocks/{mockId}","href":"/api/reference/delete_v1_mocks_mockId"},{"title":"One proof with its full revision history","openapi":"GET /v1/proofs/{proofId}/history","href":"/api/reference/get_v1_proofs_proofId_history"},{"title":"Create a proof","openapi":"POST /v1/proofs","href":"/api/reference/post_v1_proofs"},{"title":"Update a proof","openapi":"PATCH /v1/proofs/{proofId}","href":"/api/reference/patch_v1_proofs_proofId"},{"title":"Delete a proof","openapi":"DELETE /v1/proofs/{proofId}","href":"/api/reference/delete_v1_proofs_proofId"},{"title":"Email a proof to the customer","openapi":"POST /v1/proofs/{proofId}/send","href":"/api/reference/post_v1_proofs_proofId_send"},{"title":"Email several proofs in one message","openapi":"POST /v1/proofs/send","href":"/api/reference/post_v1_proofs_send"},{"title":"Open a new revision of a proof","openapi":"POST /v1/proofs/{proofId}/revise","href":"/api/reference/post_v1_proofs_proofId_revise"},{"title":"Set a proof status directly, including approved","openapi":"POST /v1/proofs/{proofId}/status","href":"/api/reference/post_v1_proofs_proofId_status"},{"title":"Record the client’s decision on a proof","openapi":"POST /v1/proofs/{proofId}/client-decision","href":"/api/reference/post_v1_proofs_proofId_client_decision"},{"title":"Confirm the size split on a proof item","openapi":"POST /v1/proof-item-links/{proofItemLinkId}/size-split","href":"/api/reference/post_v1_proof_item_links_proofItemLinkId_size_split"}]},{"group":"Tasks","pages":[{"title":"Tasks","icon":"list-check","href":"/api/endpoints/tasks"},{"title":"Production tasks assigned to one person","openapi":"GET /v1/tasks/by-assignee","href":"/api/reference/get_v1_tasks_by_assignee"},{"title":"A task’s comments, checklist and attachments","openapi":"GET /v1/tasks/{taskId}/extras","href":"/api/reference/get_v1_tasks_taskId_extras"},{"title":"Create a production task","openapi":"POST /v1/tasks","href":"/api/reference/post_v1_tasks"},{"title":"Update a production task","openapi":"PATCH /v1/tasks/{taskId}","href":"/api/reference/patch_v1_tasks_taskId"},{"title":"Delete a production task","openapi":"DELETE /v1/tasks/{taskId}","href":"/api/reference/delete_v1_tasks_taskId"},{"title":"Patch every production task matching a target","openapi":"POST /v1/tasks/bulk/update","href":"/api/reference/post_v1_tasks_bulk_update"},{"title":"Delete every production task matching a target","openapi":"POST /v1/tasks/bulk/delete","href":"/api/reference/post_v1_tasks_bulk_delete"},{"title":"Comment on a production task","openapi":"POST /v1/tasks/{taskId}/comments","href":"/api/reference/post_v1_tasks_taskId_comments"},{"title":"Edit a task comment","openapi":"PATCH /v1/task-comments/{commentId}","href":"/api/reference/patch_v1_task_comments_commentId"},{"title":"Delete a task comment","openapi":"DELETE /v1/task-comments/{commentId}","href":"/api/reference/delete_v1_task_comments_commentId"},{"title":"Add a checklist item to a task","openapi":"POST /v1/tasks/{taskId}/checklist","href":"/api/reference/post_v1_tasks_taskId_checklist"},{"title":"Update a checklist item","openapi":"PATCH /v1/task-checklist-items/{itemId}","href":"/api/reference/patch_v1_task_checklist_items_itemId"},{"title":"Delete a checklist item","openapi":"DELETE /v1/task-checklist-items/{itemId}","href":"/api/reference/delete_v1_task_checklist_items_itemId"},{"title":"Attach a file to a task","openapi":"POST /v1/tasks/{taskId}/attachments","href":"/api/reference/post_v1_tasks_taskId_attachments"},{"title":"Remove a task attachment","openapi":"DELETE /v1/task-attachments/{attachmentId}","href":"/api/reference/delete_v1_task_attachments_attachmentId"}]},{"group":"Invoices","pages":[{"title":"Invoices","icon":"receipt","href":"/api/endpoints/invoices"},{"title":"A presigned link to the invoice PDF. Expires in 900 seconds","openapi":"GET /v1/invoices/{invoiceId}/pdf","href":"/api/reference/get_v1_invoices_invoiceId_pdf"},{"title":"One invoice","openapi":"GET /v1/invoices/{invoiceId}","href":"/api/reference/get_v1_invoices_invoiceId"},{"title":"Email an invoice to the customer","openapi":"POST /v1/invoices/{invoiceId}/send","href":"/api/reference/post_v1_invoices_invoiceId_send"},{"title":"Record an invoice as paid","openapi":"POST /v1/invoices/{invoiceId}/mark-paid","href":"/api/reference/post_v1_invoices_invoiceId_mark_paid"},{"title":"Undo a paid marking","openapi":"POST /v1/invoices/{invoiceId}/unmark-paid","href":"/api/reference/post_v1_invoices_invoiceId_unmark_paid"},{"title":"Void an invoice","openapi":"POST /v1/invoices/{invoiceId}/void","href":"/api/reference/post_v1_invoices_invoiceId_void"},{"title":"Refund an invoice","openapi":"POST /v1/invoices/{invoiceId}/refund","href":"/api/reference/post_v1_invoices_invoiceId_refund"},{"title":"Dismiss a customer’s payment claim","openapi":"POST /v1/invoices/{invoiceId}/dismiss-claim","href":"/api/reference/post_v1_invoices_invoiceId_dismiss_claim"},{"title":"Push an invoice into the shop’s Xero connection","openapi":"POST /v1/invoices/{invoiceId}/push/xero","href":"/api/reference/post_v1_invoices_invoiceId_push_xero"},{"title":"Push an invoice into the shop’s QuickBooks connection","openapi":"POST /v1/invoices/{invoiceId}/push/quickbooks","href":"/api/reference/post_v1_invoices_invoiceId_push_quickbooks"}]},{"group":"Documents \u0026 media","pages":[{"title":"Documents and media","icon":"file-arrow-up","href":"/api/endpoints/documents-and-media"},{"title":"Mint a presigned PUT for an upload. Expires in 900 seconds","openapi":"POST /v1/media/upload-url","href":"/api/reference/post_v1_media_upload_url"}]},{"group":"Custom fields \u0026 statuses","pages":[{"title":"Custom fields and statuses","icon":"sliders","href":"/api/endpoints/custom-fields-and-statuses"},{"title":"Create a custom field definition","openapi":"POST /v1/custom-fields","href":"/api/reference/post_v1_custom_fields"},{"title":"One custom field definition","openapi":"GET /v1/custom-fields/{fieldId}","href":"/api/reference/get_v1_custom_fields_fieldId"},{"title":"Update a custom field definition","openapi":"PATCH /v1/custom-fields/{fieldId}","href":"/api/reference/patch_v1_custom_fields_fieldId"},{"title":"Delete a custom field definition","openapi":"DELETE /v1/custom-fields/{fieldId}","href":"/api/reference/delete_v1_custom_fields_fieldId"},{"title":"List custom status definitions","openapi":"GET /v1/custom-statuses","href":"/api/reference/get_v1_custom_statuses"},{"title":"Create a custom status definition","openapi":"POST /v1/custom-statuses","href":"/api/reference/post_v1_custom_statuses"},{"title":"One custom status definition","openapi":"GET /v1/custom-statuses/{statusId}","href":"/api/reference/get_v1_custom_statuses_statusId"},{"title":"Update a custom status definition","openapi":"PATCH /v1/custom-statuses/{statusId}","href":"/api/reference/patch_v1_custom_statuses_statusId"},{"title":"Delete a custom status definition. Refuses with 409 when an automation rule targets it","openapi":"DELETE /v1/custom-statuses/{statusId}","href":"/api/reference/delete_v1_custom_statuses_statusId"},{"title":"List custom field definitions","openapi":"GET /v1/custom-fields","href":"/api/reference/get_v1_custom_fields"}]},{"group":"Webhooks","pages":[{"title":"Webhooks","icon":"bell","href":"/api/endpoints/webhooks"},{"title":"List this credential’s webhook subscriptions","openapi":"GET /v1/webhooks","href":"/api/reference/get_v1_webhooks"},{"title":"Subscribe to an event. Returns the signing secret ONCE. Re-subscribing the same event and URL is idempotent","openapi":"POST /v1/webhooks","href":"/api/reference/post_v1_webhooks"},{"title":"One webhook subscription","openapi":"GET /v1/webhooks/{webhookId}","href":"/api/reference/get_v1_webhooks_webhookId"},{"title":"Unsubscribe. Idempotent, so deleting an unknown subscription still succeeds","openapi":"DELETE /v1/webhooks/{webhookId}","href":"/api/reference/delete_v1_webhooks_webhookId"},{"title":"Rotate the signing secret. The old one keeps verifying for 48 hours so you can deploy without dropping payloads","openapi":"POST /v1/webhooks/{webhookId}/rotate-secret","href":"/api/reference/post_v1_webhooks_webhookId_rotate_secret"},{"title":"Delivery history for a subscription, with a failure reason you can act on. Never a response body","openapi":"GET /v1/webhooks/{webhookId}/deliveries","href":"/api/reference/get_v1_webhooks_webhookId_deliveries"},{"title":"Replay a failed delivery. Without this, an hour of downtime means those events are gone for good","openapi":"POST /v1/webhooks/{webhookId}/deliveries/{deliveryId}/retry","href":"/api/reference/post_v1_webhooks_webhookId_deliveries_deliveryId_retry"}]}]}]},{"tab":"Integrations","icon":"code-compare","pages":[{"title":"Integrations","href":"/integrations/overview"}]},{"tab":"MCP","icon":"openai","pages":[{"title":"MCP","href":"/mcp/overview"}]},{"tab":"Release Notes","icon":"flag","pages":[{"title":"Release Notes","href":"/release-notes/2026-10-12"}]}]},"title":"One job and everything hanging off it, in one call - PRINTOOLS Docs","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}