Skip to main content
incaseof.law supports a commission-based partner model where external partners (e.g. law firms, brokers, referral agencies) can refer customers. When payments are collected on claims linked to a partner’s customer, revenue shares are automatically calculated based on the partner’s commission rate.

How It Works

  1. Partner: The referral entity (e.g. a law firm) with a configured commission rate
  2. Customer: A client brought in by a partner - automatically linked via your API key
  3. Debtor: The person or company that owes the debt to the customer
  4. Claim: A debt collection case - linked to a debtor and a customer via customer_id
  5. Revenue Share: Automatically created when incaseof.law earns fees on a claim linked to a customer

Step 1: Create a Partner

Partners are created internally by incaseof.law. If you are interested in becoming a partner, contact us at [email protected]. Once confirmed, you will receive an API key to start integrating.

Step 2: Create a Customer

Create a customer. The customer is automatically linked to your partner account via your API key. Send your own ID for the business as partner_client_reference and its VAT ID as uid on every case. If your partner account already has a customer with that reference or UID, the API returns it instead of creating a new one — see Reusing an existing customer.
Nothing reaches a debtor before the customer has accepted our terms. The customer’s contact receives an invitation and accepts our GTC and DPA when signing in. Until then claims of this customer can be created, but no letter, SMS or e-mail goes to a debtor and no court filing is made. If your agreement with us requires the provider confirmation under § 1.5 lit. b, forward it once per customer with POST /openapi/customers/{id}/provider-confirmation — the same rule applies until it is on file. GET /openapi/customers/{id} shows what is still outstanding in legal_acceptance.missing (gtc, dpa, provider_confirmation).
Save the customer ID: You will need the id from the response to link claims to this customer.

Customer Fields

¹ Partner keys only. Required when your partner agreement requires it (see Required fields and prohibited data).

Reusing an existing customer

Each business you work for should be one customer. Before creating, the API looks for a customer of your partner account — first by partner_client_reference, then by uid, and when neither matches, by the same email and the same name (case and spaces ignored), as long as that customer’s stored partner_client_reference / uid do not differ from the ones you sent:
  • null for either key is treated as not given. Without partner_client_reference and uid, only name and e-mail identify the customer: the same business sent with a different name or e-mail becomes a new customer. Send partner_client_reference (or store the returned id) to make the match exact.
  • Customers created before you sent these keys can be linked with PATCH /openapi/customers/{id} ({"partner_client_reference": "ACME-001", "uid": "ATU12345678"}); a key already used by another of your customers returns 409.
  • The keys are scoped to your partner account: another partner sending the same UID gets its own customer.
  • The customer’s onboarding invitation is sent once, with the first claim filed for that customer — reusing the customer does not send it again.
  • E-mail that already has a login. If the customer’s email belongs to an existing incaseof.law user — for example one owner with two companies and separate bookkeeping — no invitation is needed: the user is added to the new customer’s organisation immediately, receives a short notice e-mail, and finds the company in their account after the next login. The response shows "existing_user_linked": true. Each company remains a separate customer with its own id.

Required fields and prohibited data

Your partner agreement may require fields the API otherwise treats as optional, and may prohibit health data. incaseof.law sets both for your partner account; they are checked before anything is stored, so a refused request leaves nothing behind.
  • Required fields — a request without one answers 400 VALIDATION_ERROR, one details entry per missing field, e.g. "message": "creditor_confirmation required". Checked on creation:
    • claim: creditor_confirmation: { "warranties_confirmed": true, "consent_confirmed": true }
    • invoice (JSON and PDF upload): default_date, creditor_reminder_dates (not with default_basis: "bgb_286_3"), contract_date, subject
    • debtor: legal_representative (the debtor’s guardian or attorney — send it whenever one exists)
    • customer: legal_form, legal_representative (owner for a sole trader), billing_email, payout_account, vat_deductible
  • Prohibited data — invoice subject / description, invoice_issuer, invoice_recipient, payment notes, document description and customer metadata are checked for health data: a health insurance number (KVNR), an institution code (IK, a nine-digit number on its own), PZN, Pflegegrad, Diagnose, ICD or an ICD code (F32.1). A match answers 400 PROHIBITED_DATA naming the field; the value is never echoed. Describe services neutrally, e.g. “Privatärztliche Leistung vom 01.09.2026”.

Step 3: Create a Debtor

Create the debtor (person or company) that owes the debt to your customer. You must include the customer_id so the system knows which organization this debtor belongs to. Salutation (person.salutation): mr (Herr), mrs (Frau) or diverse (Divers). Herr, Herrn, Hr., Frau, Fr., männlich, weiblich, male, female, m, w, f, d (also followed by academic titles, e.g. Frau Dr.) are accepted case-insensitively and stored as the code. ohne Anrede, none, unbekannt or no value means no salutation: the letter then addresses the debtor by name only. Do not send diverse as a fallback, for couples or for companies; a couple (Herr und Frau) is rejected. An unrecognised salutation returns 400 VALIDATION_ERROR with the accepted values. If your system calls the field gender, send it as person.gender: the same values are accepted, an unrecognised one is ignored, and it is read only when salutation is absent, null or empty. Send your own customer number for the debtor as partner_client_reference and, for a business, its VAT ID as company.uid. A person whose name you hold in one field goes into person.last_name with first_name empty; such a case is checked by our case managers before the first letter goes out.
Save the debtor ID: You will need the id from the response when creating the claim.

Step 4: Create a Claim with Customer ID

When creating a claim, pass the customer_id to link it to a partner’s customer. This enables automatic revenue share tracking.
The customer_id is required for partner API tokens. It tells the system which organization this claim belongs to. Without it, the request will fail. You can update the customer_id on an existing claim via the update endpoint.

Step 4b: Decide on the court step

When out-of-court collection is exhausted, the claim moves to dunning_action_recommended (you receive the webhook claim.collection_stage_changed). The creditor decides whether to take the claim to court — through your integration:
  1. GET /openapi/claims/{claim_id}/lawsuit-decision/estimate — the court fee, and whether a lawyer is required (Austria) or not allowed (Germany). decision_open is true while a decision can still be sent (the claim is at dunning_action_recommended or dunning_action_filed); once one is recorded (by you or by the creditor in the portal) it turns false and decided turns true.
  2. POST /openapi/claims/{claim_id}/lawsuit-decision with { "decision": "sue" } or { "decision": "decline" }.
The court fee is invoiced to the creditor, at the e-mail address and postal address of the customer you created in Step 2 — keep them current. It is never invoiced to you as the partner.

Step 5: Automatic Revenue Sharing

When incaseof.law earns fees on a claim linked to a customer, the system automatically calculates the partner’s commission based on those fees - not the payment amount. No additional API calls are needed - revenue shares are created automatically.

Revenue Share Statuses


Complete Partner Workflow Example


Managing Customers

List Customers

Update a Customer

Delete a Customer


Next Steps

  • Use the Customer API to create customers
  • Link claims to customers using customer_id when creating claims
  • Revenue shares are tracked automatically
Need help? Contact us at [email protected]