Management
Get Customer
Retrieve a single customer by ID, wallet, reference key or external ID
GET
/
customers
/
api
/
manage
/
{identifier}
curl "https://api.trusset.org/customers/api/manage/0xaBc123DEf456789012345678901234567890aBCD" \
-H "X-API-Key: trusset_abc123xy_secret..."
const response = await fetch(
'https://api.trusset.org/customers/api/manage/0xaBc123DEf456789012345678901234567890aBCD',
{ headers: { 'X-API-Key': 'trusset_abc123xy_secret...' } }
);
const { data: customer } = await response.json();
{
"success": true,
"data": {
"id": "cmt0k3b9x0004cghxw7r2d5ya",
"instanceId": "cmrz4d1v20000cghx8k6p3m7t",
"issuerId": "cmrz3a8q10000cghxf5w2n9k4",
"walletAddress": "0xaBc123DEf456789012345678901234567890aBCD",
"externalId": "acme-001",
"name": "Acme Corp",
"country": "DEU",
"investorType": "PROFESSIONAL",
"customerType": "COMPANY",
"companyUrl": "https://acme.example/",
"companyId": null,
"status": "verified",
"frozen": false,
"kycHash": "0x5f1c2e8a9b7d4c3e2f1a0b9c8d7e6f5a4b3c2d1e0f9a8b7c6d5e4f3a2b1c0d9e",
"onChainTxHash": "0x8e2d41c7a9f03b56d1e8c4a27f90b3d65e1c8a4f27b90d3e6c1a85f42d97b0e3",
"sumsubApplicantId": null,
"idLinkId": null,
"referenceKey": null,
"contactChannels": ["[email protected]"],
"metadata": null,
"archived": false,
"archivedAt": null,
"verifiedAt": "2026-09-01T10:00:00.000Z",
"revokedAt": null,
"onChainSyncedAt": null,
"createdAt": "2026-08-15T08:00:00.000Z",
"updatedAt": "2026-09-01T10:00:00.000Z",
"linkedWallets": [
{
"id": "cmt1f6h2k0009cghx4r8s2v6b",
"walletAddress": "0x1234f9a07C6B53d81e2A4F70C9b385d6014a7E52",
"label": "Custody account",
"addedAt": "2026-09-01T11:30:00.000Z",
"addedBy": "cmrz3a8q10000cghxf5w2n9k4"
}
],
"company": null,
"members": [],
"sumsubApplicant": null,
"auditLogs": [
{
"id": "cmt1f6h3n000acghxb2d7k5q9",
"instanceId": "cmrz4d1v20000cghx8k6p3m7t",
"customerId": "cmt0k3b9x0004cghxw7r2d5ya",
"walletAddress": "0x1234f9a07C6B53d81e2A4F70C9b385d6014a7E52",
"action": "ADD_LINKED_WALLET",
"performedBy": "cmrz3a8q10000cghxf5w2n9k4",
"metadata": {
"walletAddress": "0x1234f9a07C6B53d81e2A4F70C9b385d6014a7E52",
"label": "Custody account"
},
"timestamp": "2026-09-01T11:30:00.000Z"
}
]
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Customer not found"
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
Returns one customer record from your instance, with its linked wallets, company links and recent audit entries. Archived records are not returned.
Path Parameters
string
required
Resolved in this order. A valid address matches a linked wallet first, then a primary wallet, in any letter case. A value starting with
ref_ matches a referenceKey. A value of 20 to 30 characters is read as a customer ID. Anything else matches an externalId.Because a 20 to 30 character value is always read as an ID, a customer whose
externalId has that length cannot be found by it. Look that customer up by ID, wallet or reference key instead. A mixed-case address with a wrong checksum is not a valid address, so it is matched as an externalId and usually answers 404.Response Fields
object
Show child attributes
Show child attributes
string
Customer ID.
string
The instance the record belongs to.
string
The issuer account that created the record.
string
The primary wallet, checksummed, or
null.string
Your own reference, or
null.string
Display name, or
null.string
ISO 3166-1 alpha-3 code such as
DEU, or null. An older record can still hold the value as it was first stored, such as an alpha-2 code.string
The key of the verification profile the customer is classed under. Defaults to
RETAIL.string
INDIVIDUAL or COMPANY.string
A company record’s website, or
null.string
For an individual, the ID of the company record it belongs to, or
null.string
pending, verified, revoked or rejected, as the platform last recorded it, or whatever value Update Customer last wrote. This is not a registry read. For the live answer, use Identity Status.boolean
Whether the record is marked frozen.
string
The KYC hash recorded when the identity was verified, or
null.string
The verification transaction the platform recorded, or
null.string
The Sumsub applicant ID, or
null.string
Set when the record was created without a wallet, and kept after a wallet is linked. Otherwise
null.string[]
Contact channels, possibly empty.
object
Your metadata, or
null.boolean
Always
false here.string
ISO 8601, or
null.string
ISO 8601, or
null.string
ISO 8601, or
null.string
When the record was last reconciled with the registry, or
null.string
ISO 8601.
string
ISO 8601.
array
Additional wallets, oldest first, each with
id, walletAddress, label, addedAt and addedBy. The primary is not in this list.object
For an individual linked to a company: its
id, name, companyUrl and archived. Otherwise null.array
For a company: up to 100 individuals linked to it that are not archived, oldest first, each with
id, name, walletAddress, status, country and createdAt.object
The Sumsub applicant record, including the provider’s raw payload in
rawData, or null.array
The 20 most recent audit entries, newest first, each with
id, instanceId, customerId, walletAddress, action, performedBy, metadata and timestamp.curl "https://api.trusset.org/customers/api/manage/0xaBc123DEf456789012345678901234567890aBCD" \
-H "X-API-Key: trusset_abc123xy_secret..."
const response = await fetch(
'https://api.trusset.org/customers/api/manage/0xaBc123DEf456789012345678901234567890aBCD',
{ headers: { 'X-API-Key': 'trusset_abc123xy_secret...' } }
);
const { data: customer } = await response.json();
{
"success": true,
"data": {
"id": "cmt0k3b9x0004cghxw7r2d5ya",
"instanceId": "cmrz4d1v20000cghx8k6p3m7t",
"issuerId": "cmrz3a8q10000cghxf5w2n9k4",
"walletAddress": "0xaBc123DEf456789012345678901234567890aBCD",
"externalId": "acme-001",
"name": "Acme Corp",
"country": "DEU",
"investorType": "PROFESSIONAL",
"customerType": "COMPANY",
"companyUrl": "https://acme.example/",
"companyId": null,
"status": "verified",
"frozen": false,
"kycHash": "0x5f1c2e8a9b7d4c3e2f1a0b9c8d7e6f5a4b3c2d1e0f9a8b7c6d5e4f3a2b1c0d9e",
"onChainTxHash": "0x8e2d41c7a9f03b56d1e8c4a27f90b3d65e1c8a4f27b90d3e6c1a85f42d97b0e3",
"sumsubApplicantId": null,
"idLinkId": null,
"referenceKey": null,
"contactChannels": ["[email protected]"],
"metadata": null,
"archived": false,
"archivedAt": null,
"verifiedAt": "2026-09-01T10:00:00.000Z",
"revokedAt": null,
"onChainSyncedAt": null,
"createdAt": "2026-08-15T08:00:00.000Z",
"updatedAt": "2026-09-01T10:00:00.000Z",
"linkedWallets": [
{
"id": "cmt1f6h2k0009cghx4r8s2v6b",
"walletAddress": "0x1234f9a07C6B53d81e2A4F70C9b385d6014a7E52",
"label": "Custody account",
"addedAt": "2026-09-01T11:30:00.000Z",
"addedBy": "cmrz3a8q10000cghxf5w2n9k4"
}
],
"company": null,
"members": [],
"sumsubApplicant": null,
"auditLogs": [
{
"id": "cmt1f6h3n000acghxb2d7k5q9",
"instanceId": "cmrz4d1v20000cghx8k6p3m7t",
"customerId": "cmt0k3b9x0004cghxw7r2d5ya",
"walletAddress": "0x1234f9a07C6B53d81e2A4F70C9b385d6014a7E52",
"action": "ADD_LINKED_WALLET",
"performedBy": "cmrz3a8q10000cghxf5w2n9k4",
"metadata": {
"walletAddress": "0x1234f9a07C6B53d81e2A4F70C9b385d6014a7E52",
"label": "Custody account"
},
"timestamp": "2026-09-01T11:30:00.000Z"
}
]
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Customer not found"
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
Error Codes
| Code | HTTP | Cause |
|---|---|---|
NOT_FOUND | 404 | Nothing on your instance matches identifier, or the match is archived |
FETCH_FAILED | 500 | The record could not be read |
⌘I
curl "https://api.trusset.org/customers/api/manage/0xaBc123DEf456789012345678901234567890aBCD" \
-H "X-API-Key: trusset_abc123xy_secret..."
const response = await fetch(
'https://api.trusset.org/customers/api/manage/0xaBc123DEf456789012345678901234567890aBCD',
{ headers: { 'X-API-Key': 'trusset_abc123xy_secret...' } }
);
const { data: customer } = await response.json();
{
"success": true,
"data": {
"id": "cmt0k3b9x0004cghxw7r2d5ya",
"instanceId": "cmrz4d1v20000cghx8k6p3m7t",
"issuerId": "cmrz3a8q10000cghxf5w2n9k4",
"walletAddress": "0xaBc123DEf456789012345678901234567890aBCD",
"externalId": "acme-001",
"name": "Acme Corp",
"country": "DEU",
"investorType": "PROFESSIONAL",
"customerType": "COMPANY",
"companyUrl": "https://acme.example/",
"companyId": null,
"status": "verified",
"frozen": false,
"kycHash": "0x5f1c2e8a9b7d4c3e2f1a0b9c8d7e6f5a4b3c2d1e0f9a8b7c6d5e4f3a2b1c0d9e",
"onChainTxHash": "0x8e2d41c7a9f03b56d1e8c4a27f90b3d65e1c8a4f27b90d3e6c1a85f42d97b0e3",
"sumsubApplicantId": null,
"idLinkId": null,
"referenceKey": null,
"contactChannels": ["[email protected]"],
"metadata": null,
"archived": false,
"archivedAt": null,
"verifiedAt": "2026-09-01T10:00:00.000Z",
"revokedAt": null,
"onChainSyncedAt": null,
"createdAt": "2026-08-15T08:00:00.000Z",
"updatedAt": "2026-09-01T10:00:00.000Z",
"linkedWallets": [
{
"id": "cmt1f6h2k0009cghx4r8s2v6b",
"walletAddress": "0x1234f9a07C6B53d81e2A4F70C9b385d6014a7E52",
"label": "Custody account",
"addedAt": "2026-09-01T11:30:00.000Z",
"addedBy": "cmrz3a8q10000cghxf5w2n9k4"
}
],
"company": null,
"members": [],
"sumsubApplicant": null,
"auditLogs": [
{
"id": "cmt1f6h3n000acghxb2d7k5q9",
"instanceId": "cmrz4d1v20000cghx8k6p3m7t",
"customerId": "cmt0k3b9x0004cghxw7r2d5ya",
"walletAddress": "0x1234f9a07C6B53d81e2A4F70C9b385d6014a7E52",
"action": "ADD_LINKED_WALLET",
"performedBy": "cmrz3a8q10000cghxf5w2n9k4",
"metadata": {
"walletAddress": "0x1234f9a07C6B53d81e2A4F70C9b385d6014a7E52",
"label": "Custody account"
},
"timestamp": "2026-09-01T11:30:00.000Z"
}
]
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Customer not found"
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
