To add a new customer to the system, use the authenticated /customerPOST endpoint. This will initialise a new customer entity and start KYC verification process. The response contains a verification URL that redirects to our KYC partner's portal for further verification.
Create new customer
post
/customers
Creates new customer and generates a cryptographic challenge to verify ownership of blockchain account
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Header parameters
SignaturestringRequired
HTTP message signature
Signature-InputstringRequired
HTTP message signature input
Idempotency-Keystring Β· uuidRequired
Idempotency key (UUID)
Content-DigeststringRequired
Content digest
Body
chainIdstringRequired
Unique customer ID in a form of a valid on-chain address. This would normally correspond to customer's EOA wallet address
Unique customer ID in a form of an external identifier. This would normally correspond to customer's ID in your system
Responses
201
Successful operation
application/json
400
Invalid request
401
Not authorised
409
Customer already exists
500
Internal error
post
/customers
Customer Entity Updates
Any internal updates to the customer entity will trigger a webhook update event. For details on how to set up and manage webhook subscriptions, please refer to Webhooks.
Blockchain Updates
In order to proceed with customer verification, a challenge needs to be signed and verified (see Blockchain Updates).
Retrieve Customer Entities
To retrieve a list of all customer entities registered for the programme, make a GET request to /customers.
Retrieve customers
get
/customers
Retrieves customers' details
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Header parameters
SignaturestringRequired
HTTP message signature
Signature-InputstringRequired
HTTP message signature input
Responses
200
Successful operation
application/json
400
Invalid request
401
Not authorised
500
Internal error
get
/customers
Retrieve an Individual Customer
To retrieve information about an individual customer, make a GET request to /customers/{customerId} with customer ID as a path parameter.
Retrieve customer
get
/customers/{customerId}
Retrieves customer's details
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
customerIdstring Β· uuidRequired
Unique customer ID
Header parameters
SignaturestringRequired
HTTP message signature
Signature-InputstringRequired
HTTP message signature input
Responses
200
Successful operation
application/json
400
Invalid request
401
Not authorised
404
Customer not found
500
Internal error
get
/customers/{customerId}
Deactivate a Customer
To deactivate a customer, use a PATCH request to /customers/{customerId}/deactivate. This will also deactivate all associated resources, such as accounts and cards.
Deactivate customer
patch
/customers/{customerId}/deactivate
Deactivates customer and all associated resources
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
customerIdstring Β· uuidRequired
Unique customer ID
Header parameters
SignaturestringRequired
HTTP message signature
Signature-InputstringRequired
HTTP message signature input
Idempotency-Keystring Β· uuidRequired
Idempotency key (UUID)
Responses
200
Successful operation
application/json
400
Invalid request
401
Not authorised
404
Customer not found
409
Invalid state transition
500
Internal error
patch
/customers/{customerId}/deactivate
Reactivate a Customer
To reactivate a previously deactivated customer, use a PATCH request to /customers/{customerId}/activate.
Activate customer
patch
/customers/{customerId}/activate
Activates customer and all associated resources
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
GET /v1/customers/{customerId} HTTP/1.1
Host: api.offblocks.xyz
Authorization: Bearer YOUR_SECRET_TOKEN
Signature: text
Signature-Input: text
Accept: */*