Source: https://docs.debitura.com/api/customer-api/divisions

# Divisions — Customer API

Base URL: `https://customer-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/customer-api.json). Examples are schema illustrations, not observed responses. Complete schemas, including recursive types, are in OpenAPI.

<a id="list-divisions-for-the-authenticated-creditor"></a>

## List divisions for the authenticated creditor.

`GET /divisions`

Returns a paginated list of divisions for the authenticated creditor.

By default, archived divisions are excluded. Set `includeArchived=true` to include them.

### Query parameters

- `page` (integer): 
- `pageSize` (integer): 
- `includeArchived` (boolean): 

### Response 200

List of divisions

- `page` (object, required): Stable v1 pagination metadata shared by public list responses.
- `page.totalResults` (integer): 
- `page.pageSize` (integer): 
- `page.currentPage` (integer): 
- `page.responseCount` (integer): 
- `page.totalPages` (integer): 
- `divisions` (array of objects, nullable): 
- `divisions[].id` (uuid): 
- `divisions[].companyName` (string, nullable): 
- `divisions[].registrationNumber` (string, nullable): 
- `divisions[].address` (string, nullable): 
- `divisions[].zipCode` (string, nullable): 
- `divisions[].state` (string, nullable): 
- `divisions[].city` (string, nullable): 
- `divisions[].country` (object): 
- `divisions[].country.id` (integer): 
- `divisions[].country.name` (string, nullable): 
- `divisions[].country.alpha2` (string, nullable): 
- `divisions[].officeEmail` (string, nullable): 
- `divisions[].officePhone` (string, nullable): 
- `divisions[].isArchived` (boolean): 
- `divisions[].createdUtc` (datetime): 
- `divisions[].updatedUtc` (datetime, nullable): 

```json
{
  "page": {
    "totalResults": 42,
    "pageSize": 25,
    "currentPage": 1,
    "responseCount": 42,
    "totalPages": 1
  },
  "divisions": [
    {
      "id": "3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31",
      "companyName": "Muster GmbH",
      "registrationNumber": "DE123456789",
      "address": "Friedrichstraße 68",
      "zipCode": "10115",
      "state": "string",
      "city": "Berlin",
      "country": {
        "id": 3,
        "name": "Muster GmbH",
        "alpha2": "string"
      },
      "officeEmail": "finance@example.com",
      "officePhone": "+49 30 1234567",
      "isArchived": true,
      "createdUtc": "2026-10-01T14:05:00Z",
      "updatedUtc": "2026-10-01T14:05:00Z"
    }
  ]
}
```

<a id="create-a-new-division"></a>

## Create a new division.

`POST /divisions`

Creates a new division for the authenticated creditor.

Divisions allow creditors to organize cases under different business units, branches, or departments.

**Required Fields:**
- companyName - Name of the division
- city - City where the division is located
- countryCode - ISO 3166-1 alpha-2 country code (e.g. 'US', 'DE', 'DK')

**Optional Fields:**
- registrationNumber - Company registration number (CVR, VAT, etc.)
- address, zipCode, state - Full address details
- officeEmail, officePhone - Contact information

### Headers

- `Idempotency-Key` (string): Optional non-empty, non-whitespace 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 `businessErrors[0].type: "IdempotencyConflict"`. Field-level 400 validation errors are not stored, so you may fix the request and retry with the same key.
  Max 255 characters.

### Request body (application/json)

- `companyName` (string, required): 
  Max 200 characters.
- `registrationNumber` (string, nullable): 
  Max 50 characters.
- `address` (string, nullable): 
- `zipCode` (string, nullable): 
  Max 50 characters.
- `state` (string, nullable): 
- `city` (string, required): 
- `countryCode` (string, required): 
  2–2 characters.
- `officeEmail` (string, nullable): 
  Max 250 characters; Email address.
- `officePhone` (string, nullable): 
  Max 50 characters.

```json
{
  "companyName": "Muster GmbH",
  "city": "Berlin",
  "countryCode": "DE"
}
```

### Response 201

Division created successfully

- `id` (uuid): 
- `companyName` (string, nullable): 
- `registrationNumber` (string, nullable): 
- `address` (string, nullable): 
- `zipCode` (string, nullable): 
- `state` (string, nullable): 
- `city` (string, nullable): 
- `country` (object): 
- `country.id` (integer): 
- `country.name` (string, nullable): 
- `country.alpha2` (string, nullable): 
- `officeEmail` (string, nullable): 
- `officePhone` (string, nullable): 
- `isArchived` (boolean): 
- `createdUtc` (datetime): 
- `updatedUtc` (datetime, nullable): 

```json
{
  "id": "3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31",
  "companyName": "Muster GmbH",
  "registrationNumber": "DE123456789",
  "address": "Friedrichstraße 68",
  "zipCode": "10115",
  "state": "string",
  "city": "Berlin",
  "country": {
    "id": 3,
    "name": "Muster GmbH",
    "alpha2": "string"
  },
  "officeEmail": "finance@example.com",
  "officePhone": "+49 30 1234567",
  "isArchived": true,
  "createdUtc": "2026-10-01T14:05:00Z",
  "updatedUtc": "2026-10-01T14:05:00Z"
}
```

### Response 400

Invalid request

- `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/…"
    }
  ]
}
```

### Response 422

Business rule violation

- `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/…"
    }
  ]
}
```

<a id="get-a-single-division-by-id"></a>

## Get a single division by ID.

`GET /divisions/{id}`

Returns details of a specific division. The division must belong to the authenticated creditor.

### Path parameters

- `id` (uuid, required): 

### Response 200

Division found

- `id` (uuid): 
- `companyName` (string, nullable): 
- `registrationNumber` (string, nullable): 
- `address` (string, nullable): 
- `zipCode` (string, nullable): 
- `state` (string, nullable): 
- `city` (string, nullable): 
- `country` (object): 
- `country.id` (integer): 
- `country.name` (string, nullable): 
- `country.alpha2` (string, nullable): 
- `officeEmail` (string, nullable): 
- `officePhone` (string, nullable): 
- `isArchived` (boolean): 
- `createdUtc` (datetime): 
- `updatedUtc` (datetime, nullable): 

```json
{
  "id": "3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31",
  "companyName": "Muster GmbH",
  "registrationNumber": "DE123456789",
  "address": "Friedrichstraße 68",
  "zipCode": "10115",
  "state": "string",
  "city": "Berlin",
  "country": {
    "id": 3,
    "name": "Muster GmbH",
    "alpha2": "string"
  },
  "officeEmail": "finance@example.com",
  "officePhone": "+49 30 1234567",
  "isArchived": true,
  "createdUtc": "2026-10-01T14:05:00Z",
  "updatedUtc": "2026-10-01T14:05:00Z"
}
```

### Response 404

Division not found

- `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/…"
    }
  ]
}
```

<a id="update-a-division"></a>

## Update a division.

`PUT /divisions/{id}`

Replaces all fields of a division. All required fields must be provided.

**Required Fields:**
- companyName - Name of the division
- city - City where the division is located
- countryCode - ISO 3166-1 alpha-2 country code (e.g. 'US', 'DE', 'DK')

### Path parameters

- `id` (uuid, required): 

### Request body (application/json)

- `companyName` (string, required): 
  Max 200 characters.
- `registrationNumber` (string, nullable): 
  Max 50 characters.
- `address` (string, nullable): 
- `zipCode` (string, nullable): 
  Max 50 characters.
- `state` (string, nullable): 
- `city` (string, required): 
- `countryCode` (string, required): 
  2–2 characters.
- `officeEmail` (string, nullable): 
  Max 250 characters; Email address.
- `officePhone` (string, nullable): 
  Max 50 characters.

```json
{
  "companyName": "Muster GmbH",
  "city": "Berlin",
  "countryCode": "DE"
}
```

### Response 200

Division updated successfully

- `id` (uuid): 
- `companyName` (string, nullable): 
- `registrationNumber` (string, nullable): 
- `address` (string, nullable): 
- `zipCode` (string, nullable): 
- `state` (string, nullable): 
- `city` (string, nullable): 
- `country` (object): 
- `country.id` (integer): 
- `country.name` (string, nullable): 
- `country.alpha2` (string, nullable): 
- `officeEmail` (string, nullable): 
- `officePhone` (string, nullable): 
- `isArchived` (boolean): 
- `createdUtc` (datetime): 
- `updatedUtc` (datetime, nullable): 

```json
{
  "id": "3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31",
  "companyName": "Muster GmbH",
  "registrationNumber": "DE123456789",
  "address": "Friedrichstraße 68",
  "zipCode": "10115",
  "state": "string",
  "city": "Berlin",
  "country": {
    "id": 3,
    "name": "Muster GmbH",
    "alpha2": "string"
  },
  "officeEmail": "finance@example.com",
  "officePhone": "+49 30 1234567",
  "isArchived": true,
  "createdUtc": "2026-10-01T14:05:00Z",
  "updatedUtc": "2026-10-01T14:05:00Z"
}
```

### Response 400

Invalid request

- `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/…"
    }
  ]
}
```

### Response 404

Division not found

- `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/…"
    }
  ]
}
```

<a id="delete-a-division"></a>

## Delete a division.

`DELETE /divisions/{id}`

Deletes a division.

**Important:** A division cannot be deleted if it is referenced by active cases.
If you need to deactivate a division that has cases, use the archive endpoint instead.

### Path parameters

- `id` (uuid, required): 

### Response 204

Division deleted successfully

### Response 404

Division not found

- `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/…"
    }
  ]
}
```

### Response 422

Division cannot be deleted because it has active cases

- `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/…"
    }
  ]
}
```

<a id="archive-a-division"></a>

## Archive a division.

`POST /divisions/{id}/archive`

Archives a division, making it inactive. Archived divisions are excluded from list results by default.

**Important:** This action is irreversible. Archived divisions can still be referenced by existing cases.

### Path parameters

- `id` (uuid, required): 

### Response 200

Division archived successfully

- `id` (uuid): 
- `companyName` (string, nullable): 
- `registrationNumber` (string, nullable): 
- `address` (string, nullable): 
- `zipCode` (string, nullable): 
- `state` (string, nullable): 
- `city` (string, nullable): 
- `country` (object): 
- `country.id` (integer): 
- `country.name` (string, nullable): 
- `country.alpha2` (string, nullable): 
- `officeEmail` (string, nullable): 
- `officePhone` (string, nullable): 
- `isArchived` (boolean): 
- `createdUtc` (datetime): 
- `updatedUtc` (datetime, nullable): 

```json
{
  "id": "3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31",
  "companyName": "Muster GmbH",
  "registrationNumber": "DE123456789",
  "address": "Friedrichstraße 68",
  "zipCode": "10115",
  "state": "string",
  "city": "Berlin",
  "country": {
    "id": 3,
    "name": "Muster GmbH",
    "alpha2": "string"
  },
  "officeEmail": "finance@example.com",
  "officePhone": "+49 30 1234567",
  "isArchived": true,
  "createdUtc": "2026-10-01T14:05:00Z",
  "updatedUtc": "2026-10-01T14:05:00Z"
}
```

### Response 404

Division not found

- `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/…"
    }
  ]
}
```

### Response 422

Division is already archived

- `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/…"
    }
  ]
}
```

<a id="archive-a-division-2"></a>

## Archive a division.

`POST /divisions/{id}:archive`

Archives a division, making it inactive. Archived divisions are excluded from list results by default.

**Important:** This action is irreversible. Archived divisions can still be referenced by existing cases.

### Path parameters

- `id` (uuid, required): 

### Response 200

Division archived successfully

- `id` (uuid): 
- `companyName` (string, nullable): 
- `registrationNumber` (string, nullable): 
- `address` (string, nullable): 
- `zipCode` (string, nullable): 
- `state` (string, nullable): 
- `city` (string, nullable): 
- `country` (object): 
- `country.id` (integer): 
- `country.name` (string, nullable): 
- `country.alpha2` (string, nullable): 
- `officeEmail` (string, nullable): 
- `officePhone` (string, nullable): 
- `isArchived` (boolean): 
- `createdUtc` (datetime): 
- `updatedUtc` (datetime, nullable): 

```json
{
  "id": "3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31",
  "companyName": "Muster GmbH",
  "registrationNumber": "DE123456789",
  "address": "Friedrichstraße 68",
  "zipCode": "10115",
  "state": "string",
  "city": "Berlin",
  "country": {
    "id": 3,
    "name": "Muster GmbH",
    "alpha2": "string"
  },
  "officeEmail": "finance@example.com",
  "officePhone": "+49 30 1234567",
  "isArchived": true,
  "createdUtc": "2026-10-01T14:05:00Z",
  "updatedUtc": "2026-10-01T14:05:00Z"
}
```

### Response 404

Division not found

- `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/…"
    }
  ]
}
```

### Response 422

Division is already archived

- `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/…"
    }
  ]
}
```
