Skip to main content
PATCH
Update an account

Authorizations

Authorization
string
header
required

Owner-scoped bearer token. The owner all requests are scoped to is derived from the token.

Path Parameters

accountId
string<uuid>
required

Slate's UUID for the account (returned by the upsert). The canonical account identifier.

Body

application/json

A partial account update: include only the fields you want to change. Omitted fields are left unchanged. Identity fields (accountId, owner, crid) cannot be changed here.

status
enum<string>

Account lifecycle status. Binary: ACTIVE (being serviced) or CLOSED (resolved, returned, or otherwise done).

Available options:
ACTIVE,
CLOSED
closedOn
string<date>

The date the account was closed. Applied as closed_on only when the account is CLOSED; ignored while ACTIVE.

productType
string | null

The client's product type for the account (e.g. "CONTRACT").

currentBalance
string<decimal>

The current amount owed, in US dollars, as a decimal string (e.g. "1250.75").

Pattern: ^-?\d+(\.\d{1,2})?$
chargeOffDate
string<date>

The charge-off date, if applicable.

creditorId
string<uuid>

The account's current creditor (Slate creditor UUID); must be one your owner manages.

originatingCreditorId
string<uuid> | null

The creditor that originated the account (Slate creditor UUID); must be one your owner manages. Provide this or originatingCreditorCode.

originatingCreditorCode
string

A partner code registered to the creditor that originated the account, resolved to that creditor for your owner. An alternative to originatingCreditorId.

chargeOffCreditorId
string<uuid> | null

The creditor the account charged off with (Slate creditor UUID); must be one your owner manages. Provide this or chargeOffCreditorCode.

chargeOffCreditorCode
string

A partner code registered to the creditor the account charged off with, resolved to that creditor for your owner. An alternative to chargeOffCreditorId.

defaultCreditorId
string<uuid> | null

The creditor the account defaulted with (Slate creditor UUID); must be one your owner manages. Provide this or defaultCreditorCode.

defaultCreditorCode
string

A partner code registered to the creditor the account defaulted with, resolved to that creditor for your owner. An alternative to defaultCreditorId.

accountNumber
string

The current client/account number.

portfolioId
string

Portfolio identifier, if part of a purchased portfolio.

lineOfBusinessName
string | null

The account's line of business, if provided.

openDate
string<date> | null

The date the account was opened, if provided.

delinquencyDate
string<date> | null

The date the account became delinquent, if provided.

cycleDate
string<date> | null

The account's billing cycle date, if provided.

closureDate
string<date> | null

The account's closure date, if provided.

chargeOffAmount
string<decimal> | null

The balance at charge-off, in US dollars, if applicable.

Pattern: ^-?\d+(\.\d{1,2})?$
termsAndConditions
string | null

The account's terms and conditions text, if provided.

lastCashAdvanceDate
string<date> | null

The date of the last cash advance, if provided.

lastCashAdvanceAmount
string<decimal> | null

The amount of the last cash advance, if provided.

Pattern: ^-?\d+(\.\d{1,2})?$
lastMerchandisePurchaseDate
string<date> | null

The date of the last merchandise purchase, if provided.

lastMerchandisePurchaseAmount
string<decimal> | null

The amount of the last merchandise purchase, if provided.

Pattern: ^-?\d+(\.\d{1,2})?$
daysPastDue
integer<int32> | null

The number of days the account is past due, if provided.

lastPaymentReceivedDate
string<date> | null

The date the last payment was received, if provided.

lastPaymentAmount
string<decimal> | null

The amount of the last payment received, if provided.

Pattern: ^-?\d+(\.\d{1,2})?$
placedWithOwnerOn
string<date> | null

The date the account was placed with its owner (for a debt buyer, the purchase date), if provided. Distinct from createdOn, the date the account was loaded into Slate.

purchaseBalance
string<decimal> | null

The balance when the owner purchased the account, if provided.

Pattern: ^-?\d+(\.\d{1,2})?$
paymentTotals
string<decimal> | null

The total paid on the account since the owner purchased it, if provided.

Pattern: ^-?\d+(\.\d{1,2})?$
placement
object | null

Omit to leave the placement untouched; send null to unplace the account, recalling any current placement; send an object to place or re-place it. Matches the upsert, so the same body means the same thing on either endpoint.

The account's legal activity: the suit filed on it, the judgment entered on that suit, and the court it is filed in. Either may be absent, and the whole record is null until a suit is filed. A judgment belongs to a suit, so an account cannot carry a judgment without one.

On a write, only the fields you send are stored — the record is merged, never replaced, on both the upsert and the patch. Legal records are shared with Slate's legal systems, which populate fields this API does not expose, so an omitted field means "leave it as it is" rather than "clear it". Sending null for the whole record, or omitting it, leaves the stored record untouched; nothing here deletes legal activity.

An account that Slate holds no legal file for cannot take a legal record; upsert the account via POST /v1/accounts first, which opens one.

metadata
object

Custom key/value pairs you can attach to an object for reporting, analytics, or attributes Slate does not model natively — inspired by Stripe metadata. Values are strings. Limits: at most 50 keys, each key at most 40 characters and each value at most 500 characters. On a partial update (PATCH) the keys you send are merged into the existing metadata; send a key with an empty-string value to remove it. An account upsert (full snapshot) replaces the whole map.

Example:

Response

The updated account.

The full account aggregate as Slate holds it.

accountId
string<uuid>
required
read-only

Slate's stable UUID for the account — the canonical identifier, assigned by Slate on create.

owner
string
required

The organization that owns this account in Slate (your owner code).

crid
string
required

Your identifier for the account (the account number in your system) — the natural key the upsert matches on, unique within your owner.

creditorId
string<uuid>
required

The account's current creditor — the creditor it belongs to now (Slate creditor UUID). Register creditors via POST /v1/creditors; must be one your owner manages.

status
enum<string>
required

Account lifecycle status. Binary: ACTIVE (being serviced) or CLOSED (resolved, returned, or otherwise done).

Available options:
ACTIVE,
CLOSED
currentBalance
string<decimal>
required

The current amount owed, in US dollars, as a decimal string (e.g. "1250.75").

Pattern: ^-?\d+(\.\d{1,2})?$
matterId
string<uuid>
read-only

Current active matter UUID for the account. Currently created on initial account creation, but support will be added later for managing an accounts matters, both current and historical.

accountNumber
string

The current client/account number. May change over the life of the account (e.g. when paper is sold).

accountNumberHistory
object[]
read-only

The history of account-number changes for this account, oldest first. Empty when the number has never changed. Read-only — recorded automatically whenever accountNumber changes.

originatingCreditorId
string<uuid> | null

The creditor that originated the account, if known (Slate creditor UUID). One of the creditor roles an account can carry alongside creditorId, which is its current creditor.

chargeOffCreditorId
string<uuid> | null

The creditor the account charged off with, if known (Slate creditor UUID). One of the creditor roles an account can carry alongside creditorId, which is its current creditor.

defaultCreditorId
string<uuid> | null

The creditor the account defaulted with, if known (Slate creditor UUID). One of the creditor roles an account can carry alongside creditorId, which is its current creditor.

portfolioId
string | null

Portfolio identifier, when the account is part of a purchased portfolio. Absent for forwarded/placed paper.

productType
string | null

The client's product type for the account, if provided.

closedOn
string<date> | null

The date the account was closed; null while ACTIVE.

A legal balance for the account, in US dollars, as a decimal string, when one has been provided. Separate from currentBalance, and may differ from it. Null when none has been provided, which is the case for many accounts. Read-only.

Pattern: ^-?\d+(\.\d{1,2})?$
chargeOffDate
string<date> | null

The date the account was charged off, if applicable.

placement
object | null

The servicing firm the account is currently placed with, and its fee terms. Null when the account is not placed.

The account's legal activity: the suit filed on it, the judgment entered on that suit, and the court it is filed in. Either may be absent, and the whole record is null until a suit is filed. A judgment belongs to a suit, so an account cannot carry a judgment without one.

On a write, only the fields you send are stored — the record is merged, never replaced, on both the upsert and the patch. Legal records are shared with Slate's legal systems, which populate fields this API does not expose, so an omitted field means "leave it as it is" rather than "clear it". Sending null for the whole record, or omitting it, leaves the stored record untouched; nothing here deletes legal activity.

An account that Slate holds no legal file for cannot take a legal record; upsert the account via POST /v1/accounts first, which opens one.

createdOn
string<date-time>
read-only

When Slate first created the account.

lastUpdated
string<date-time>
read-only

When the account was last updated in Slate.

openDate
string<date> | null

The date the account was opened, if provided.

delinquencyDate
string<date> | null

The date the account became delinquent, if provided.

cycleDate
string<date> | null

The account's billing cycle date, if provided.

closureDate
string<date> | null

The account's closure date, if provided.

chargeOffAmount
string<decimal> | null

The balance at charge-off, in US dollars, if applicable.

Pattern: ^-?\d+(\.\d{1,2})?$
termsAndConditions
string | null

The account's terms and conditions text, if provided.

lastCashAdvanceDate
string<date> | null

The date of the last cash advance, if provided.

lastCashAdvanceAmount
string<decimal> | null

The amount of the last cash advance, if provided.

Pattern: ^-?\d+(\.\d{1,2})?$
lastMerchandisePurchaseDate
string<date> | null

The date of the last merchandise purchase, if provided.

lastMerchandisePurchaseAmount
string<decimal> | null

The amount of the last merchandise purchase, if provided.

Pattern: ^-?\d+(\.\d{1,2})?$
daysPastDue
integer<int32> | null

The number of days the account is past due, if provided.

lastPaymentReceivedDate
string<date> | null

The date the last payment was received, if provided.

lastPaymentAmount
string<decimal> | null

The amount of the last payment received, if provided.

Pattern: ^-?\d+(\.\d{1,2})?$
placedWithOwnerOn
string<date> | null

The date the account was placed with its owner (for a debt buyer, the purchase date), if provided. Distinct from createdOn, the date the account was loaded into Slate.

purchaseBalance
string<decimal> | null

The balance when the owner purchased the account, if provided.

Pattern: ^-?\d+(\.\d{1,2})?$
paymentTotals
string<decimal> | null

The total paid on the account since the owner purchased it, if provided.

Pattern: ^-?\d+(\.\d{1,2})?$
lineOfBusinessName
string | null

The account's line of business, if provided.

metadata
object

Custom key/value pairs you can attach to an object for reporting, analytics, or attributes Slate does not model natively — inspired by Stripe metadata. Values are strings. Limits: at most 50 keys, each key at most 40 characters and each value at most 500 characters. On a partial update (PATCH) the keys you send are merged into the existing metadata; send a key with an empty-string value to remove it. An account upsert (full snapshot) replaces the whole map.

Example: