Skip to main content

Update a debt

PUT 

/v1/contacts/:contact_id/debts/:debt_id

Partial update — only the supplied fields change. Every domain field is patchable, including the debt-level compliance flags (cease_desist, debt_disputed, coerced_debt, refusal_to_pay, fraud_or_identity_theft) and the promise-to-pay state (ptp_status, ptp_due_date, ptp_updated_at). NBA writes those same columns when a conversation surfaces a dispute or a payment commitment, with last-write-wins semantics: clearing a flag here removes the suppression it applies to the next campaign send. status_updated_at is derived — it is set automatically whenever status actually changes, and a client-sent value is ignored. Unknown and server-owned fields are stripped before the "at least one field" check, so a body of only those fails with 400.

Permissions - contacts.read + contacts.write (the checks run both; a write grant without the read grant is denied). API keys - manage.

Request​

Responses​

The updated debt