v1Resources/Clients/deleteArchive a client

Archive a client

Requests archival of a client — this API never permanently deletes one. If the client has any locations this SCHEDULES it: the client and every one of its locations archive at the end of the current billing period, and until then everything stays fully active and billed — the archival can be called off with the cancel-archive endpoint. A client with no locations at all is archived immediately instead (there's nothing to defer). The response's outcome field says which of the two actually happened.

delete/api/v1/clients/{id}
clients:write
Query parameters
idstringrequired
The client to archive.
Response
dataobjectoptional
Which fields are present depends on outcome: scheduled carries scheduledArchiveAt/archiveAt/locationCount; archived carries locationsArchived/locationsFailed/cancelledScheduledPosts.
outcomestring (scheduled | archived)required
What actually happened: archived (immediate — no locations existed, or none were live) or scheduled (archives at the end of the billing period).
clientIdstringrequired
Unique identifier for the client.
businessNamestringrequired
The client's business name.
scheduledArchiveAtstringoptional
When archival was requested (also the cohort token for cancelling it), as an ISO 8601 timestamp, or null if none is pending.
archiveAtstringoptional
When the scheduled archival will actually land — the agency's billing boundary. Null if the agency has none. Present only when outcome is scheduled.
locationCountnumberoptional
Number of locations this client has, or null if unknown.
locationsArchivednumberoptional
Number of locations archived along with the client. Present only when outcome is archived.
locationsFailednumberoptional
Number of locations that failed to archive. Present only when outcome is archived.
cancelledScheduledPostsnumberoptional
Number of scheduled posts cancelled as part of archiving. Present only when outcome is archived.
Errors
401Missing, invalid, expired, or revoked API key.
403The key lacks the required scope, or isn't authorized for this client/location.
404The resource wasn't found, or doesn't belong to your agency.
409The request conflicts with the current state of the resource — for example, changing the email or phone of a recipient who has already been messaged, or a team invite that was already accepted (or hasn't been accepted yet).
429Too many requests. Retry after the number of seconds in the Retry-After header.
delete/api/v1/clients/{id}
Your API key
id *
{
  "data": {
    "outcome": "scheduled",
    "clientId": "cli_123",
    "businessName": "Acme Dental",
    "scheduledArchiveAt": "2026-02-01T00:00:00.000Z",
    "archiveAt": "2026-03-01T00:00:00.000Z",
    "locationCount": 1
  }
}