---
title: "Propose an intent"
method: POST
path: "/v1/intents"
tags: ["Intents"]
---

# Propose an intent

`POST /v1/intents`

## Headers

- `requestId` string, uuid

## Request body

- union
  - CoreSystemSigned
    - `request` CoreSystemSignedRequest, required
      - `targetDomainId` string, uuid, required
      - `id` string, uuid, required
      - `expiryAt` string, date-time, required
      - `payload` union, required
        - CoreV0AcknowledgeBackup
          - `backupId` string, uuid, required
          - `type` 'v0_AcknowledgeBackup', required
        - CoreV0AddAccountLedgers
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `ledgerIds` string[]
          - `type` 'v0_AddAccountLedgers', required
        - CoreV0AddTrustedPublicKeysForMigration
          - `newCollectionSigningPublicKey` string, base64, required
          - `newMessageSigningPublicKey` string, base64, required
          - `newApiSigningPublicKey` string, base64, required
          - `newKeyMaterial` string, required
          - `currentCollectionSigningPublicKey` string, base64, required
          - `currentCollectionSigningPublicKeySignature` string, base64, required
          - `type` 'v0_AddTrustedPublicKeysForMigration', required
        - CoreV0AttemptTransactionOrderCancellation
          - `targetTransactionOrderId` string, uuid, required
          - `replacementTransactionOrderId` string, uuid, required
          - `reason` string, required
          - `maximumFee` string — This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.
          - `type` 'v0_AttemptTransactionOrderCancellation', required
        - CoreV0CreateAccount
          - `id` string, uuid, required
          - `alias` string, required
          - `providerDetails` CoreV0CreateAccountProviderDetailsPayload, required
            - `vaultId` string, uuid, required
            - `keyStrategy` 'VaultHard' | 'VaultSoft' | 'Random', required
            - `type` 'Vault', required
          - `ledgerId` string
          - `ledgerIds` string[]
          - `lock` 'Unlocked' | 'Locked', required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateAccount', required
        - CoreV0CreateBackup
          - `id` string, uuid, required
          - `parameters` union, required
            - CoreVaultBackupParametersVaultHsm
              - …
            - CoreVaultBackupParametersVaultMpc
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateBackup', required
        - CoreV0CreateDomain
          - `id` string, uuid, required
          - `alias` string, required
          - `lock` 'Unlocked' | 'Locked', required
          - `governingStrategy` 'ConsiderDescendants' | 'CoerceDescendants'
          - `permissions` CorePermissions, required
            - `readAccess` CoreReadAccess, required
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `users` CoreCreateDomainGenesisUser[], required
            - `id` string, uuid, required
            - `alias` string, required
            - `publicKey` string, base64, required
            - `roles` string[], required
            - `lock` 'Unlocked' | 'Locked', required
            - `description` string
            - `customProperties` CoreStringsMap, required
            - `loginIds` CoreLoginId[] — Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values.
              - …
          - `policies` CoreCreateDomainGenesisPolicy[], required
            - `id` string, uuid, required
            - `alias` string, required
            - `rank` integer, required
            - `intentTypes` CoreIntentType[]
            - `scope` 'Self' | 'Descendants' | 'SelfAndDescendants', required
            - `scriptingEngine` 'Javascript_v0', required
            - `condition` union
              - …
            - `workflow` CoreWorkflowCondition[]
              - …
            - `lock` 'Unlocked' | 'Locked', required
            - `description` string
            - `customProperties` CoreStringsMap, required
            - `intentOrigin` 'UserSigned' | 'SystemSigned'
          - `childrenDomainIds` string[] — List of `domainId` values to reparent under the new domain. Populate this field only for domain injection.
          - `type` 'v0_CreateDomain', required
        - CoreV0CreateEndpoint
          - `id` string, uuid, required
          - `address` string, required
          - `trustScore` integer, required
          - `ledgerId` string, required
          - `parameters` CoreEndpointLedgerParameters
            - `ABI` string — This field can be used to provide an Application Binary Interface (ABI) for EVM-based smart contracts, Ripple Custody's front-end uses the field to provide an extended support when interacting with smart contracts, therefore it is not recommended to submit invalid ABIs in this field but Ripple Custody will not prevent the submission of invalid ABIs to tolerate use cases outside of Ripple Custody's front-end.
            - `type` 'Ethereum', required
          - `alias` string, required
          - `lock` 'Unlocked' | 'Locked', required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateEndpoint', required
        - CoreV0CreateLedger
          - `id` string, required
          - `alias` string, required
          - `parameters` union, required
            - CoreLedgerParametersAlgorand
              - …
            - CoreLedgerParametersBitcoin
              - …
            - CoreLedgerParametersCardano
              - …
            - CoreLedgerParametersEthereum
              - …
            - CoreLedgerParametersHedera
              - …
            - CoreLedgerParametersSolana
              - …
            - CoreLedgerParametersStellar
              - …
            - CoreLedgerParametersSubstrate
              - …
            - CoreLedgerParametersTezos
              - …
            - CoreLedgerParametersTron
              - …
            - CoreLedgerParametersXRPL
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateLedger', required
        - CoreV0CreatePolicy
          - `id` string, uuid, required
          - `alias` string, required
          - `rank` integer, required
          - `intentTypes` CoreIntentType[]
          - `scope` 'Self' | 'Descendants' | 'SelfAndDescendants', required
          - `scriptingEngine` 'Javascript_v0', required
          - `condition` union
            - CorePolicyConditionAnd
              - …
            - CorePolicyConditionExpression
              - …
            - CorePolicyConditionOr
              - …
          - `workflow` CoreWorkflowCondition[]
            - union
              - …
          - `lock` 'Unlocked' | 'Locked', required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `intentOrigin` 'UserSigned' | 'SystemSigned'
          - `type` 'v0_CreatePolicy', required
        - CoreV0CreateTicker
          - `ledgerId` string, required
          - `kind` 'Native' | 'Contract' | 'Token', required
          - `name` string, required
          - `decimals` integer
          - `symbol` string
          - `ledgerDetails` union, required
            - CoreTickerLedgerDetailsAlgorand
              - …
            - CoreTickerLedgerDetailsBitcoin
              - …
            - CoreTickerLedgerDetailsCardano
              - …
            - CoreTickerLedgerDetailsEthereum
              - …
            - CoreTickerLedgerDetailsHedera
              - …
            - CoreTickerLedgerDetailsSolana
              - …
            - CoreTickerLedgerDetailsStellar
              - …
            - CoreTickerLedgerDetailsSubstrate
              - …
            - CoreTickerLedgerDetailsTezos
              - …
            - CoreTickerLedgerDetailsTron
              - …
            - CoreTickerLedgerDetailsXRPL
              - …
          - `type` 'v0_CreateTicker', required
        - CoreV0CreateTransactionOrder
          - `id` string, uuid, required
          - `accountId` string, uuid, required
          - `ledgerId` string
          - `parameters` union, required
            - CoreTransactionOrderParametersAlgorand
              - …
            - CoreTransactionOrderParametersBitcoin
              - …
            - CoreTransactionOrderParametersBitcoinRedirect
              - …
            - CoreTransactionOrderParametersCardano
              - …
            - CoreTransactionOrderParametersEthereum
              - …
            - CoreTransactionOrderParametersHedera
              - …
            - CoreTransactionOrderParametersSolana
              - …
            - CoreTransactionOrderParametersStellar
              - …
            - CoreTransactionOrderParametersSubstrate
              - …
            - CoreTransactionOrderParametersTezos
              - …
            - CoreTransactionOrderParametersTron
              - …
            - CoreTransactionOrderParametersXRPL
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateTransactionOrder', required
        - CoreV0CreateTransferOrder
          - `id` string, uuid, required
          - `accountId` string, uuid, required
          - `tickerId` string, uuid, required
          - `outputs` CoreCreateTransferOrderOutput[], required
            - `destination` union, required
              - …
            - `amount` string, required — This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.
            - `paysFee` boolean
          - `feeStrategy` 'High' | 'Medium' | 'Low', required
          - `maximumFee` string — This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.
          - `preferredAddressForChange` 'PrimaryAddress' — Hint for specifically bitcoin ledgers to have the transaction happen with addressForChange PrimaryAddress - so change utxo goes to address \0\0 - aligned with dry-runs - rather than the default generate a new chain-internal address.
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateTransferOrder', required
        - CoreV0CreateUser
          - `id` string, uuid, required
          - `alias` string, required
          - `publicKey` string, base64, required
          - `roles` string[], required
          - `lock` 'Unlocked' | 'Locked', required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `loginIds` CoreLoginId[] — Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values.
            - `id` string, required — User identifier used by the provider.
            - `providerId` string, required — Login provider. For internal login, set to `harmonize`. For external identity providers, must match the provider name.
          - `type` 'v0_CreateUser', required
        - CoreV0CreateVault
          - `id` string, uuid, required
          - `alias` string, required
          - `parameters` union
            - CoreVaultParametersHSM
              - …
            - CoreVaultParametersMPC
              - …
          - `publicKey` string, base64, required
          - `lock` 'Unlocked' | 'Locked', required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateVault', required
        - CoreV0ExecuteExtension
          - `payload` object, required
          - `type` 'v0_ExecuteExtension', required
        - CoreV0LockAccount
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockAccount', required
        - CoreV0LockDomain
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockDomain', required
        - CoreV0LockEndpoint
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockEndpoint', required
        - CoreV0LockPolicy
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockPolicy', required
        - CoreV0LockTicker
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockTicker', required
        - CoreV0LockUser
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockUser', required
        - CoreV0LockVault
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockVault', required
        - CoreV0MigrateSilo3AccountBatch
          - `vaultId` string, uuid, required
          - `wasColdSilo` boolean, required
          - `wasTestSilo` boolean, required
          - `accounts` CoreV3AccountToMigrate[], required
            - `id` string, uuid, required
            - `alias` string, required
            - `description` string
            - `ledgerId` string, required
            - `lockStatus` 'Unlocked' | 'Locked', required
            - `publicId` string, required
            - `customProperties` CoreStringsMap, required
          - `type` 'v0_MigrateSilo3AccountBatch', required
        - CoreV0NotarizeData
          - `data` string, required
          - `type` 'v0_NotarizeData', required
        - CoreV0RegisterTrustedPublicKey
          - `publicKey` string, base64, required
          - `purpose` 'ApiSignatures' | 'TrustedCollectionSignatures' | 'MessagingSignatures' | 'SystemSignatures', required
          - `type` 'v0_RegisterTrustedPublicKey', required
        - CoreV0ReleaseQuarantinedTransfers
          - `accountId` string, uuid, required
          - `transferIds` string[], required
          - `type` 'v0_ReleaseQuarantinedTransfers', required
        - CoreV0RewrapVaultKeyMaterial
          - `vaultId` string, uuid, required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_RewrapVaultKeyMaterial', required
        - CoreV0SetSystemProperty
          - `revision` integer
          - `value` union, required
            - CoreReadWriteSystemPropertyKeyValueNotarySystemSignedIntentsEnabledProperty
              - …
            - CoreReadWriteSystemPropertyKeyValueStateReviewAuthorityProperty
              - …
          - `type` 'v0_SetSystemProperty', required
        - CoreV0SignManifest
          - `id` string, uuid, required
          - `accountId` string, uuid, required
          - `ledgerId` string
          - `content` union, required
            - CoreManifestContentEIP191
              - …
            - CoreManifestContentJWT
              - …
            - CoreManifestContentUnsafe
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_SignManifest', required
        - CoreV0UnlockAccount
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockAccount', required
        - CoreV0UnlockDomain
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockDomain', required
        - CoreV0UnlockEndpoint
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockEndpoint', required
        - CoreV0UnlockPolicy
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockPolicy', required
        - CoreV0UnlockTicker
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockTicker', required
        - CoreV0UnlockUser
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockUser', required
        - CoreV0UnlockVault
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockVault', required
        - CoreV0UpdateAccount
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `alias` string, required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_UpdateAccount', required
        - CoreV0UpdateDomain
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `alias` string, required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_UpdateDomain', required
        - CoreV0UpdateDomainPermissions
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `permissions` CorePermissions, required
            - `readAccess` CoreReadAccess, required
              - …
          - `type` 'v0_UpdateDomainPermissions', required
        - CoreV0UpdateEndpoint
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `address` string, required
          - `trustScore` integer, required
          - `ledgerId` string
          - `parameters` CoreEndpointLedgerParameters
            - `ABI` string — This field can be used to provide an Application Binary Interface (ABI) for EVM-based smart contracts, Ripple Custody's front-end uses the field to provide an extended support when interacting with smart contracts, therefore it is not recommended to submit invalid ABIs in this field but Ripple Custody will not prevent the submission of invalid ABIs to tolerate use cases outside of Ripple Custody's front-end.
            - `type` 'Ethereum', required
          - `alias` string, required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_UpdateEndpoint', required
        - CoreV0UpdateLedger
          - `reference` CoreEntityStringIdAndRevision, required
            - `id` string, required
            - `revision` integer, required
          - `alias` string, required
          - `parameters` union, required
            - CoreLedgerParametersAlgorand
              - …
            - CoreLedgerParametersBitcoin
              - …
            - CoreLedgerParametersCardano
              - …
            - CoreLedgerParametersEthereum
              - …
            - CoreLedgerParametersHedera
              - …
            - CoreLedgerParametersSolana
              - …
            - CoreLedgerParametersStellar
              - …
            - CoreLedgerParametersSubstrate
              - …
            - CoreLedgerParametersTezos
              - …
            - CoreLedgerParametersTron
              - …
            - CoreLedgerParametersXRPL
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_UpdateLedger', required
        - CoreV0UpdatePolicy
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `alias` string, required
          - `rank` integer, required
          - `intentTypes` CoreIntentType[]
          - `scope` 'Self' | 'Descendants' | 'SelfAndDescendants', required
          - `scriptingEngine` 'Javascript_v0', required
          - `condition` union
            - CorePolicyConditionAnd
              - …
            - CorePolicyConditionExpression
              - …
            - CorePolicyConditionOr
              - …
          - `workflow` CoreWorkflowCondition[]
            - union
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `intentOrigin` 'UserSigned' | 'SystemSigned'
          - `type` 'v0_UpdatePolicy', required
        - CoreV0UpdateTicker
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `name` string, required
          - `decimals` integer
          - `symbol` string
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_UpdateTicker', required
        - CoreV0UpdateUser
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `alias` string, required
          - `roles` string[], required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `loginIds` CoreLoginId[] — Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values.
            - `id` string, required — User identifier used by the provider.
            - `providerId` string, required — Login provider. For internal login, set to `harmonize`. For external identity providers, must match the provider name.
          - `type` 'v0_UpdateUser', required
        - CoreV0UpdateVault
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `alias` string, required
          - `parameters` union
            - CoreVaultParametersHSM
              - …
            - CoreVaultParametersMPC
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_UpdateVault', required
        - CoreV0ValidateTickers
          - `tickers` CoreTickerToValidate[], required
            - `id` string, uuid, required
            - `ledgerId` string, required
            - `kind` 'Native' | 'Contract' | 'Token', required
            - `name` string, required
            - `decimals` integer
            - `symbol` string
            - `ledgerDetails` union, required
              - …
            - `lock` 'Unlocked' | 'Locked', required
            - `description` string
            - `customProperties` CoreStringsMap, required
          - `type` 'v0_ValidateTickers', required
      - `description` string
      - `customProperties` CoreStringsMap, required
      - `type` 'SystemSigned', required
  - CoreUserSigned
    - `request` CorePropose, required
      - `author` CoreUserReference, required
        - `id` string, uuid, required
        - `domainId` string, uuid, required
      - `expiryAt` string, date-time, required
      - `targetDomainId` string, uuid, required
      - `id` string, uuid, required
      - `payload` union, required
        - CoreProposeV0CreateTransactionOrder
          - `id` string, uuid, required
          - `accountId` string, uuid, required
          - `ledgerId` string
          - `parameters` union, required
            - CoreTransactionOrderParametersAlgorand
              - …
            - CoreTransactionOrderParametersBitcoin
              - …
            - CoreTransactionOrderParametersCardano
              - …
            - CoreTransactionOrderParametersEthereum
              - …
            - CoreTransactionOrderParametersHedera
              - …
            - CoreTransactionOrderParametersSolana
              - …
            - CoreTransactionOrderParametersStellar
              - …
            - CoreTransactionOrderParametersSubstrate
              - …
            - CoreTransactionOrderParametersTezos
              - …
            - CoreTransactionOrderParametersTron
              - …
            - CoreTransactionOrderParametersXRPL
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateTransactionOrder', required
        - CoreV0AcknowledgeBackup
          - `backupId` string, uuid, required
          - `type` 'v0_AcknowledgeBackup', required
        - CoreV0AddAccountLedgers
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `ledgerIds` string[]
          - `type` 'v0_AddAccountLedgers', required
        - CoreV0AddTrustedPublicKeysForMigration
          - `newCollectionSigningPublicKey` string, base64, required
          - `newMessageSigningPublicKey` string, base64, required
          - `newApiSigningPublicKey` string, base64, required
          - `newKeyMaterial` string, required
          - `currentCollectionSigningPublicKey` string, base64, required
          - `currentCollectionSigningPublicKeySignature` string, base64, required
          - `type` 'v0_AddTrustedPublicKeysForMigration', required
        - CoreV0AttemptTransactionOrderCancellation
          - `targetTransactionOrderId` string, uuid, required
          - `replacementTransactionOrderId` string, uuid, required
          - `reason` string, required
          - `maximumFee` string — This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.
          - `type` 'v0_AttemptTransactionOrderCancellation', required
        - CoreV0CreateAccount
          - `id` string, uuid, required
          - `alias` string, required
          - `providerDetails` CoreV0CreateAccountProviderDetailsPayload, required
            - `vaultId` string, uuid, required
            - `keyStrategy` 'VaultHard' | 'VaultSoft' | 'Random', required
            - `type` 'Vault', required
          - `ledgerId` string
          - `ledgerIds` string[]
          - `lock` 'Unlocked' | 'Locked', required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateAccount', required
        - CoreV0CreateBackup
          - `id` string, uuid, required
          - `parameters` union, required
            - CoreVaultBackupParametersVaultHsm
              - …
            - CoreVaultBackupParametersVaultMpc
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateBackup', required
        - CoreV0CreateDomain
          - `id` string, uuid, required
          - `alias` string, required
          - `lock` 'Unlocked' | 'Locked', required
          - `governingStrategy` 'ConsiderDescendants' | 'CoerceDescendants'
          - `permissions` CorePermissions, required
            - `readAccess` CoreReadAccess, required
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `users` CoreCreateDomainGenesisUser[], required
            - `id` string, uuid, required
            - `alias` string, required
            - `publicKey` string, base64, required
            - `roles` string[], required
            - `lock` 'Unlocked' | 'Locked', required
            - `description` string
            - `customProperties` CoreStringsMap, required
            - `loginIds` CoreLoginId[] — Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values.
              - …
          - `policies` CoreCreateDomainGenesisPolicy[], required
            - `id` string, uuid, required
            - `alias` string, required
            - `rank` integer, required
            - `intentTypes` CoreIntentType[]
            - `scope` 'Self' | 'Descendants' | 'SelfAndDescendants', required
            - `scriptingEngine` 'Javascript_v0', required
            - `condition` union
              - …
            - `workflow` CoreWorkflowCondition[]
              - …
            - `lock` 'Unlocked' | 'Locked', required
            - `description` string
            - `customProperties` CoreStringsMap, required
            - `intentOrigin` 'UserSigned' | 'SystemSigned'
          - `childrenDomainIds` string[] — List of `domainId` values to reparent under the new domain. Populate this field only for domain injection.
          - `type` 'v0_CreateDomain', required
        - CoreV0CreateEndpoint
          - `id` string, uuid, required
          - `address` string, required
          - `trustScore` integer, required
          - `ledgerId` string, required
          - `parameters` CoreEndpointLedgerParameters
            - `ABI` string — This field can be used to provide an Application Binary Interface (ABI) for EVM-based smart contracts, Ripple Custody's front-end uses the field to provide an extended support when interacting with smart contracts, therefore it is not recommended to submit invalid ABIs in this field but Ripple Custody will not prevent the submission of invalid ABIs to tolerate use cases outside of Ripple Custody's front-end.
            - `type` 'Ethereum', required
          - `alias` string, required
          - `lock` 'Unlocked' | 'Locked', required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateEndpoint', required
        - CoreV0CreateLedger
          - `id` string, required
          - `alias` string, required
          - `parameters` union, required
            - CoreLedgerParametersAlgorand
              - …
            - CoreLedgerParametersBitcoin
              - …
            - CoreLedgerParametersCardano
              - …
            - CoreLedgerParametersEthereum
              - …
            - CoreLedgerParametersHedera
              - …
            - CoreLedgerParametersSolana
              - …
            - CoreLedgerParametersStellar
              - …
            - CoreLedgerParametersSubstrate
              - …
            - CoreLedgerParametersTezos
              - …
            - CoreLedgerParametersTron
              - …
            - CoreLedgerParametersXRPL
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateLedger', required
        - CoreV0CreatePolicy
          - `id` string, uuid, required
          - `alias` string, required
          - `rank` integer, required
          - `intentTypes` CoreIntentType[]
          - `scope` 'Self' | 'Descendants' | 'SelfAndDescendants', required
          - `scriptingEngine` 'Javascript_v0', required
          - `condition` union
            - CorePolicyConditionAnd
              - …
            - CorePolicyConditionExpression
              - …
            - CorePolicyConditionOr
              - …
          - `workflow` CoreWorkflowCondition[]
            - union
              - …
          - `lock` 'Unlocked' | 'Locked', required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `intentOrigin` 'UserSigned' | 'SystemSigned'
          - `type` 'v0_CreatePolicy', required
        - CoreV0CreateTicker
          - `ledgerId` string, required
          - `kind` 'Native' | 'Contract' | 'Token', required
          - `name` string, required
          - `decimals` integer
          - `symbol` string
          - `ledgerDetails` union, required
            - CoreTickerLedgerDetailsAlgorand
              - …
            - CoreTickerLedgerDetailsBitcoin
              - …
            - CoreTickerLedgerDetailsCardano
              - …
            - CoreTickerLedgerDetailsEthereum
              - …
            - CoreTickerLedgerDetailsHedera
              - …
            - CoreTickerLedgerDetailsSolana
              - …
            - CoreTickerLedgerDetailsStellar
              - …
            - CoreTickerLedgerDetailsSubstrate
              - …
            - CoreTickerLedgerDetailsTezos
              - …
            - CoreTickerLedgerDetailsTron
              - …
            - CoreTickerLedgerDetailsXRPL
              - …
          - `type` 'v0_CreateTicker', required
        - CoreV0CreateTransferOrder
          - `id` string, uuid, required
          - `accountId` string, uuid, required
          - `tickerId` string, uuid, required
          - `outputs` CoreCreateTransferOrderOutput[], required
            - `destination` union, required
              - …
            - `amount` string, required — This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.
            - `paysFee` boolean
          - `feeStrategy` 'High' | 'Medium' | 'Low', required
          - `maximumFee` string — This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.
          - `preferredAddressForChange` 'PrimaryAddress' — Hint for specifically bitcoin ledgers to have the transaction happen with addressForChange PrimaryAddress - so change utxo goes to address \0\0 - aligned with dry-runs - rather than the default generate a new chain-internal address.
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateTransferOrder', required
        - CoreV0CreateUser
          - `id` string, uuid, required
          - `alias` string, required
          - `publicKey` string, base64, required
          - `roles` string[], required
          - `lock` 'Unlocked' | 'Locked', required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `loginIds` CoreLoginId[] — Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values.
            - `id` string, required — User identifier used by the provider.
            - `providerId` string, required — Login provider. For internal login, set to `harmonize`. For external identity providers, must match the provider name.
          - `type` 'v0_CreateUser', required
        - CoreV0CreateVault
          - `id` string, uuid, required
          - `alias` string, required
          - `parameters` union
            - CoreVaultParametersHSM
              - …
            - CoreVaultParametersMPC
              - …
          - `publicKey` string, base64, required
          - `lock` 'Unlocked' | 'Locked', required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_CreateVault', required
        - CoreV0ExecuteExtension
          - `payload` object, required
          - `type` 'v0_ExecuteExtension', required
        - CoreV0LockAccount
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockAccount', required
        - CoreV0LockDomain
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockDomain', required
        - CoreV0LockEndpoint
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockEndpoint', required
        - CoreV0LockPolicy
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockPolicy', required
        - CoreV0LockTicker
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockTicker', required
        - CoreV0LockUser
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockUser', required
        - CoreV0LockVault
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_LockVault', required
        - CoreV0MigrateSilo3AccountBatch
          - `vaultId` string, uuid, required
          - `wasColdSilo` boolean, required
          - `wasTestSilo` boolean, required
          - `accounts` CoreV3AccountToMigrate[], required
            - `id` string, uuid, required
            - `alias` string, required
            - `description` string
            - `ledgerId` string, required
            - `lockStatus` 'Unlocked' | 'Locked', required
            - `publicId` string, required
            - `customProperties` CoreStringsMap, required
          - `type` 'v0_MigrateSilo3AccountBatch', required
        - CoreV0NotarizeData
          - `data` string, required
          - `type` 'v0_NotarizeData', required
        - CoreV0RegisterTrustedPublicKey
          - `publicKey` string, base64, required
          - `purpose` 'ApiSignatures' | 'TrustedCollectionSignatures' | 'MessagingSignatures' | 'SystemSignatures', required
          - `type` 'v0_RegisterTrustedPublicKey', required
        - CoreV0ReleaseQuarantinedTransfers
          - `accountId` string, uuid, required
          - `transferIds` string[], required
          - `type` 'v0_ReleaseQuarantinedTransfers', required
        - CoreV0RewrapVaultKeyMaterial
          - `vaultId` string, uuid, required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_RewrapVaultKeyMaterial', required
        - CoreV0SetSystemProperty
          - `revision` integer
          - `value` union, required
            - CoreReadWriteSystemPropertyKeyValueNotarySystemSignedIntentsEnabledProperty
              - …
            - CoreReadWriteSystemPropertyKeyValueStateReviewAuthorityProperty
              - …
          - `type` 'v0_SetSystemProperty', required
        - CoreV0SignManifest
          - `id` string, uuid, required
          - `accountId` string, uuid, required
          - `ledgerId` string
          - `content` union, required
            - CoreManifestContentEIP191
              - …
            - CoreManifestContentJWT
              - …
            - CoreManifestContentUnsafe
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_SignManifest', required
        - CoreV0UnlockAccount
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockAccount', required
        - CoreV0UnlockDomain
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockDomain', required
        - CoreV0UnlockEndpoint
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockEndpoint', required
        - CoreV0UnlockPolicy
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockPolicy', required
        - CoreV0UnlockTicker
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockTicker', required
        - CoreV0UnlockUser
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockUser', required
        - CoreV0UnlockVault
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `type` 'v0_UnlockVault', required
        - CoreV0UpdateAccount
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `alias` string, required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_UpdateAccount', required
        - CoreV0UpdateDomain
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `alias` string, required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_UpdateDomain', required
        - CoreV0UpdateDomainPermissions
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `permissions` CorePermissions, required
            - `readAccess` CoreReadAccess, required
              - …
          - `type` 'v0_UpdateDomainPermissions', required
        - CoreV0UpdateEndpoint
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `address` string, required
          - `trustScore` integer, required
          - `ledgerId` string
          - `parameters` CoreEndpointLedgerParameters
            - `ABI` string — This field can be used to provide an Application Binary Interface (ABI) for EVM-based smart contracts, Ripple Custody's front-end uses the field to provide an extended support when interacting with smart contracts, therefore it is not recommended to submit invalid ABIs in this field but Ripple Custody will not prevent the submission of invalid ABIs to tolerate use cases outside of Ripple Custody's front-end.
            - `type` 'Ethereum', required
          - `alias` string, required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_UpdateEndpoint', required
        - CoreV0UpdateLedger
          - `reference` CoreEntityStringIdAndRevision, required
            - `id` string, required
            - `revision` integer, required
          - `alias` string, required
          - `parameters` union, required
            - CoreLedgerParametersAlgorand
              - …
            - CoreLedgerParametersBitcoin
              - …
            - CoreLedgerParametersCardano
              - …
            - CoreLedgerParametersEthereum
              - …
            - CoreLedgerParametersHedera
              - …
            - CoreLedgerParametersSolana
              - …
            - CoreLedgerParametersStellar
              - …
            - CoreLedgerParametersSubstrate
              - …
            - CoreLedgerParametersTezos
              - …
            - CoreLedgerParametersTron
              - …
            - CoreLedgerParametersXRPL
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_UpdateLedger', required
        - CoreV0UpdatePolicy
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `alias` string, required
          - `rank` integer, required
          - `intentTypes` CoreIntentType[]
          - `scope` 'Self' | 'Descendants' | 'SelfAndDescendants', required
          - `scriptingEngine` 'Javascript_v0', required
          - `condition` union
            - CorePolicyConditionAnd
              - …
            - CorePolicyConditionExpression
              - …
            - CorePolicyConditionOr
              - …
          - `workflow` CoreWorkflowCondition[]
            - union
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `intentOrigin` 'UserSigned' | 'SystemSigned'
          - `type` 'v0_UpdatePolicy', required
        - CoreV0UpdateTicker
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `name` string, required
          - `decimals` integer
          - `symbol` string
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_UpdateTicker', required
        - CoreV0UpdateUser
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `alias` string, required
          - `roles` string[], required
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `loginIds` CoreLoginId[] — Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values.
            - `id` string, required — User identifier used by the provider.
            - `providerId` string, required — Login provider. For internal login, set to `harmonize`. For external identity providers, must match the provider name.
          - `type` 'v0_UpdateUser', required
        - CoreV0UpdateVault
          - `reference` CoreEntityIdAndRevision, required
            - `id` string, uuid, required
            - `revision` integer, required
          - `alias` string, required
          - `parameters` union
            - CoreVaultParametersHSM
              - …
            - CoreVaultParametersMPC
              - …
          - `description` string
          - `customProperties` CoreStringsMap, required
          - `type` 'v0_UpdateVault', required
        - CoreV0ValidateTickers
          - `tickers` CoreTickerToValidate[], required
            - `id` string, uuid, required
            - `ledgerId` string, required
            - `kind` 'Native' | 'Contract' | 'Token', required
            - `name` string, required
            - `decimals` integer
            - `symbol` string
            - `ledgerDetails` union, required
              - …
            - `lock` 'Unlocked' | 'Locked', required
            - `description` string
            - `customProperties` CoreStringsMap, required
          - `type` 'v0_ValidateTickers', required
      - `description` string
      - `customProperties` CoreStringsMap, required
      - `type` 'Propose', required
    - `signature` string, base64, required

## Response `202`

Accepted

- CoreIntentResponse
  - `requestId` string, uuid, required

## Other responses

- `400` — One of: Domain locked (DomainLockedError); Intent expired (ExpiredRequestError); Invalid intent (InvalidIntentError); Invalid intent body discriminator (InvalidDiscriminator); Invalid request (InvalidRequestError); Missing system-signed fields (MissingSystemSignedFields); Missing user-signed fields (MissingUserSignedFields); Requester locked (RequesterLockedError); Unexpected system-signed fields (UnexpectedSystemSignedFields)
- `401` — One of: Invalid JWT (InvalidJwtError); Invalid signature (InvalidSignatureError); User not authorized (PermissionDeniedError)
- `403` — System-signed intents are disabled (SystemSignedDisabled)
- `404` — Entity or Domain not found (EntityNotFoundError)
- `409` — Request already exists (ConflictingRequestIdError)
- `503` — Service unavailable (ServiceUnavailable)

---

[API](https://skmtc.net/ripple/apis/ripple-custody-api.md) · [All operations](https://skmtc.net/ripple/apis/ripple-custody-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ripple/ripple-custody-api/revisions/410038300d74/schema)
