{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
Cases
Upload Files to Case
Generate upload URLs for adding files to an existing case.
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
Generate pre-signed upload URLs for adding files to an existing case. This endpoint allows you to upload additional files to cases that have already been created, as long as the case is not locked.
Case Locking: Once you start uploading files to a case, the case becomes locked and you cannot add more files later. Upload all files you need in a single batch.
Requires organisation_files:write, which every role holds by default. A caller without it receives 403. You can add files to a case you created, or to any case in your organisation if you have organisation_cases:read; otherwise the API returns 404. See Permissions and API Keys.
{"docsConfig":{"theme":"willow","$schema":"https://mintlify.com/docs.json","name":"Veridox","colors":{"primary":"#3B82F6","light":"#60A5FA","dark":"#2563EB"},"logo":{"light":"https://mintcdn.com/veridox/Rh_pg3SYjqVB3FW-/logo/light.svg?fit=max\u0026auto=format\u0026n=Rh_pg3SYjqVB3FW-\u0026q=85\u0026s=22962184728c15e374cfcc4d27f82dd9","dark":"https://mintcdn.com/veridox/Rh_pg3SYjqVB3FW-/logo/dark.svg?fit=max\u0026auto=format\u0026n=Rh_pg3SYjqVB3FW-\u0026q=85\u0026s=290f45e82b140e387526bd94c2ce4772"},"favicon":"https://mintcdn.com/veridox/Rh_pg3SYjqVB3FW-/favicon.svg?fit=max\u0026auto=format\u0026n=Rh_pg3SYjqVB3FW-\u0026q=85\u0026s=cd14f527153781ef4947543ac149cdf4","navbar":{"links":[{"href":"mailto:support@veridox.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://veridox.ai"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/veridox-ai"}},"fonts":{"family":"Inter"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"veridox","hasAudioNarration":false,"actualSubdomain":"veridox","customDomains":["docs.veridox.ai"],"gitSource":{"type":"github","owner":"veridox-ai","repo":"neo-api-documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aecb73f64441d6863c96f62","collectionId":"9a2b92f6-e122-40c6-8c90-cdcf2fb4720e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecb73f64441d6863c96f62"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{},"buildId":"6aecb73f64441d6863c96f62","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"API Reference","count":31},{"language":"default","tag":"Guides","count":14},{"language":"default","tag":"Files","count":8},{"language":"default","tag":"Cases","count":7},{"language":"default","tag":"Organisation","count":7},{"language":"default","tag":"Document Requests","count":5},{"language":"default","tag":"Core Features","count":5},{"language":"default","tag":"Resources","count":5},{"language":"default","tag":"Getting Started","count":4},{"language":"default","tag":"Authentication","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":".changelog-impact{color:var(--gray-11, #6b7280);font-size:0.925em}"}],"page":{"pagePath":"api-reference/endpoints/cases-files-upload","slug":"/api-reference/endpoints/cases-files-upload","pageMetadata":{"title":"Upload Files to Case","description":"Generate upload URLs for adding files to an existing case.","openapi":"POST /cases/{caseId}/files","href":"/api-reference/endpoints/cases-files-upload"},"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: \"Generate upload URLs for adding files to an existing case.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Generate pre-signed upload URLs for adding files to an existing case. This endpoint allows you to upload additional files to cases that have already been created, as long as the case is not locked.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Case Locking`}),`: Once you start uploading files to a case, the case becomes locked and you cannot add more files later. Upload all files you need in a single batch.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`permission`,children:`Permission`}),`\n`,_jsxs(_components.p,{children:[`Requires `,_jsx(_components.code,{children:`organisation_files:write`}),`, which every role holds by default. A caller without it receives `,_jsx(_components.code,{children:`403`}),`. You can add files to a case you created, or to any case in your organisation if you have `,_jsx(_components.code,{children:`organisation_cases:read`}),`; otherwise the API returns `,_jsx(_components.code,{children:`404`}),`. See `,_jsx(_components.a,{href:`/guides/permissions`,children:`Permissions and API Keys`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-use-this-endpoint`,children:`When to Use This Endpoint`}),`\n`,_jsxs(Heading,{level:`3`,id:`use-case-creation-upload-post-/cases`,children:[`Use Case Creation Upload (`,_jsx(_components.code,{children:`POST /cases`}),`)`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`When creating a new case with initial files.`}),`\n`,_jsx(_components.li,{children:`For the first batch of files in a case.`}),`\n`,_jsx(_components.li,{children:`When you know all files upfront.`}),`\n`]}),`\n`,_jsxs(Heading,{level:`3`,id:`use-additional-file-upload-post-/cases/caseid/files`,children:[`Use Additional File Upload (`,_jsx(_components.code,{children:`POST /cases/{caseId}/files`}),`)`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`When adding files to existing unlocked cases.`}),`\n`,_jsx(_components.li,{children:`For supplementary documents after initial case creation.`}),`\n`,_jsx(_components.li,{children:`When file requirements change during the process.`}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Upload Files to Case","description":"Generate upload URLs for adding files to an existing case.","openapi":"POST /cases/{caseId}/files","href":"/api-reference/endpoints/cases-files-upload"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Permission","slug":"permission","depth":2,"children":[]},{"title":"When to Use This Endpoint","slug":"when-to-use-this-endpoint","depth":2,"children":[{"title":"Use Case Creation Upload (POST /cases)","slug":"use-case-creation-upload-post-/cases","depth":3,"children":[]},{"title":"Use Additional File Upload (POST /cases/{caseId}/files)","slug":"use-additional-file-upload-post-/cases/caseid/files","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Generate upload URLs for adding files to an existing case.","operationId":"CaseFilesController_generateFileUrls","parameters":["ecddee01-9033-4995-9fb0-4b996abf4ef0"],"requestBody":"178f7e5d-7e4e-4998-a6e3-f13959033481","responses":{"201":"1f2578c0-bc2f-440d-97c0-8b42e142f77c","400":"cb809dee-d453-4d28-8265-60203711e6f6","401":"275f2480-64f3-40c8-a476-8ecf1ee8494e","403":"5d3e2bb5-10d7-4f9f-84ba-e509c67933bd","404":"1be4a3ba-73d8-44ef-954b-99e94b97a058","409":"ff0fbaf4-6b72-460a-9dce-d3a7b0fef031","429":"218516d9-f662-442a-9181-241dc8c37a69"},"security":["8f0708d8-98cf-4297-8f71-f2099753002b"],"summary":"Generate file upload URLs for a case","tags":["Case Files"],"method":"post","type":"path","servers":["ba735795-38f0-4be6-a745-6d575650f271","2ccaa4cb-416d-43a5-bb15-9657213108ed","b5bfbc9b-2a7f-4105-b910-f3fda28e5c60"],"path":"/cases/{caseId}/files","baseUrlOptions":["https://api.uk.veridox.ai","https://api.ca.veridox.ai","https://api.eu.veridox.ai"],"title":"Generate file upload URLs for a case","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"ecddee01-9033-4995-9fb0-4b996abf4ef0":{"name":"caseId","required":true,"in":"path","description":"Case ID","schema":{"type":"string","isRequired":true,"description":"Case ID","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"file_labels":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":255,"uniqueKey":"file_labels.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"file_labels","typeLabel":"string[]"}},"required":["file_labels"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"file_labels":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"1f2578c0-bc2f-440d-97c0-8b42e142f77c":{"description":"Upload URLs generated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"file_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","isRequired":true,"uniqueKey":"files.items.[INDEX].file_id","typeLabel":"string\u003cuuid>"},"label":{"type":"string","isRequired":true,"uniqueKey":"files.items.[INDEX].label","typeLabel":"string"},"sas_url":{"type":"string","format":"uri","isRequired":true,"uniqueKey":"files.items.[INDEX].sas_url","typeLabel":"string\u003curi>"},"expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","isRequired":true,"uniqueKey":"files.items.[INDEX].expires_at","typeLabel":"string\u003cdate-time>"}},"required":["file_id","label","sas_url","expires_at"],"uniqueKey":"files.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"files","typeLabel":"object[]"}},"required":["files"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"files":[{"file_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","label":"\u003cstring>","sas_url":"\u003cstring>","expires_at":"2023-11-07T05:31:56Z"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"cb809dee-d453-4d28-8265-60203711e6f6":{"description":"Invalid file labels provided","content":{"application/json":{"schema":{"type":"object","properties":{"error_code":{"type":"string","description":"Machine-readable error code for programmatic handling","examples":["request.cases.file.missing-risk-score","request.authentication.invalid-token","request.forbidden","request.cases.case.not-found","request.cases.case.already-locked"],"isRequired":true,"uniqueKey":"error_code","typeLabel":"string"},"error_message":{"type":"string","description":"Human-readable error message explaining what went wrong","example":"User tried to perform an invalid operation on a file without a risk score.","isRequired":true,"uniqueKey":"error_message","typeLabel":"string"},"error_details":{"type":"object","example":{"field":"email_address"},"uniqueKey":"error_details","typeLabel":"object"}},"required":["error_code","error_message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error_code":"request.cases.file.missing-risk-score","error_message":"User tried to perform an invalid operation on a file without a risk score.","error_details":{"field":"email_address"}}}},"exampleType":"generated"}},"exampleType":"generated"},"275f2480-64f3-40c8-a476-8ecf1ee8494e":{"description":"Unauthorized (invalid or missing authentication token)","content":{"application/json":{"schema":{"type":"object","properties":{"error_code":{"type":"string","description":"Machine-readable error code for programmatic handling","examples":["request.cases.file.missing-risk-score","request.authentication.invalid-token","request.forbidden","request.cases.case.not-found","request.cases.case.already-locked"],"isRequired":true,"uniqueKey":"error_code","typeLabel":"string"},"error_message":{"type":"string","description":"Human-readable error message explaining what went wrong","example":"User tried to perform an invalid operation on a file without a risk score.","isRequired":true,"uniqueKey":"error_message","typeLabel":"string"},"error_details":{"type":"object","example":{"field":"email_address"},"uniqueKey":"error_details","typeLabel":"object"}},"required":["error_code","error_message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error_code":"request.cases.file.missing-risk-score","error_message":"User tried to perform an invalid operation on a file without a risk score.","error_details":{"field":"email_address"}}}},"exampleType":"generated"}},"exampleType":"generated"},"5d3e2bb5-10d7-4f9f-84ba-e509c67933bd":{"description":"Caller lacks organisation_files:write","content":{"application/json":{"schema":{"type":"object","properties":{"error_code":{"type":"string","description":"Machine-readable error code for programmatic handling","examples":["request.cases.file.missing-risk-score","request.authentication.invalid-token","request.forbidden","request.cases.case.not-found","request.cases.case.already-locked"],"isRequired":true,"uniqueKey":"error_code","typeLabel":"string"},"error_message":{"type":"string","description":"Human-readable error message explaining what went wrong","example":"User tried to perform an invalid operation on a file without a risk score.","isRequired":true,"uniqueKey":"error_message","typeLabel":"string"},"error_details":{"type":"object","example":{"field":"email_address"},"uniqueKey":"error_details","typeLabel":"object"}},"required":["error_code","error_message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error_code":"request.cases.file.missing-risk-score","error_message":"User tried to perform an invalid operation on a file without a risk score.","error_details":{"field":"email_address"}}}},"exampleType":"generated"}},"exampleType":"generated"},"1be4a3ba-73d8-44ef-954b-99e94b97a058":{"description":"Case not found or not visible to the caller","content":{"application/json":{"schema":{"type":"object","properties":{"error_code":{"type":"string","description":"Machine-readable error code for programmatic handling","examples":["request.cases.file.missing-risk-score","request.authentication.invalid-token","request.forbidden","request.cases.case.not-found","request.cases.case.already-locked"],"isRequired":true,"uniqueKey":"error_code","typeLabel":"string"},"error_message":{"type":"string","description":"Human-readable error message explaining what went wrong","example":"User tried to perform an invalid operation on a file without a risk score.","isRequired":true,"uniqueKey":"error_message","typeLabel":"string"},"error_details":{"type":"object","example":{"field":"email_address"},"uniqueKey":"error_details","typeLabel":"object"}},"required":["error_code","error_message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error_code":"request.cases.file.missing-risk-score","error_message":"User tried to perform an invalid operation on a file without a risk score.","error_details":{"field":"email_address"}}}},"exampleType":"generated"}},"exampleType":"generated"},"ff0fbaf4-6b72-460a-9dce-d3a7b0fef031":{"description":"Case is already locked","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"218516d9-f662-442a-9181-241dc8c37a69":{"description":"Too many requests (rate limit exceeded)","content":{"application/json":{"schema":{"type":"object","properties":{"error_code":{"type":"string","description":"Machine-readable error code for programmatic handling","examples":["request.cases.file.missing-risk-score","request.authentication.invalid-token","request.forbidden","request.cases.case.not-found","request.cases.case.already-locked"],"isRequired":true,"uniqueKey":"error_code","typeLabel":"string"},"error_message":{"type":"string","description":"Human-readable error message explaining what went wrong","example":"User tried to perform an invalid operation on a file without a risk score.","isRequired":true,"uniqueKey":"error_message","typeLabel":"string"},"error_details":{"type":"object","example":{"field":"email_address"},"uniqueKey":"error_details","typeLabel":"object"}},"required":["error_code","error_message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error_code":"request.cases.file.missing-risk-score","error_message":"User tried to perform an invalid operation on a file without a risk score.","error_details":{"field":"email_address"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"8f0708d8-98cf-4297-8f71-f2099753002b":{"api-key":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"api-key"}}},"servers":{"ba735795-38f0-4be6-a745-6d575650f271":{"url":"https://api.uk.veridox.ai","description":"Live (UK)"},"2ccaa4cb-416d-43a5-bb15-9657213108ed":{"url":"https://api.ca.veridox.ai","description":"Live (CA)"},"b5bfbc9b-2a7f-4105-b910-f3fda28e5c60":{"url":"https://api.eu.veridox.ai","description":"Live (EU)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"api-key"},"schema":{"title":"x-api-key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"api-key","name":"x-api-key"}],"title":"api-key"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"veridox","siteName":"Veridox","title":"Upload Files to Case - Veridox","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T11:09:05.839Z","originalFileLocation":"api-reference/endpoints/cases-files-upload.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=\"Generate upload URLs for adding files to an existing case.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Veridox\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/veridox/4VX28dNRRfj3OGVD/_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/veridox/4VX28dNRRfj3OGVD/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/veridox/4VX28dNRRfj3OGVD/_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/veridox/4VX28dNRRfj3OGVD/_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/veridox/4VX28dNRRfj3OGVD/_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/veridox/4VX28dNRRfj3OGVD/_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/veridox/4VX28dNRRfj3OGVD/_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/veridox/4VX28dNRRfj3OGVD/_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/veridox/4VX28dNRRfj3OGVD/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Upload Files to Case - Veridox\">\u003cmeta data-mint-head property=\"og:description\" content=\"Generate upload URLs for adding files to an existing case.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Veridox\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.veridox.ai/api-reference/endpoints/cases-files-upload\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://veridox.mintlify.site/_mintlify/api/og/v2?division=Cases\u0026amp;title=Upload+Files+to+Case\u0026amp;description=Generate+upload+URLs+for+adding+files+to+an+existing+case.\u0026amp;theme=ff4b3ec14ee2f65d1cf716c9\u0026amp;signature=d4beac5c7c9dfd062194c421909e4e5443052c57d59782e1e5eaecbdf5a8c3ca\">\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=\"Upload Files to Case - Veridox\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Generate upload URLs for adding files to an existing case.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://veridox.mintlify.site/_mintlify/api/og/v2?division=Cases\u0026amp;title=Upload+Files+to+Case\u0026amp;description=Generate+upload+URLs+for+adding+files+to+an+existing+case.\u0026amp;theme=ff4b3ec14ee2f65d1cf716c9\u0026amp;signature=d4beac5c7c9dfd062194c421909e4e5443052c57d59782e1e5eaecbdf5a8c3ca\">\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/veridox/4VX28dNRRfj3OGVD/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Veridox\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3B82F6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.veridox.ai/api-reference/endpoints/cases-files-upload\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoints/cases-files-upload.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.veridox.ai/#organization\",\"name\":\"Veridox\",\"url\":\"https://docs.veridox.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/veridox/Rh_pg3SYjqVB3FW-/logo/light.svg?fit=max\u0026auto=format\u0026n=Rh_pg3SYjqVB3FW-\u0026q=85\u0026s=22962184728c15e374cfcc4d27f82dd9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.veridox.ai#website\",\"name\":\"Veridox\",\"url\":\"https://docs.veridox.ai\",\"publisher\":{\"@id\":\"https://docs.veridox.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.veridox.ai/api-reference/endpoints/cases-files-upload#webpage\",\"url\":\"https://docs.veridox.ai/api-reference/endpoints/cases-files-upload\",\"name\":\"Upload Files to Case\",\"description\":\"Generate upload URLs for adding files to an existing case.\",\"dateModified\":\"2026-10-21T11:09:05.839Z\",\"isPartOf\":{\"@id\":\"https://docs.veridox.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.veridox.ai/api-reference/endpoints/cases-files-upload#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.veridox.ai/api-reference/endpoints/cases-files-upload#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Cases\",\"item\":\"https://docs.veridox.ai/api-reference/endpoints/cases-create\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Upload Files to Case\",\"item\":\"https://docs.veridox.ai/api-reference/endpoints/cases-files-upload\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.veridox.ai/api-reference/endpoints/cases-files-upload#apireference\",\"headline\":\"Upload Files to Case\",\"name\":\"Upload Files to Case\",\"description\":\"Generate upload URLs for adding files to an existing case.\",\"url\":\"https://docs.veridox.ai/api-reference/endpoints/cases-files-upload\",\"mainEntityOfPage\":{\"@id\":\"https://docs.veridox.ai/api-reference/endpoints/cases-files-upload#webpage\"},\"dateModified\":\"2026-10-21T11:09:05.839Z\",\"publisher\":{\"@id\":\"https://docs.veridox.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.veridox.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Veridox\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Veridox","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API Reference","groups":[{"group":"Authentication","pages":[{"title":"Authentication Status","openapi":"GET /authentication/status","href":"/api-reference/endpoints/auth-status"},{"title":"Get Current User","openapi":"GET /users/me","href":"/api-reference/endpoints/users-me"}]},{"group":"Cases","pages":[{"title":"Create Case","openapi":"POST /cases","href":"/api-reference/endpoints/cases-create"},{"title":"List Cases","openapi":"GET /cases","href":"/api-reference/endpoints/cases-list"},{"title":"Get Case","openapi":"GET /cases/{id}","href":"/api-reference/endpoints/cases-get"},{"title":"Update Case Label","description":"Update the label of an existing case.","openapi":"PUT /cases/{id}","href":"/api-reference/endpoints/cases-update-label"},{"title":"Upload Files to Case","openapi":"POST /cases/{caseId}/files","href":"/api-reference/endpoints/cases-files-upload"},{"title":"Stream Case Analysis Progress","description":"Receive real-time Server-Sent Events for case analysis progress updates.","openapi":"GET /cases/{id}/progress/stream","href":"/api-reference/endpoints/cases-progress-stream"},{"title":"Poll Case Analysis Progress","openapi":"GET /cases/{id}/progress/poll","href":"/api-reference/endpoints/cases-progress-poll"}]},{"group":"Files","pages":[{"title":"List Files","openapi":"GET /files","href":"/api-reference/endpoints/files-list"},{"title":"Get File Analysis","openapi":"GET /files/{fileId}/analysis","href":"/api-reference/endpoints/files-analysis-get"},{"title":"Get Asset URL","openapi":"GET /files/asset-url","href":"/api-reference/endpoints/files-asset-url-get"},{"title":"Confirm or Override Risk Score","openapi":"POST /files/{fileId}/risk-score/confirm","href":"/api-reference/endpoints/files-risk-confirm"},{"title":"Generate Bulk File Download URLs","openapi":"POST /files/download","href":"/api-reference/endpoints/files-download-bulk"},{"title":"Reassign File","openapi":"PATCH /cases/{caseId}/files/{fileId}/reassign","href":"/api-reference/endpoints/files-reassign"},{"title":"Archive File","openapi":"PATCH /cases/{caseId}/files/{fileId}/archive","href":"/api-reference/endpoints/files-archive"},{"title":"Delete File","openapi":"DELETE /cases/{caseId}/files/{fileId}","href":"/api-reference/endpoints/files-delete"}]},{"group":"Document Requests","pages":[{"title":"Create Document Request","openapi":"POST /document-requests/create","href":"/api-reference/endpoints/document-requests-create"},{"title":"List Document Requests","openapi":"GET /document-requests","href":"/api-reference/endpoints/document-requests-list"},{"title":"Get Document Request","openapi":"GET /document-requests/{id}","href":"/api-reference/endpoints/document-requests-get"},{"title":"Resend Document Request","openapi":"POST /document-requests/{id}/resend","href":"/api-reference/endpoints/document-requests-resend"},{"title":"Void Document Request","openapi":"DELETE /document-requests/{id}","href":"/api-reference/endpoints/document-requests-delete"}]},{"group":"Search","pages":[{"title":"Search Cases and Files","openapi":"GET /search","href":"/api-reference/endpoints/search"}]},{"group":"Organisation","pages":[{"title":"Get Branding Logo","openapi":"GET /organisations/branding-logo","href":"/api-reference/endpoints/org-branding-get"},{"title":"Get Verification Setting","openapi":"GET /organisations/features/verification","href":"/api-reference/endpoints/org-verification-get"},{"title":"Update Verification Setting","openapi":"PUT /organisations/features/verification","href":"/api-reference/endpoints/org-verification-update"},{"title":"Get Finding Locations Setting","openapi":"GET /organisations/features/finding-locations","href":"/api-reference/endpoints/org-finding-locations-get"},{"title":"Update Finding Locations Setting","openapi":"PUT /organisations/features/finding-locations","href":"/api-reference/endpoints/org-finding-locations-update"},{"title":"Get Role Permissions","openapi":"GET /organisations/role-permissions","href":"/api-reference/endpoints/org-role-permissions-get"},{"title":"Get Audit Log","openapi":"GET /organisations/audit-log","href":"/api-reference/endpoints/org-audit-log-get"}]},{"group":"System","pages":[{"title":"Get Server Status","openapi":"GET /status","href":"/api-reference/endpoints/status"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Upload Files to Case - Veridox","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Myd8dsju.js","utils-C2HkQgW0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-8rSppmTv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B6MjiCFm.js","snippetPresets-DwrSAONL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-1-a5UQKQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C541m7wZ.js","shallow-CWELCZ77.js","getApiPlaygroundDisplay-CTo5Zn03.js","CodeSnippet-D--dzvnl.js","CodeSnippets-DM3cXEDh.js","Page-CxAy5y67.js","getPastedJson-C-VECgcL.js","icon-BPq2-Mg3.js","MethodPill-D9J5cUHd.js","DuplicateIcon-BqHaxUnD.js","createIcon-CIbcZHp9.js","DynamicMarkdown-BKiHAm_d.js","SectionHeading-DstQXt3H.js","axios-vUo_bRtp.js","Markdown-CpxgzsKA.js","clsx-C5EfhVm0.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CJ9Oly2E.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Mk6P3qvh.js"]}