PUT
Update Debt

Overview

This endpoint allows you to update information for an existing debt. You can modify debtor details, amounts, addresses, and other debt-related information.
The status field can be updated via API to: status.default.paid, status.default.in_progress, status.default.on_hold, status.default.failed, or status.default.archived. Other statuses are managed through internal workflows only.

Authentication

Requires a valid OAuth 2.0 access token with the debts:write scope.

Request

string
required
Bearer token for authentication
string
required
Must be application/json
string
required
The encrypted ID of the debt to update

Request Body

Debtor Information

string
Debtor’s first name
string
Debtor’s last name
string
Civility/title. Possible values: "Mr" or "Ms"
string
Debtor’s phone number (will be normalized to E.164 format)
boolean
Explicitly permits (true) or restricts (false) phone communications to a destination whose configured AI-call price is at least 50 credits, for the supplied phone and secondary-contact phones. A restriction blocks SMS, RCS, calls, WhatsApp, and voicemail only; email and postal reminders continue. Omit the field with an unchanged phone to preserve its recorded choice. Supplying a new costly phone without this field records a restriction. A balance-only update, with neither phone nor option, does not change a recorded or historical decision. For a historical phone with no recorded decision, the first update that resends that phone without this field records a restriction. The field accepts JSON booleans only. For debt synchronized through a campaign, the GetBill campaign configuration takes priority.
string
Debtor’s email address
string
Debtor’s birthdate in YYYY-MM-DD or ISO 8601 format
string
Company name of the debtor (for B2B debts)

Address Information

string
Full address (legacy field, use structured address fields when possible)
string
Street number
string
Street name and type
string
Postal/ZIP code
string
City name
string
Country code or name

Debt Details

number
Debt amount
number
Non-negative cumulative amount already paid on the debt. Increasing it records an off-platform payment delta in GetBill. It cannot be lower than the currently tracked paid amount.
number
Snake_case alias for paidAmount.
number
Non-negative target remaining balance. Lowering it records an off-platform payment delta; setting it to 0 marks the debt as fully paid when applicable.
number
Snake_case alias for remainingAmount.
When both paid and remaining amounts are sent, their sum must equal the debt amount.
string
Currency code (ISO 4217 format, e.g., "EUR", "USD")
string
Description or object of the debt (e.g., invoice reference, service description)
string
Your internal reference ID for this debt
string
Invoice reference number for this debt
string
Your reference for the debtor
string
Invoice date in YYYY-MM-DD or ISO 8601 format
string
Payment due date in YYYY-MM-DD or ISO 8601 format
string
Debt status. Only the following statuses can be set via API:Allowed values:
  • status.default.paid - Mark debt as fully paid
  • status.default.in_progress - Mark debt as collection in progress
  • status.default.on_hold - Put debt collection on hold
  • status.default.failed - Mark collection as failed
  • status.default.archived - Archive the debt
string
IBAN for payment
Custom payment link URL

Creditor Information (Debt Collection Agencies Only)

string
Name of the creditor company you are collecting on behalf of. Only used by debt collection agencies who manage debts for multiple client companies. If you are collecting your own debts, leave this field empty.

Timeline Configuration

string
Encrypted timeline ID to associate with this debt. Set to change the timeline or enable AI-powered workflows. Note: Changing the timeline on an existing debt with active followups should be done carefully.

Custom Data

object
Custom metadata object for storing arbitrary JSON data. Use this to store any additional information that your system needs to track, such as CRM IDs, order references, custom tags, or integration-specific data. Pass null to clear existing metadata.

Example Request

Response

Returns the updated debt object with the same structure as the Get Debt endpoint. For a costly phone destination without authorization, the update succeeds and includes an expensive_destination_not_accepted warning. It does not return 422 solely because of the destination.

Success Response

Error Responses