Source: https://docs.debitura.com/api/referral-partner-api/filter-options

# Filter options — Referral Partner API

Referral Partners

Base URL: `https://referral-api.debitura.com`

Authentication: `XApiKey` API key; see [authentication](https://docs.debitura.com/developer-concepts/authentication.md).

Generated from [OpenAPI](https://docs.debitura.com/openapi/referral-partner-api.json). Examples are schema illustrations, not observed responses. Complete schemas, including recursive types, are in OpenAPI.

<a id="get-available-filter-options-for-cases-and-earnings"></a>

## Get available filter options for cases and earnings

`GET /referral-partner/filter-options`

Returns distinct filter options available for the authenticated referral partner's cases and earnings pages.

**Countries** — Distinct debtor countries from the referral partner's case history, sorted alphabetically.

**CarveoutPartners** — Collection partners from the referral partner's active JurisdictionPricingZone records (DateDeleted == null and DateDeactivated == null), sorted alphabetically.

Use the returned IDs as values for the CountryIds and CollectionPartnerIds query parameters on the cases and reporting/transactions endpoints.

### Response 200

Filter options retrieved successfully

- `countries` (array of objects, nullable): Distinct debtor countries from the referral partner's case history, sorted by name.
- `countries[].id` (integer): 
- `countries[].name` (string, nullable): 
- `carveoutPartners` (array of objects, nullable): Collection partners from the referral partner's active JurisdictionPricingZone records, sorted by name.
- `carveoutPartners[].id` (uuid): 
- `carveoutPartners[].name` (string, nullable): 

```json
{
  "countries": [
    {
      "id": 3,
      "name": "Muster GmbH"
    }
  ],
  "carveoutPartners": [
    {
      "id": "3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31",
      "name": "Muster GmbH"
    }
  ]
}
```

### Response 500

Internal server error

- `error` (string, nullable): Short human-readable error label (legacy field — preserved for backward compatibility).
- `message` (string, nullable): Human-readable error description (legacy field — preserved for backward compatibility).
- `businessErrors` (array of objects, nullable): Canonical structured error array. Consumers should migrate to reading this field.
- `businessErrors[].type` (string, nullable): The type of business error (e.g., "MissingDebtCollectionContract", "MissingPowerOfAttorney", "NoPartnerAvailable").
- `businessErrors[].message` (string, nullable): A human-readable description of the error.
- `businessErrors[].solutionUrl` (string, nullable): A URL where the user can resolve this <i>specific</i> error (e.g., sign a contract).
            

Partners who want a <b>single URL</b> that walks the user through every pending
signing in one chain — instead of forwarding one URL per
`BusinessErrorApiDTO` — should use
SigningHandoff's `CombinedSigningUrl`.
The two are complementary: `SolutionUrl` is granular per-error;
`CombinedSigningUrl` is the chain-walking alternative for signing-related errors.

```json
{
  "error": null,
  "message": "Payment plan agreed with the debtor.",
  "businessErrors": [
    {
      "type": "string",
      "message": "Payment plan agreed with the debtor.",
      "solutionUrl": "https://app.debitura.com/…"
    }
  ]
}
```
