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
- 200
- 400
- 401
- 404
- 500
The updated debt
BadRequest
Response Headers
Unique identifier for the API request, useful for debugging and tracking.
abc123xyz789Unauthorized
Response Headers
Unique identifier for the API request, useful for debugging and tracking.
abc123xyz789The specified resource was not found
Response Headers
Unique identifier for the API request, useful for debugging and tracking.
abc123xyz789Internal Server Error
Response Headers
Unique identifier for the API request, useful for debugging and tracking.
abc123xyz789