t=<epoch>,v1=<hex hmac-sha256 of "<t>.<raw body>">, keyed with the endpoint secret. Compare in constant time and reject a timestamp older than five minutes.
1 for the first delivery, incremented on every retry.
Required range: x >= 1
Body
application/json
The envelope of every outgoing webhook. api_version pins the payload shape — it changes only when you upgrade your organisation's API version, never silently.
Staging classification. Absent on events recorded before staging was introduced; treat absence as false.
Response
200
Acknowledged. Any 2xx stops the retry schedule.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"CarHub Documentation","colors":{"primary":"#00D178","light":"#00D178","dark":"#00875A"},"logo":{"light":"https://mintcdn.com/carhub/QGtnYbiXqdelnLLP/logo/light.svg?fit=max\u0026auto=format\u0026n=QGtnYbiXqdelnLLP\u0026q=85\u0026s=30a659d8433638ab4c9a5e34224c530f","dark":"https://mintcdn.com/carhub/QGtnYbiXqdelnLLP/logo/dark.svg?fit=max\u0026auto=format\u0026n=QGtnYbiXqdelnLLP\u0026q=85\u0026s=bc5d0962de5aeed19417f2ad93d2c1f7"},"favicon":"https://mintcdn.com/carhub/QGtnYbiXqdelnLLP/favicon.svg?fit=max\u0026auto=format\u0026n=QGtnYbiXqdelnLLP\u0026q=85\u0026s=c2de244add29254fc76a410eaf5537d3","navbar":{"links":[{"href":"https://api.trycarhub.com/healthz","label":"API status"},{"href":"mailto:api@trycarhub.com","label":"Support"}],"primary":{"type":"button","label":"Open dashboard","href":"https://app.trycarhub.com"}},"footer":{"socials":{"github":"https://github.com/TryCarhub"}},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"carhub","hasAudioNarration":false,"actualSubdomain":"carhub","customDomains":["docs.trycarhub.com"],"gitSource":{"type":"github","owner":"trycarhub","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6adb72ec57868d74937db443","collectionId":"ec4fea30-60c7-4c18-bd5a-7605172c3c5b","liveDeploymentHistoryId":"6adb72ec57868d74937db443","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adb72ec57868d74937db443","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API reference","count":105},{"language":"default","tag":"Management","count":53},{"language":"default","tag":"API Reference","count":12},{"language":"default","tag":"A — Understand the vehicle","count":9},{"language":"default","tag":"Get started","count":7},{"language":"default","tag":"Build your integration","count":7},{"language":"default","tag":"E — Image production","count":6},{"language":"default","tag":"Uploads","count":5},{"language":"default","tag":"Assets","count":4},{"language":"default","tag":"B — Damage \u0026 condition","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"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":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/a-batch-job-completed-with-per-image-errors","slug":"/api-reference/a-batch-job-completed-with-per-image-errors","pageMetadata":{"title":"A batch job completed with per image errors","description":"Sent when at least one image failed. Successful and billable failed items have already been charged; the unused reservation has been released.","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook job.partial","href":"/api-reference/a-batch-job-completed-with-per-image-errors","autogeneratedByOpenApi":true},"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: \"Sent when at least one image failed. Successful and billable failed items have already been charged; the unused reservation has been released.\"\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{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}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":{"config":{},"pageMetadata":{"title":"A batch job completed with per image errors","description":"Sent when at least one image failed. Successful and billable failed items have already been charged; the unused reservation has been released.","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook job.partial","href":"/api-reference/a-batch-job-completed-with-per-image-errors","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"onJobPartial","summary":"A batch job completed with per-image errors","description":"Sent when at least one image failed. Successful and billable failed items have already been charged; the unused reservation has been released.","security":[],"parameters":["b6c8ea90-0ead-45f4-be52-f88f9ee4342b","be4e2f16-3854-4e9c-98e8-6f956efb21a2","170f3b98-6349-45aa-bf21-754abe9dfaf7"],"requestBody":"b38f9486-1d8b-4cd1-bb1b-8de48796a085","responses":{"200":"771fe439-eaec-4b4d-a015-20533f74da61"},"method":"post","type":"webhook","servers":["54305378-89f4-4f2c-a0cf-820c1848c155"],"path":"job.partial","baseUrlOptions":["https://api.trycarhub.com"],"title":"A batch job completed with per-image errors","codeSamples":[],"requiredOnlyExamples":false,"requestExamples":[{"language":"json","filename":"Example","code":"{\n \"livemode\": true,\n \"id\": \"evt_6HbN4rTfKp2W\",\n \"type\": \"job.partial\",\n \"api_version\": \"2026-09-11\",\n \"created\": 1755300000,\n \"data\": {\n \"job\": {\n \"is_staging\": false,\n \"id\": \"job_3ZxK9pQr7TnW\",\n \"object\": \"job\",\n \"livemode\": true,\n \"created\": 1755300000,\n \"started_at\": 1755300000,\n \"completed_at\": 1755300000,\n \"model_version\": \"plate-reader@2026-08-27\",\n \"credits\": {\n \"reserved\": 20,\n \"charged\": 20\n },\n \"result\": {},\n \"error\": {\n \"code\": \"model_inference_failed\",\n \"message\": \"\u003cstring>\"\n },\n \"test_scenario\": \"low_confidence\"\n }\n },\n \"is_staging\": false\n}"}],"requestExampleType":"webhook","responseExampleType":"generated"},"dependencies":{"parameters":{"b6c8ea90-0ead-45f4-be52-f88f9ee4342b":{"name":"Carhub-Signature","in":"header","required":true,"description":"`t=\u003cepoch>,v1=\u003chex hmac-sha256 of \"\u003ct>.\u003craw body>\">`, keyed with the endpoint secret. Compare in constant time and reject a timestamp older than five minutes.","schema":{"type":"string","isRequired":true,"description":"`t=\u003cepoch>,v1=\u003chex hmac-sha256 of \"\u003ct>.\u003craw body>\">`, keyed with the endpoint secret. Compare in constant time and reject a timestamp older than five minutes.","uniqueKey":"","typeLabel":"string"}},"be4e2f16-3854-4e9c-98e8-6f956efb21a2":{"name":"Carhub-Event-Id","in":"header","required":true,"description":"Event identifier, stable across retries — the key to deduplicate on.","schema":{"type":"string","pattern":"^evt_[1-9A-HJ-NP-Za-km-z]{8,32}$","isRequired":true,"description":"Event identifier, stable across retries — the key to deduplicate on.","uniqueKey":"","typeLabel":"string"}},"170f3b98-6349-45aa-bf21-754abe9dfaf7":{"name":"Carhub-Delivery-Attempt","in":"header","required":true,"description":"1 for the first delivery, incremented on every retry.","schema":{"type":"integer","minimum":1,"isRequired":true,"description":"1 for the first delivery, incremented on every retry.","uniqueKey":"","typeLabel":"integer"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Event","description":"The envelope of every outgoing webhook. `api_version` pins the payload shape — it changes only when you upgrade your organisation's API version, never silently.","required":["id","type","api_version","created","livemode","data"],"properties":{"livemode":{"type":"boolean","isRequired":true,"uniqueKey":"livemode","typeLabel":"boolean"},"id":{"type":"string","description":"Stable across retries. Deduplicate on it.","pattern":"^evt_[1-9A-HJ-NP-Za-km-z]{8,32}$","examples":["evt_6HbN4rTfKp2W"],"isRequired":true,"uniqueKey":"id","typeLabel":"string"},"type":{"type":"string","description":"An event your endpoint can subscribe to.","enum":["job.succeeded","job.partial","job.failed"],"const":"job.partial","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"api_version":{"type":"string","description":"Contract version the payload was serialised with.","examples":["2026-09-11"],"isRequired":true,"uniqueKey":"api_version","typeLabel":"string"},"created":{"type":"integer","format":"int64","description":"Epoch seconds, UTC.","examples":[1755300000],"isRequired":true,"uniqueKey":"created","typeLabel":"integer\u003cint64>"},"data":{"type":"object","required":["job"],"properties":{"job":{"type":"object","title":"Job","description":"The job the event is about, in the state it was in when the event fired.","required":["id","object","endpoint","status","livemode","is_staging","created","started_at","completed_at","model_version","credits","result","error"],"properties":{"is_staging":{"type":"boolean","default":false,"description":"Staging classification. Requires live mode and uses the organisation's shared live credits.","isRequired":true,"uniqueKey":"data.job.is_staging","typeLabel":"boolean"},"id":{"type":"string","description":"Job identifier — `job_` followed by a base58 string.","pattern":"^job_[1-9A-HJ-NP-Za-km-z]{8,32}$","examples":["job_3ZxK9pQr7TnW"],"isRequired":true,"uniqueKey":"data.job.id","typeLabel":"string"},"object":{"type":"string","const":"job","isRequired":true,"uniqueKey":"data.job.object","typeLabel":"string"},"endpoint":{"type":"string","description":"Dotted slug of a CarHub endpoint, the identifier used for jobs and usage.","enum":["vehicle.pose","vehicle.segment","vehicle.identify","vin.read","driver_license.read","plate.read","document.read","dashboard.read","engine.detect","damage.detect","damage.severity","tire.read","tire.detect","parts.recognize","parts.segment","parts.decompose","pricing.vehicle","pricing.repair","render.background","render.enhance","render.plate","render.360","render.video","render.hotspots"],"isRequired":true,"uniqueKey":"data.job.endpoint","typeLabel":"enum\u003cstring>"},"status":{"type":"string","description":"Lifecycle of a job. `queued` → `processing` → one of `succeeded` | `partial` | `failed`; `expired`\nwhen it was never picked up in time, `canceled` when it was cancelled before starting.\nEvery state after `processing` is terminal.\n","enum":["queued","processing","succeeded","partial","failed","expired","canceled"],"isRequired":true,"uniqueKey":"data.job.status","typeLabel":"enum\u003cstring>"},"livemode":{"type":"boolean","description":"`false` when the job was created with a `chk_test_` key: fixture result, test credits.","isRequired":true,"uniqueKey":"data.job.livemode","typeLabel":"boolean"},"created":{"type":"integer","format":"int64","description":"Epoch seconds, UTC.","examples":[1755300000],"isRequired":true,"uniqueKey":"data.job.created","typeLabel":"integer\u003cint64>"},"started_at":{"oneOf":[{"type":"integer","description":"When the job left the queue. Null while `queued`.","format":"int64","example":1755300000,"isRequired":true,"uniqueKey":"data.job.started_at.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"When the job left the queue. Null while `queued`.","isRequired":true,"uniqueKey":"data.job.started_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.started_at","typeLabel":"integer\u003cint64> | null"},"completed_at":{"oneOf":[{"type":"integer","description":"When the job settled. Null until then.","format":"int64","example":1755300000,"isRequired":true,"uniqueKey":"data.job.completed_at.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"When the job settled. Null until then.","isRequired":true,"uniqueKey":"data.job.completed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.completed_at","typeLabel":"integer\u003cint64> | null"},"model_version":{"oneOf":[{"type":"string","description":"Exact model build that produced the result, as `\u003cmodel>@\u003crelease date>`. Null until the job starts. Pin your regression tests to it.","examples":["plate-reader@2026-08-27"],"isRequired":true,"uniqueKey":"data.job.model_version.oneOf.0","typeLabel":"string"},{"type":"null","description":"Exact model build that produced the result, as `\u003cmodel>@\u003crelease date>`. Null until the job starts. Pin your regression tests to it.","examples":["plate-reader@2026-08-27"],"isRequired":true,"uniqueKey":"data.job.model_version.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.model_version","typeLabel":"string | null"},"credits":{"type":"object","description":"Credit accounting for the job. One thousand credits equal one USD. `reserved` is held at\nadmission and `charged` is the real cost after settlement; unused credits are released.\n","required":["reserved","charged"],"properties":{"reserved":{"type":"integer","minimum":0,"examples":[20],"isRequired":true,"uniqueKey":"data.job.credits.reserved","typeLabel":"integer"},"charged":{"oneOf":[{"type":"integer","minimum":0,"description":"Null while the job is unsettled.","examples":[20],"isRequired":true,"uniqueKey":"data.job.credits.charged.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Null while the job is unsettled.","examples":[20],"isRequired":true,"uniqueKey":"data.job.credits.charged.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.credits.charged","typeLabel":"integer | null"}},"isRequired":true,"uniqueKey":"data.job.credits","typeLabel":"object"},"result":{"oneOf":[{"type":"object","description":"Endpoint-specific payload, null until the job succeeds. See each endpoint's `200` / `202` schema for its exact shape.","isRequired":true,"uniqueKey":"data.job.result.oneOf.0","typeLabel":"object"},{"type":"null","description":"Endpoint-specific payload, null until the job succeeds. See each endpoint's `200` / `202` schema for its exact shape.","isRequired":true,"uniqueKey":"data.job.result.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.result","typeLabel":"object | null"},"error":{"oneOf":[{"type":"object","description":"Populated when `status` is `failed` or `expired`, null otherwise.","required":["type","code","message"],"properties":{"type":{"type":"string","enum":["processing_error","invalid_request","internal"],"isRequired":true,"uniqueKey":"data.job.error.oneOf.0.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","examples":["model_inference_failed","unreadable_input","upstream_timeout","job_expired"],"isRequired":true,"uniqueKey":"data.job.error.oneOf.0.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"data.job.error.oneOf.0.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data.job.error.oneOf.0","typeLabel":"object"},{"type":"null","description":"Populated when `status` is `failed` or `expired`, null otherwise.","isRequired":true,"uniqueKey":"data.job.error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.error","typeLabel":"object | null"},"test_scenario":{"type":"string","description":"The `X-Carhub-Test-Scenario` that produced this job. Present on test-mode jobs that were steered by one, absent otherwise — a live job never carries it.","examples":["low_confidence"],"uniqueKey":"data.job.test_scenario","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data.job","typeLabel":"Job · object"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"},"is_staging":{"type":"boolean","default":false,"description":"Staging classification. Absent on events recorded before staging was introduced; treat absence as false.","uniqueKey":"is_staging","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"Event · object"},"examples":{"Example":{"title":"Example","value":{"livemode":true,"id":"evt_6HbN4rTfKp2W","type":"job.partial","api_version":"2026-09-11","created":1755300000,"data":{"job":{"is_staging":false,"id":"job_3ZxK9pQr7TnW","object":"job","livemode":true,"created":1755300000,"started_at":1755300000,"completed_at":1755300000,"model_version":"plate-reader@2026-08-27","credits":{"reserved":20,"charged":20},"result":{},"error":{"code":"model_inference_failed","message":"\u003cstring>"},"test_scenario":"low_confidence"}},"is_staging":false}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"771fe439-eaec-4b4d-a015-20533f74da61":{"description":"Acknowledged. Any `2xx` stops the retry schedule.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{},"servers":{"54305378-89f4-4f2c-a0cf-820c1848c155":{"url":"https://api.trycarhub.com","description":"Production (EU)"}}},"originalFileLocation":"openapi.yaml"},"subdomain":"carhub","siteName":"CarHub Documentation","title":"A batch job completed with per image errors - CarHub Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T14:45:20.887Z","originalFileLocation":"api-reference/a-batch-job-completed-with-per-image-errors.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=\"Sent when at least one image failed. Successful and billable failed items have already been charged; the unused reservation has been released.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CarHub Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/carhub/j8ptl7lKO7Unj0yz/_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/carhub/j8ptl7lKO7Unj0yz/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/carhub/j8ptl7lKO7Unj0yz/_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/carhub/j8ptl7lKO7Unj0yz/_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/carhub/j8ptl7lKO7Unj0yz/_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/carhub/j8ptl7lKO7Unj0yz/_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/carhub/j8ptl7lKO7Unj0yz/_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/carhub/j8ptl7lKO7Unj0yz/_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/carhub/j8ptl7lKO7Unj0yz/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"A batch job completed with per image errors - CarHub Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Sent when at least one image failed. Successful and billable failed items have already been charged; the unused reservation has been released.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CarHub Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.trycarhub.com/api-reference/a-batch-job-completed-with-per-image-errors\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://carhub.mintlify.app/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=A+batch+job+completed+with+per+image+errors\u0026amp;description=Sent+when+at+least+one+image+failed.+Successful+and+billable+failed+items+have+already+been+charged%3B+the+unused+reservation+has+been+released.\u0026amp;theme=2969cd0aa47105f7519ede16\u0026amp;signature=9ddf59a62ce0273d31738fdaa66d18f80d52f34049cbef935430869ab985d20a\">\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=\"A batch job completed with per image errors - CarHub Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Sent when at least one image failed. Successful and billable failed items have already been charged; the unused reservation has been released.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://carhub.mintlify.app/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=A+batch+job+completed+with+per+image+errors\u0026amp;description=Sent+when+at+least+one+image+failed.+Successful+and+billable+failed+items+have+already+been+charged%3B+the+unused+reservation+has+been+released.\u0026amp;theme=2969cd0aa47105f7519ede16\u0026amp;signature=9ddf59a62ce0273d31738fdaa66d18f80d52f34049cbef935430869ab985d20a\">\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/carhub/j8ptl7lKO7Unj0yz/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CarHub Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00D178\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.trycarhub.com/api-reference/a-batch-job-completed-with-per-image-errors\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/a-batch-job-completed-with-per-image-errors.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.trycarhub.com/#organization\",\"name\":\"CarHub Documentation\",\"url\":\"https://docs.trycarhub.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/carhub/QGtnYbiXqdelnLLP/logo/light.svg?fit=max\u0026auto=format\u0026n=QGtnYbiXqdelnLLP\u0026q=85\u0026s=30a659d8433638ab4c9a5e34224c530f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.trycarhub.com#website\",\"name\":\"CarHub Documentation\",\"url\":\"https://docs.trycarhub.com\",\"publisher\":{\"@id\":\"https://docs.trycarhub.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.trycarhub.com/api-reference/a-batch-job-completed-with-per-image-errors#webpage\",\"url\":\"https://docs.trycarhub.com/api-reference/a-batch-job-completed-with-per-image-errors\",\"name\":\"A batch job completed with per image errors\",\"description\":\"Sent when at least one image failed. Successful and billable failed items have already been charged; the unused reservation has been released.\",\"dateModified\":\"2026-10-23T14:45:20.887Z\",\"isPartOf\":{\"@id\":\"https://docs.trycarhub.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.trycarhub.com/api-reference/a-batch-job-completed-with-per-image-errors#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.trycarhub.com/api-reference/a-batch-job-completed-with-per-image-errors#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API reference\",\"item\":\"https://docs.trycarhub.com/api-reference/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API Reference\",\"item\":\"https://docs.trycarhub.com/api-reference/list-supported-scopes-for-api-key-management\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"A batch job completed with per image errors\",\"item\":\"https://docs.trycarhub.com/api-reference/a-batch-job-completed-with-per-image-errors\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.trycarhub.com/api-reference/a-batch-job-completed-with-per-image-errors#apireference\",\"headline\":\"A batch job completed with per image errors\",\"name\":\"A batch job completed with per image errors\",\"description\":\"Sent when at least one image failed. Successful and billable failed items have already been charged; the unused reservation has been released.\",\"url\":\"https://docs.trycarhub.com/api-reference/a-batch-job-completed-with-per-image-errors\",\"mainEntityOfPage\":{\"@id\":\"https://docs.trycarhub.com/api-reference/a-batch-job-completed-with-per-image-errors#webpage\"},\"dateModified\":\"2026-10-23T14:45:20.887Z\",\"publisher\":{\"@id\":\"https://docs.trycarhub.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.trycarhub.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CarHub Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CarHub Documentation","nav":{"global":null,"pages":[{"group":"Get started","pages":[{"title":"CarHub developer documentation","href":"/index"},{"title":"Quickstart","href":"/quickstart"},{"title":"Authentication","href":"/authentication"},{"title":"Test mode","href":"/guides/test-mode"},{"title":"Use staging","href":"/guides/staging"},{"title":"Go-live checklist","href":"/guides/go-live"},{"title":"Credits and monthly plans","href":"/guides/credits-and-plans"}]},{"group":"Build your integration","pages":[{"title":"SDK licences and permissions","href":"/guides/sdk-licenses"},{"title":"Submit and retrieve jobs","href":"/guides/jobs"},{"title":"Detect exterior damage","href":"/guides/damage-detect"},{"title":"Upload media","href":"/guides/uploads"},{"title":"Permanent assets","href":"/guides/assets"},{"title":"Receive webhooks","href":"/guides/webhooks"},{"title":"Use CarHub through MCP","href":"/guides/mcp"}]},{"group":"API reference","pages":[{"title":"API overview","href":"/api-reference/overview"},{"title":"Errors and retries","href":"/api-reference/errors"},{"group":"Assets","pages":[{"title":"List permanent organization assets","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/assets","href":"/api-reference/assets/list-permanent-organization-assets"},{"title":"Upload a permanent organization asset","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/assets","href":"/api-reference/assets/upload-a-permanent-organization-asset"},{"title":"Retrieve an organization asset","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/assets/{id}","href":"/api-reference/assets/retrieve-an-organization-asset"},{"title":"Delete a permanent organization asset","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/assets/{id}","href":"/api-reference/assets/delete-a-permanent-organization-asset"}]},{"group":"Management","pages":[{"title":"List permanent assets for the active organization","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/assets","href":"/api-reference/management/list-permanent-assets-for-the-active-organization"},{"title":"Upload permanent artwork or a Studio background package","deprecated":null,"version":null,"openapi":"/openapi.yaml post /mgmt/v1/assets","href":"/api-reference/management/upload-permanent-artwork-or-a-studio-background-package"},{"title":"Retrieve a permanent organization asset","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/assets/{id}","href":"/api-reference/management/retrieve-a-permanent-organization-asset"},{"title":"Request deletion of a permanent organization asset","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /mgmt/v1/assets/{id}","href":"/api-reference/management/request-deletion-of-a-permanent-organization-asset"},{"title":"Retrieve the active organisation","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/org","href":"/api-reference/management/retrieve-the-active-organisation"},{"title":"List input storage (admin or owner)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/uploads","href":"/api-reference/management/list-input-storage-admin-or-owner"},{"title":"Read shared input and asset storage usage (admin or owner)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/uploads/usage","href":"/api-reference/management/read-shared-input-and-asset-storage-usage-admin-or-owner"},{"title":"Preview or delete organization inputs (admin or owner)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /mgmt/v1/uploads/deletions","href":"/api-reference/management/preview-or-delete-organization-inputs-admin-or-owner"},{"title":"Follow an input deletion (admin or owner)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/uploads/deletions/{id}","href":"/api-reference/management/follow-an-input-deletion-admin-or-owner"},{"title":"List API keys","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/api-keys","href":"/api-reference/management/list-api-keys"},{"title":"Create an API key","deprecated":null,"version":null,"openapi":"/openapi.yaml post /mgmt/v1/api-keys","href":"/api-reference/management/create-an-api-key"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /mgmt/v1/api-keys/{id}","href":"/api-reference/management/revoke-an-api-key"},{"title":"Update API key scopes","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /mgmt/v1/api-keys/{id}","href":"/api-reference/management/update-api-key-scopes"},{"title":"Rotate an API key","deprecated":null,"version":null,"openapi":"/openapi.yaml post /mgmt/v1/api-keys/{id}/rotate","href":"/api-reference/management/rotate-an-api-key"},{"title":"Usage aggregates","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/usage","href":"/api-reference/management/usage-aggregates"},{"title":"Job history of the organisation","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/jobs","href":"/api-reference/management/job-history-of-the-organisation"},{"title":"Retrieve a job (dashboard)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/jobs/{id}","href":"/api-reference/management/retrieve-a-job-dashboard"},{"title":"Credit ledger entries","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/billing/ledger","href":"/api-reference/management/credit-ledger-entries"},{"title":"Create a Stripe Checkout session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /mgmt/v1/billing/checkout","href":"/api-reference/management/create-a-stripe-checkout-session"},{"title":"Create a Stripe Customer Portal session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /mgmt/v1/billing/portal","href":"/api-reference/management/create-a-stripe-customer-portal-session"},{"title":"Top up the test credit balance","deprecated":null,"version":null,"openapi":"/openapi.yaml post /mgmt/v1/billing/test-credits","href":"/api-reference/management/top-up-the-test-credit-balance"},{"title":"List webhook endpoints","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/webhook-endpoints","href":"/api-reference/management/list-webhook-endpoints"},{"title":"Create a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.yaml post /mgmt/v1/webhook-endpoints","href":"/api-reference/management/create-a-webhook-endpoint"},{"title":"Delete a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /mgmt/v1/webhook-endpoints/{id}","href":"/api-reference/management/delete-a-webhook-endpoint"},{"title":"Send a test event","deprecated":null,"version":null,"openapi":"/openapi.yaml post /mgmt/v1/webhook-endpoints/{id}/test","href":"/api-reference/management/send-a-test-event"},{"title":"Read balances and billing state","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/billing/overview","href":"/api-reference/management/read-balances-and-billing-state"},{"title":"Get mgmtv1billingauto reload","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/billing/auto-reload","href":"/api-reference/management/get-mgmtv1billingauto-reload"},{"title":"Delete mgmtv1billingauto reload","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /mgmt/v1/billing/auto-reload","href":"/api-reference/management/delete-mgmtv1billingauto-reload"},{"title":"Patch mgmtv1billingauto reload","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /mgmt/v1/billing/auto-reload","href":"/api-reference/management/patch-mgmtv1billingauto-reload"},{"title":"Post mgmtv1billingauto reloadsetup","deprecated":null,"version":null,"openapi":"/openapi.yaml post /mgmt/v1/billing/auto-reload/setup","href":"/api-reference/management/post-mgmtv1billingauto-reloadsetup"},{"title":"Get mgmtv1adminorganizations auto reload","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/admin/organizations/{id}/auto-reload","href":"/api-reference/management/get-mgmtv1adminorganizations-auto-reload"},{"title":"Delete mgmtv1adminorganizations auto reload","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /mgmt/v1/admin/organizations/{id}/auto-reload","href":"/api-reference/management/delete-mgmtv1adminorganizations-auto-reload"},{"title":"Read usable credit lots and open reservations","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/billing/grants","href":"/api-reference/management/read-usable-credit-lots-and-open-reservations"},{"title":"Freeze a stripe proration quote for at most five minutes before renewal","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/billing/subscription/change-preview","href":"/api-reference/management/freeze-a-stripe-proration-quote-for-at-most-five-minutes-before-renewal"},{"title":"Execute the frozen change; upgrade rights wait for invoicepaid","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/billing/subscription/change","href":"/api-reference/management/execute-the-frozen-change;-upgrade-rights-wait-for-invoicepaid"},{"title":"Confirm abandonment of a preview or unpaid checkout","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/billing/subscription/abandon","href":"/api-reference/management/confirm-abandonment-of-a-preview-or-unpaid-checkout"},{"title":"Cancel at the end of the paid period","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/billing/subscription/cancel","href":"/api-reference/management/cancel-at-the-end-of-the-paid-period"},{"title":"Remove the scheduled cancellation or downgrade","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/billing/subscription/resume","href":"/api-reference/management/remove-the-scheduled-cancellation-or-downgrade"},{"title":"Platform administrator: read organisation billing overview","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations/{id}/billing/overview","href":"/api-reference/management/platform-administrator:-read-organisation-billing-overview"},{"title":"Platform administrator: read organisation billing grants","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations/{id}/billing/grants","href":"/api-reference/management/platform-administrator:-read-organisation-billing-grants"},{"title":"Platform administrator: read organisation billing ledger","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations/{id}/billing/ledger","href":"/api-reference/management/platform-administrator:-read-organisation-billing-ledger"},{"title":"Platform administrator: read organisation billing operations","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations/{id}/billing/operations","href":"/api-reference/management/platform-administrator:-read-organisation-billing-operations"},{"title":"Platform administrator: read organisation billing payments","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations/{id}/billing/payments","href":"/api-reference/management/platform-administrator:-read-organisation-billing-payments"},{"title":"Explain the lots used by a reservation or settlement","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations/{id}/billing/ledger/{entryID}/allocations","href":"/api-reference/management/explain-the-lots-used-by-a-reservation-or-settlement"},{"title":"Read the shared plan catalogue","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/billing/plans","href":"/api-reference/management/read-the-shared-plan-catalogue"},{"title":"Platform administrator: change preview with an audit reason and confirmation","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations/{id}/billing/change-preview","href":"/api-reference/management/platform-administrator:-change-preview-with-an-audit-reason-and-confirmation"},{"title":"Platform administrator: change with an audit reason and confirmation","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations/{id}/billing/change","href":"/api-reference/management/platform-administrator:-change-with-an-audit-reason-and-confirmation"},{"title":"Confirm abandonment of a preview or unpaid checkout 1","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations/{id}/billing/abandon","href":"/api-reference/management/confirm-abandonment-of-a-preview-or-unpaid-checkout-1"},{"title":"Platform administrator: cancel with an audit reason and confirmation","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations/{id}/billing/cancel","href":"/api-reference/management/platform-administrator:-cancel-with-an-audit-reason-and-confirmation"},{"title":"Platform administrator: resume with an audit reason and confirmation","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations/{id}/billing/resume","href":"/api-reference/management/platform-administrator:-resume-with-an-audit-reason-and-confirmation"},{"title":"Platform administrator: sync with an audit reason and confirmation","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations/{id}/billing/sync","href":"/api-reference/management/platform-administrator:-sync-with-an-audit-reason-and-confirmation"},{"title":"Grant permanent or temporary commercial credits with an audit reason","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations/{id}/credits","href":"/api-reference/management/grant-permanent-or-temporary-commercial-credits-with-an-audit-reason"},{"title":"List organisations with their currently usable credits and effective plan","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /mgmt/v1/admin/organizations","href":"/api-reference/management/list-organisations-with-their-currently-usable-credits-and-effective-plan"}]},{"group":"API Reference","pages":[{"title":"List supported scopes for API key management","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/api-key-scopes","href":"/api-reference/list-supported-scopes-for-api-key-management"},{"title":"List SDK licence states and quota","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/sdk-licenses","href":"/api-reference/list-sdk-licence-states-and-quota"},{"title":"Retrieve the current organisation SDK licence","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/sdk-licenses/{sdk}","href":"/api-reference/retrieve-the-current-organisation-sdk-licence"},{"title":"Request SDK licence attribution or renewal","deprecated":null,"version":null,"openapi":"/openapi.yaml post /mgmt/v1/sdk-licenses/{sdk}","href":"/api-reference/request-sdk-licence-attribution-or-renewal"},{"title":"Get public Ed25519 licence verification keys","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/sdk-licenses/jwks","href":"/api-reference/get-public-ed25519-licence-verification-keys"},{"title":"Retrieve an SDK licence without renewal","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/sdk-licenses/{sdk}","href":"/api-reference/retrieve-an-sdk-licence-without-renewal"},{"title":"Create, renew or regenerate an SDK licence","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/sdk-licenses/{sdk}","href":"/api-reference/create-renew-or-regenerate-an-sdk-licence"},{"title":"Get the authenticated key identity and normalized permissions","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/api-keys/self","href":"/api-reference/get-the-authenticated-key-identity-and-normalized-permissions"},{"title":"Read the confirmed status of an organisation purchase","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mgmt/v1/billing/purchases/{purchaseID}","href":"/api-reference/read-the-confirmed-status-of-an-organisation-purchase"},{"title":"A job completed successfully","description":"Sent as soon as a job reaches `succeeded`. `data.job` is byte-for-byte what\n`GET /v1/jobs/{id}` would return at that instant, `result` included — no follow-up call\nis needed for small results.\n\nVerify `Carhub-Signature` before trusting the body, answer `2xx` within 10 s, and treat\ndeliveries as at-least-once: retries reuse the same `id`.\n","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook job.succeeded","href":"/api-reference/a-job-completed-successfully"},{"title":"A batch job completed with per image errors","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook job.partial","href":"/api-reference/a-batch-job-completed-with-per-image-errors"},{"title":"A job failed","description":"Sent when a job reaches `failed` (model or infrastructure error) or `expired` (never\npicked up). `data.job.result` is null and `data.job.error` explains why; the credit balance\nreservation has already been released, so `credits.charged` is `0`.\n","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook job.failed","href":"/api-reference/a-job-failed"}]},{"group":"A — Understand the vehicle","pages":[{"title":"Vehicle Pose","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/vehicle/pose","href":"/api-reference/a-—-understand-the-vehicle/vehicle-pose"},{"title":"Car Segmentation","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/vehicle/segment","href":"/api-reference/a-—-understand-the-vehicle/car-segmentation"},{"title":"Preview — Vehicle Model Detection","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/vehicle/identify","href":"/api-reference/a-—-understand-the-vehicle/preview-—-vehicle-model-detection"},{"title":"VIN Reader","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/vin/read","href":"/api-reference/a-—-understand-the-vehicle/vin-reader"},{"title":"Preview — Driver License Reader","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/driver-license/read","href":"/api-reference/a-—-understand-the-vehicle/preview-—-driver-license-reader"},{"title":"Preview — License Plate Reader","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/plate/read","href":"/api-reference/a-—-understand-the-vehicle/preview-—-license-plate-reader"},{"title":"Document Reader","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/document/read","href":"/api-reference/a-—-understand-the-vehicle/document-reader"},{"title":"Dashboard \u0026 Mileage Reader","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/dashboard/read","href":"/api-reference/a-—-understand-the-vehicle/dashboard-\u0026-mileage-reader"},{"title":"Preview — Engine Fault Sound Detection","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/engine/detect","href":"/api-reference/a-—-understand-the-vehicle/preview-—-engine-fault-sound-detection"}]},{"group":"B — Damage \u0026 condition","pages":[{"title":"Damage Detection","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/damage/detect","href":"/api-reference/b-—-damage-\u0026-condition/damage-detection"},{"title":"Preview — Car Severity Estimation","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/damage/severity","href":"/api-reference/b-—-damage-\u0026-condition/preview-—-car-severity-estimation"},{"title":"Tire Reading","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/tire/read","href":"/api-reference/b-—-damage-\u0026-condition/tire-reading"},{"title":"Tire Wear Detection","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/tire/detect","href":"/api-reference/b-—-damage-\u0026-condition/tire-wear-detection"}]},{"group":"C — Parts","pages":[{"title":"Car Parts Recognition","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/parts/recognize","href":"/api-reference/c-—-parts/car-parts-recognition"},{"title":"Car Parts Segmentation","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/parts/segment","href":"/api-reference/c-—-parts/car-parts-segmentation"},{"title":"Preview — Car Parts Decomposition","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/parts/decompose","href":"/api-reference/c-—-parts/preview-—-car-parts-decomposition"}]},{"group":"D — Money","pages":[{"title":"Preview — Car Pricing","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/pricing/vehicle","href":"/api-reference/d-—-money/preview-—-car-pricing"},{"title":"Preview — Car Reparation Pricing","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/pricing/repair","href":"/api-reference/d-—-money/preview-—-car-reparation-pricing"}]},{"group":"E — Image production","pages":[{"title":"Image Backgrounding","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/render/background","href":"/api-reference/e-—-image-production/image-backgrounding"},{"title":"Quality Improver","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/render/enhance","href":"/api-reference/e-—-image-production/quality-improver"},{"title":"License Plate Replacer","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/render/plate","href":"/api-reference/e-—-image-production/license-plate-replacer"},{"title":"360 Generation","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/render/360","href":"/api-reference/e-—-image-production/360-generation"},{"title":"Preview — Ad Video Generation","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/render/video","href":"/api-reference/e-—-image-production/preview-—-ad-video-generation"},{"title":"360 Viewer \u0026 Hotspoter","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/render/hotspots","href":"/api-reference/e-—-image-production/360-viewer-\u0026-hotspoter"}]},{"group":"Jobs","pages":[{"title":"List jobs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/jobs","href":"/api-reference/jobs/list-jobs"},{"title":"Retrieve a job","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/jobs/{id}","href":"/api-reference/jobs/retrieve-a-job"},{"title":"List the endpoint catalogue","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/endpoints","href":"/api-reference/jobs/list-the-endpoint-catalogue"}]},{"group":"Uploads","pages":[{"title":"List organization input uploads","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/uploads","href":"/api-reference/uploads/list-organization-input-uploads"},{"title":"Create a presigned upload","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/uploads","href":"/api-reference/uploads/create-a-presigned-upload"},{"title":"Get shared organization input and asset storage usage","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/uploads/usage","href":"/api-reference/uploads/get-shared-organization-input-and-asset-storage-usage"},{"title":"Preview or asynchronously delete inputs","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/uploads/deletions","href":"/api-reference/uploads/preview-or-asynchronously-delete-inputs"},{"title":"Get an upload deletion operation","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/uploads/deletions/{id}","href":"/api-reference/uploads/get-an-upload-deletion-operation"}]},{"group":"Internal","pages":[{"title":"Inference completion callback (internal)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /internal/callbacks/modal","href":"/api-reference/internal/inference-completion-callback-internal"}]},{"group":"Catalogue","pages":[{"title":"Read the current commercial plan catalogue","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook /v1/plans","href":"/api-reference/catalogue/read-the-current-commercial-plan-catalogue"}]}]}]},"title":"A batch job completed with per image errors - CarHub Documentation","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}