Skip to main content

Upload Documents

Attach files to a case using POST /cases/{id}/files. Documents strengthen collection efforts by providing evidence of the debt.

Upload a File​

Send a multipart form request with the file and optional metadata:

curl -X POST https://customer-api.debitura.com/cases/{caseId}/files \
-H "XApiKey: YOUR_API_KEY" \
-F "File=@invoice.pdf" \
-F "DocumentType=OriginalInvoice" \
-F "Description=Invoice #1234 dated 2025-01-15"

Request Fields​

FieldRequiredDescription
FileYesThe file to upload (binary)
DocumentTypeNoCategory for the document; omit to leave it Not specified (null)
DescriptionNoHuman-readable label

Document Types​

The optional documentType field describes what the file is. API names are case-insensitive and surrounding whitespace is ignored. Omit the field when you do not know the type: the file is stored as Not specified, returned as documentType: null. Miscellaneous explicitly means Other.

API nameUse for
OriginalInvoiceInvoice or credit note
AccountStatementStatement of account showing invoices, payments, and the outstanding balance
ContractContract or agreement
TermsAndConditionsTerms and conditions
ProofOfDeliveryOrder or proof of delivery
DemandLetterReminder or demand letter
CorrespondenceCorrespondence with the debtor
PaymentProofProof of payment
CourtDocumentCourt or legal document
IdentityDocumentIdentity document
MiscellaneousOther supporting documents
DebtorDocumentsLegacy: dispute documents from the debtor
CreditorDocumentsLegacy: dispute documents from the creditor
PartnerDocumentsLegacy: dispute documents from the collection partner

The three legacy names remain accepted for existing integrations. Prefer the specific document types for new uploads.

Unknown names, numeric values, and AutoGeneratedSummary are rejected with 400 and error InvalidDocumentType. AutoGeneratedSummary is system-only and may appear in file-list responses.

A file's type can change after upload: admins can correct it, and an omitted type may later be filled automatically when automatic classification is enabled. Handle null on reads and do not assume it is permanent.

Response​

{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"caseId": "d3051d9e-8b4a-4c5f-9e1a-123456789abc",
"fileName": "invoice.pdf",
"documentType": "OriginalInvoice",
"description": "Invoice #1234 dated 2025-01-15",
"url": "https://admino.blob.core.windows.net/...",
"dateCreated": "2025-06-25T10:30:00Z"
}

The url is a signed download link valid for approximately 1 hour. To get a fresh URL, call the list endpoint again.

Filenames​

Filenames are preserved exactly as uploaded, including non-ASCII characters such as accented letters or umlauts (for example, Versäumnisurteil.pdf). The url returned in the upload response, and any URL returned later by the list endpoint, is always safe to open regardless of what characters the original filename contains.

List Files​

Retrieve all files attached to a case:

curl https://customer-api.debitura.com/cases/{caseId}/files \
-H "XApiKey: YOUR_API_KEY"

Returns an array of file objects with the same structure as the upload response.

Constraints​

ConstraintLimit
Maximum file size25 MB
Allowed formats.pdf, .xls, .xlsx, .jpg, .jpeg, .png, .gif, .txt, .csv

Error Handling​

StatusCause
400File missing, empty, failed validation, or InvalidDocumentType
404Case not found or belongs to another account
413File exceeds 25 MB limit
415File type not in allowed list

For error response formats, see Error Handling.

Create a case before uploading files. See Track Case Status to monitor case progress after submission.