Management
Archive Customer
Soft-delete a customer by marking it as archived
DELETE
/
customers
/
api
/
manage
/
{customerId}
curl -X DELETE "https://api.trusset.org/customers/api/manage/cmt0k3b9x0004cghxw7r2d5ya" \
-H "X-API-Key: trusset_abc123xy_secret..."
const response = await fetch(
'https://api.trusset.org/customers/api/manage/cmt0k3b9x0004cghxw7r2d5ya',
{
method: 'DELETE',
headers: { 'X-API-Key': 'trusset_abc123xy_secret...' }
}
);
const { data } = await response.json();
{
"success": true,
"data": {
"archived": true
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
Archives a customer record. Archived customers are excluded from list queries by default but can be included by passing
An archived record answers
includeArchived=true. This is a soft delete: no data is permanently removed.
Archiving changes the record only. The identity on the registry and its claims stay in place, so a verified wallet keeps passing identity checks. If it should stop, revoke it with Revoke Identity before archiving, and do the same for any linked wallet the registry holds an identity for.
404 on Get Customer, Update Customer, the wallet endpoints and Link Wallet, and drops out of Batch Get Countries. Get Lending Positions still reads it, and loans already attributed to it stay attributed. A new loan cannot name it as its clientReference.
Its linked wallets stay attached and stay reserved, so no other customer on your instance can add them. Its externalId is released for a new record.
Archiving also ends the customer’s onboarding. Every open verification link of the customer, including one whose identity check is still in review and one waiting for a wallet, is closed as if revoked (EXPIRED), so a review that arrives later registers nothing. Rows of its wallet waiting in the pending queue are dismissed, and building a registration for a wallet that belongs only to an archived customer is refused with 409 CUSTOMER_ARCHIVED.
There is no restore endpoint on the API. Create Customer with the archived record’s primary wallet restores the record and overwrites its fields from the request body.
A company record is refused while individuals that are not archived are linked to it. Unlink them first by sending companyId: null to Update Customer, or archive them.
Path Parameters
string
required
Customer ID.
Response Fields
boolean
Request status
curl -X DELETE "https://api.trusset.org/customers/api/manage/cmt0k3b9x0004cghxw7r2d5ya" \
-H "X-API-Key: trusset_abc123xy_secret..."
const response = await fetch(
'https://api.trusset.org/customers/api/manage/cmt0k3b9x0004cghxw7r2d5ya',
{
method: 'DELETE',
headers: { 'X-API-Key': 'trusset_abc123xy_secret...' }
}
);
const { data } = await response.json();
{
"success": true,
"data": {
"archived": true
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
Error Codes
| Code | HTTP | Cause |
|---|---|---|
NOT_FOUND | 404 | No such customer on your instance, or the record is already archived |
COMPANY_HAS_MEMBERS | 409 | The record is a company with individuals linked to it that are not archived |
ARCHIVE_FAILED | 500 | The record could not be archived |
⌘I
curl -X DELETE "https://api.trusset.org/customers/api/manage/cmt0k3b9x0004cghxw7r2d5ya" \
-H "X-API-Key: trusset_abc123xy_secret..."
const response = await fetch(
'https://api.trusset.org/customers/api/manage/cmt0k3b9x0004cghxw7r2d5ya',
{
method: 'DELETE',
headers: { 'X-API-Key': 'trusset_abc123xy_secret...' }
}
);
const { data } = await response.json();
{
"success": true,
"data": {
"archived": true
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
