Skip to main content
POST
/
tenant
/
{tenantId}
/
custodians
Creates a new custodian and associated wallets for the specified tenant.
curl --request POST \
  --url https://api.example.com/tenant/{tenantId}/custodians \
  --header 'Content-Type: application/json' \
  --data '
{
  "tenantId": 1024,
  "provider": "Fireblocks",
  "accountName": "Alpha Treasury Desk",
  "apiKey": "b272c1a6-3c5f-4d35-904d-8f7127debf25",
  "secretApiKey": "super-secret-key",
  "isAllowedContractOwnership": true,
  "isAllowedTreasuryOperations": true,
  "isVisibleWallet": true,
  "isActiveWallet": true,
  "isActiveCustodialRelationship": true,
  "isActiveTreasuryWallets": false,
  "requestId": "1e2f6d7c-8a91-4bc3-951f-12d34f56a789"
}
'
{
  "isSuccess": true,
  "isFailure": false,
  "error": null,
  "value": {
    "id": 42,
    "name": "Example"
  }
}

Path Parameters

tenantId
integer<int64>
required

Identifier of the tenant owning the new custodian.

Body

application/json

Payload containing provider credentials and synchronization preferences.

Request to create a new custodian integration with wallet synchronization configuration.

tenantId
integer<int64>

Identifier of the tenant creating the custodian.

Example:

1024

provider
enum<string>

Provider selected during the initial step of the wizard.

Available options:
Unknown,
Fireblocks,
Venly,
Bitgo,
AnchorageDigital,
CoinbaseCustody,
FireblocksSandbox
Example:

"Fireblocks"

accountName
string

Custodian account name supplied by the tenant.

Example:

"Alpha Treasury Desk"

apiKey
string

Primary API key used to authenticate with the provider.

Example:

"b272c1a6-3c5f-4d35-904d-8f7127debf25"

secretApiKey
string

Secret API key or credential paired with the primary API key.

Example:

"super-secret-key"

isAllowedContractOwnership
boolean

Flag indicating whether contract ownership should be enabled.

Example:

true

isAllowedTreasuryOperations
boolean

Flag indicating whether treasury operations should be enabled.

Example:

true

isVisibleWallet
boolean

Flag indicating whether wallets should be visible after creation.

Example:

true

isActiveWallet
boolean

Flag indicating whether wallets should be active after creation.

Example:

true

isActiveCustodialRelationship
boolean

Flag indicating whether the custodial relationship should be active.

Example:

true

isActiveTreasuryWallets
boolean

Flag indicating whether treasury wallets should be active.

Example:

false

requestId
string<guid>

Correlation identifier reused between wizard steps to reuse cached provider data.

Example:

"1e2f6d7c-8a91-4bc3-951f-12d34f56a789"

Response

200 - application/json

Returned when the custodian and wallets are successfully created.

Wrapper for API operation results containing success status, error information, and return value.

isSuccess
boolean

True if the operation completed successfully, false otherwise.

Example:

true

isFailure
boolean

True if the operation failed, false otherwise.

Example:

false

error
object

Error information returned when the operation fails.

Example:
{
"code": "ValidationError",
"message": "The request parameters failed validation.",
"info": [
"The Name field is required.",
"The Id field must be greater than 0."
]
}
value
object

The result value returned when the operation is successful.

Example:
{ "id": 128, "isWrongCredentials": false }