Cases
Create collection case
Creates a new collection case for debt collection.
Test Mode:
- Set isTest=true to create a test case (case IS created in the database but marked as test data)
- Test cases are excluded from production metrics and can be easily filtered or deleted
- Use test mode for integration testing and development
Debtor Rules:
- debtor.type must be "Company" or "Private"
- Company → debtor.name is mandatory (company name)
- Private → debtor.name is mandatory (person's full name)
Geographic Rules:
- debtor.countryAlpha2 (ISO 3166-1 alpha-2) is always required
- debtor.state is a free-text region description
- For US debtors: debtor.stateAlpha2 (two-letter state code) is also required – debtor.state is ignored in that scenario
- Customer API submissions are limited to cases that match an exclusive pre-legal partner. If no eligible partner matches, the API returns 422 and does not create a case. The interactive portal's custom-quote/network-lead fallback is not available through this API.
Claim Amount and Aging — three ways to send it:
- amountToRecover plus a single dueDate
- amountToRecover plus the cumulative amountToRecoverOver6/12/24Months buckets
- claimLines[] — send the unpaid invoices and let us do the arithmetic (recommended for multi-invoice claims)
"claimLines": [
{ "dueDate": "2024-01-15", "amount": 423.42, "reference": "INV-1001" },
{ "dueDate": "2025-05-02", "amount": 700.87, "reference": "INV-1042" }
]
- amount is the outstanding balance on that invoice — what the debtor still owes on it, already net of payments received and credit notes issued. It is not the invoice's original face value. Leave fully settled invoices out; every amount must be greater than zero, with at most 2 decimals.
- We derive amountToRecover and all three age buckets from the lines, so send claimLines instead of amountToRecover and the amountToRecoverOver6/12/24Months fields. Sending both is a 400.
- Use claimLines whenever the debtor has already part-paid: it is the only way to express an honest age profile on a part-paid claim, because the buckets are then computed on the same outstanding balances the total is computed on.
- claimLines is a pricing input only. It is not stored and is not shown to the collecting partner — include a per-invoice breakdown in comments if the partner needs to see one.
- Maximum 1000 lines. Per-line errors are returned keyed by index, e.g. ClaimLines[2].DueDate.
- If you omit the case-level dueDate, it is set to the oldest due date across your lines — so in that case date must not be later than the earliest claimLines due date, or the request is rejected with a 400 on date. Send an explicit dueDate if you need a different case due date.
Optional Parameters:
- creditorDivisionId - Assign case to a specific division (for multi-division creditors)
- collectionPartnerId - Override automatic partner assignment with a specific collection partner
- skipDebituraVerification - Skip internal verification steps (advanced use)
- skipCreationEmails - Deprecated: accepted for backwards compatibility but ignored server-side. Creation emails are always suppressed in favour of the hourly CasesStarted digest
- allowPendingContracts - Accept cases with unsigned contracts in 'PendingContractSigning' status instead of returning 422
Error Responses:
- 400: Field validation errors (returns JSON object with field names as keys and error arrays as values)
- 422: Business rule violations (returns BusinessErrorResponseApiDTO with type, message, and solutionUrl)
- 500: Server errors
post/cases
Headers
Idempotency-Keystring
Optional idempotency key (max 255 characters) for safely retrying this request. If a previous request used the same key with an identical body, the original terminal response is replayed verbatim. Reusing the key with a different body returns 422 with Type: "IdempotencyConflict". Field-level 400 validation errors are not stored, so you may fix the request and retry with the same key.
Request body
Example request
{
"currencyCode": "EUR",
"amountToRecover": 4000,
"date": "2026-03-01",
"dueDate": "2026-03-09",
"claimDescription": "Custom mobile app development services",
"comments": "Outstanding invoice INV 2024 00789 for custom mobile app development delivered 15 Nov 2024; payment 60 days overdue despite two reminders.",
"creditorReference": "INV‑2024‑00789",
"isTest": true,
"debtor": {
"type": "Company",
"name": "Acme Corp",
"contactPerson": "John Doe",
"companyRegistrationNumber": "12345678",
"address": "123 Business Street",
"zipCode": "1000",
"city": "Lisbon",
"state": "Lisbon",
"countryAlpha2": "PT",
"email": "billing@acme‑corp.com",
"phone": "+351 123 456 789"
}
}Response
Case created
Example response
{
"debtor": {
"type": "Company",
"name": "Pacific Trading LLC",
"contactPerson": "John Smith",
"companyRegistrationNumber": "47-1234567",
"address": "123 Market Street, Suite 400",
"zipCode": "94105",
"city": "San Francisco",
"state": "California",
"stateAlpha2": "CA",
"countryAlpha2": "US",
"country": "United States",
"email": "accounts@pacifictrading.com",
"phone": "+1 415 555 0123"
}
}