From 26b05bd834efbeff2ac026586f6662f15f10d27c Mon Sep 17 00:00:00 2001
From: "dev-portal-updater[bot]"
<149019135+dev-portal-updater[bot]@users.noreply.github.com>
Date: Fri, 22 Nov 2024 22:04:00 +0000
Subject: [PATCH] feat: update `bitgo-api-docs` This commit updates the BitGo
API.
---
api.yaml | 55886 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55886 insertions(+)
create mode 100644 api.yaml
diff --git a/api.yaml b/api.yaml
new file mode 100644
index 0000000..4176b3e
--- /dev/null
+++ b/api.yaml
@@ -0,0 +1,55886 @@
+openapi: 3.0.3
+info:
+ title: Platform Temp
+ version: 1.0.0
+servers:
+ - url: ''
+tags:
+ - name: Broker Support
+ - name: Compliance Transaction Monitoring
+ - name: CryptoCompare
+ description: CryptoCompare is a partner API from CryptoCompare that you can use to compare prices of cryptocurrency, tokens, and fiat.
+ - name: DAS
+ - name: MetaMask Institutional
+ description: Returns MetaMask Institutional (MMI) related data for a specific wallet's address.
+ - name: Fiat
+ - name: Market data
+ description: Market data is an internal REST API that you can use to compare the prices of cryptocurrency, tokens, and fiat.
+ - name: Address
+ - name: Admin
+ - name: Audit log
+ - name: Bank account
+ description: Manage links to external bank accounts
+ - name: Circuit breaker
+ description: |
+ An internal limit placed on transfers out of a wallet. Circuit breakers can
+ be defined at 3 levels:
+
+ * Global
+ * Enterprise
+ * Wallet
+
+ A lower-level circuit breaker overrides all higher-level circuit breakers.
+ Global circuit breakers apply by default. An enterprise circuit breaker
+ overrides all global circuit breakers. A wallet circuit breaker overrides
+ all enterprise and global circuit breakers.
+ - name: Config
+ - name: Enterprise
+ - name: Deposit Information
+ - name: Express
+ - name: Federation
+ description: |
+ Implementation of the [Stellar Federation protocol.](https://www.stellar.org/developers/guides/concepts/federation.html)
+
+ The Stellar Federation protocol maps Stellar addresses to more information about a given user. It’s a way for Stellar client software to resolve email-like addresses such as test*bitgo.com into account IDs like: GCTTCPH4IIDK7P72FFAEJ3ZFN6WDHJH6GGMRPHPM56ZWGIQ7B3XTIJAM.
+ - name: Key
+ - name: LegacyReports
+ - name: Lightning
+ description: |
+ (Experimental) Lightning network related endpoints.
+ - name: Overview
+ x-external-text:
+ - property: description
+ path: ../shared/text/InfoDescription.md
+ - name: Password reset
+ - name: Pending approval
+ - name: Policy
+ - name: Products
+ - name: Reports
+ - name: Send label
+ - name: Signing policy
+ description: |
+ A signing policy includes signing and update requirements, which specifies the minimum
+ number of cryptographic signatures, m, needed from a list of trusted public keys before
+ they can make a transaction or update the policy itself. Signing policy provides extra security.
+ It is BitGo's way of ensuring the transaction has been indeed authorized by the user and approved
+ by a quorum of decision makers from the user's side before co-signing the transaction.
+ - name: Transfer
+ - name: Transaction request
+ - name: TSS wallets
+ - name: User
+ - name: User Management
+ - name: User group
+ - name: User group member
+ - name: User group wallet
+ - name: Wallet
+ - name: Wallet events
+ description: |
+ A Wallet Event models any and all types of state-changes that pertain
+ to a single wallet.
+
+ Such events tie into the Data Team's proposed Event-Driven Architecture.
+
+ By modeling state-changes in our services as events, it affords us the ability
+ to bill users for all state-changes. This ensures that our billing service will
+ scale to support new types of products.
+ - name: Stripe
+ description: |
+ Stripe APIs expose wallet platfrom to Stripe's payment APIs.
+
+ These endpoints are used to wrap Stripe's functionality so that any
+ BitGo service can leverage Stripe in its solutions without having to
+ maintain additional secret keys or worry about implementation details.
+ - name: Wallet share
+ description: |
+ Sharing a wallet involves giving another user permission to use the wallet.
+
+ In order for the receiver to use the wallet, we also need to share the
+ private key with them. Each user on BitGo creates
+ a public-private keypair for this purpose during their signup process.
+
+ The BitGo SDK does the following client-side to create a new wallet share:
+
+ * Get the receiving user’s sharing key (a derived path of the receiver’s public key)
+ * Decrypt the wallet to be shared locally
+ * Re-encrypt the wallet against the public key above, so that only the receiver may decrypt it
+ * Upload the encrypted keys to the BitGo service, which informs the receiver they have a pending share
+ - name: Webhook
+ description: |
+ Webhooks may be setup to programmatically receive callbacks from BitGo. These may be attached to wallets (in the case of transfers), or to a block (for block notifications). Webhook notifications are triggered when the specified event occurs, such as an incoming transaction.
+
+ BitGo servers will make a POST http request to the URL defined with a JSON payload, and expect a HTTP 200 OK. If a successful response is not received, BitGo will attempt to retry the webhook with an increasing delay between each retry.
+
+ Since anyone on the Internet can send HTTP requests to the Webhook URL, the request body payload should not be trusted. Please verify any information sent in the webhook by fetching the transfer/block data from BitGo before processing the notification.
+
+ Developers should take care to ensure that their application succeeds even in the cases of transient network error, or if receive the same webhook twice due to an improper acknowledgement.
+ - name: Trade REST API
+ description: |-
+ ## Rate-Limiting
+ All REST endpoints are rate-limited to 10 requests/second. Once the limit is reached, requests will be rejected with '429 Too Many Requests'
+
+ The following headers are returned on every request
| Header | Description |
| X-Ratelimit-Limit | Request limit per second |
| X-Ratelimit-Remaining | Remaining number of requests allowed in interval |
| X-Ratelimit-Reset | Duration in milliseconds until the total quota resets |
+ The following header is also returned if the response is '429 Too Many Requests' | Header | Description |
| Retry-After | Duration in seconds of how long to wait before making a new request |
+ - name: Staking Request
+ description: API to create, retrieve staking requests, and retrieve staking request transactions. A staking request can be of type STAKE or UNSTAKE.
+ - name: Staking State Information
+ description: API to retrieve staking state information like balances and attributes.
+ - name: Staking History
+ description: API to retrieve staking and reward history.
+ - name: Trade Falcon
+ description: Service for our trading platform
+paths:
+ /api/v2/{coin}/pendingapprovals/{approvalId}:
+ put:
+ tags:
+ - Express
+ summary: Resolve pending approval
+ operationId: express.pendingapprovals
+ description: Accept or reject a pending approval
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathApprovalId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressResolvePendingApprovalRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval'
+ /api/v2/{coin}/wallet/{walletId}/webhooks:
+ get:
+ tags:
+ - Webhook
+ summary: List wallet webhooks
+ description: |
+ List webhooks set up on the wallet. Currently, the types of
+ webhooks that can be attached to a wallet are 'transfer',
+ 'pendingapproval', and 'address_confirmation' notifications.
+ operationId: v2.wallet.listwebhooks
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ webhooks:
+ type: array
+ items:
+ allOf:
+ - $ref: '#/components/schemas/Webhook'
+ - type: object
+ properties:
+ walletId:
+ $ref: '#/components/schemas/Id'
+ allToken:
+ type: boolean
+ example: false
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidWalletId'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/listWalletWebhooks.js
+ delete:
+ tags:
+ - Webhook
+ summary: Remove wallet webhook
+ description: |
+ Removing a webhook will cause new events of the specified type to no
+ longer trigger HTTP callbacks to your URLs
+ operationId: v2.wallet.removewebhook
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ type:
+ $ref: '#/components/schemas/WebhookTypeWallet'
+ url:
+ type: string
+ format: uri
+ example: https://your.server.com/user_webhook
+ id:
+ $ref: '#/components/schemas/Id'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ removed:
+ type: integer
+ example: 1
+ description: Number of wallet webhooks removed.
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidWalletId'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/removeWalletWebhook.js
+ post:
+ summary: Add wallet webhook
+ description: |-
+ Add a webhook to a wallet that sends an HTTP callback from BitGo to a specified URL when specific conditions occur.
+ A wallet can have up to 10 webhooks of each wallet-webhook type.
+
+ Wallet-webhook types:
+ 1. **Address confirmation** - An address initializes on chain (ETH and XRP only).
+ 2. **Pending approval** - A wallet-level policy-triggering event occurs (such as a withdrawal, user change,
+ policy change, pending approval state updates, and so forth).
+
+ 3. **Transaction request** - A transaction request state changes.
+ 4. **Transfer** - Any transfer occurs.
+
+ **Note:** Unconfirmed webhook notifications don't trigger for [RBF](https://bitcoinops.org/en/topics/replace-by-fee/) transactions,
+ or if a transaction confirms on chain immediately after it's sent. BitGo doesn't send 'unconfirmed' notifications in these cases.
+ operationId: v2.wallet.addwebhook
+ tags:
+ - Webhook
+ parameters:
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinNonEmptyString'
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ type:
+ allOf:
+ - $ref: '#/components/schemas/WalletWebhookType'
+ description: Event type to listen to.
+ url:
+ type: string
+ description: URL to fire the webhook to.
+ example: https://your.server.com/webhook
+ minLength: 1
+ format: uri
+ label:
+ type: string
+ description: Label of the new webhook.
+ numConfirmations:
+ type: number
+ description: Number of confirmations before triggering the webhook. If 0 or unspecified, requests will be sent to the callback endpoint when the transfer is first seen and when it is confirmed.
+ example: 6
+ allToken:
+ type: boolean
+ default: false
+ description: Triggers on coin transfers and token transfers for ETH and Stellar.
+ listenToFailureStates:
+ type: boolean
+ description: Whether or not to listen to failed transactions on chain.
+ txRequestStates:
+ type: array
+ items:
+ type: string
+ enum:
+ - pendingApproval
+ - canceled
+ - rejected
+ - initialized
+ - pendingDelivery
+ - delivered
+ - pendingUserSignature
+ - pendingUserCommitment
+ - pendingUserRShare
+ - pendingUserGShare
+ - readyToSend
+ - signed
+ - failed
+ description: If supplied, only transaction request state changes from the provided list will trigger notifications. If not provided, all transaction request state changes will trigger notifications.
+ txRequestTransactionStates:
+ type: array
+ items:
+ type: string
+ enum:
+ - initialized
+ - pendingSignature
+ - eddsaPendingCommitment
+ - eddsaPendingRShare
+ - eddsaPendingGShare
+ - ecdsaMPCv2Round1
+ - ecdsaMPCv2Round2
+ - ecdsaMPCv2Round3
+ - readyToCombineShares
+ - signed
+ - held
+ - delivered
+ - invalidSignature
+ - rejected
+ description: If supplied, only transaction request transaction state changes from the provided list will trigger notifications. If not provided, all transaction request transaction state changes will trigger notifications.
+ required:
+ - type
+ - url
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Webhook'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/{coin}/walletshare/{shareId}:
+ get:
+ tags:
+ - Wallet share
+ summary: Get wallet share
+ description: Returns a wallet share, requires unlock if the wallet share includes a keychain.
+ operationId: v2.wallet.sharing.getshare
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathShareId'
+ - name: skipUnlock
+ in: query
+ description: True, if skipping unlock. Excludes keychain in response.
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletShare'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/getWalletShare.js
+ post:
+ tags:
+ - Wallet share
+ summary: Update a wallet share
+ operationId: v2.wallet.sharing.updateshare
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathShareId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/WalletShareState'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateWalletShareResponse'
+ delete:
+ summary: Cancel a wallet share
+ description: |-
+ Cancels a pending outgoing wallet share, or rejects an incoming share.
+ The share must not have been accepted yet.
+ operationId: v2.wallet.sharing.cancelshare
+ tags:
+ - Wallet
+ parameters:
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinNonEmptyString'
+ - name: shareId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateWalletShareResponse'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/enterprise:
+ get:
+ summary: List enterprises
+ operationId: enterprise.list
+ tags:
+ - Enterprise
+ parameters:
+ - name: expandTotalWalletCounts
+ description: True, if returning the total number of wallets for each enterprise.
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: excludeWalletMemberships
+ description: True, if excluding enterprises that the user joined only through wallet memberships.
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/EnterprisesResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/enterprise/{enterpriseId}:
+ put:
+ tags:
+ - Enterprise
+ summary: Update enterprise
+ operationId: enterprise.update
+ parameters:
+ - $ref: '#/components/parameters/pathEnterpriseId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateEnterprise'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Enterprise'
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1PendingApproval'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ get:
+ summary: Get enterprise
+ operationId: enterprise.getById
+ tags:
+ - Enterprise
+ parameters:
+ - name: excludeV1Wallets
+ description: True, if excluding "wallets" field containing v1 wallet addresses from the enterprise
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: expandTotalWalletsCount
+ description: True, if returning the total number of wallets for this enterprise
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/EnterpriseIdString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GetEnterpriseResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/enterprise/{enterpriseId}/user:
+ delete:
+ tags:
+ - Enterprise
+ summary: Remove user from enterprise
+ operationId: v2.enterprise.user.remove
+ parameters:
+ - $ref: '#/components/parameters/pathEnterpriseId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeleteEnterpriseUser'
+ responses:
+ '200':
+ description: OK
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ pendingApprovals:
+ type: array
+ items:
+ $ref: '#/components/schemas/PendingApproval'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidEnterpriseId'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ post:
+ summary: Add user to enterprise
+ operationId: v2.enterprise.user.add
+ tags:
+ - User
+ parameters:
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/EnterpriseIdString'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - type: object
+ properties:
+ permission:
+ type: string
+ enum:
+ - admin
+ videoIdUser:
+ type: boolean
+ invite:
+ type: boolean
+ - oneOf:
+ - type: object
+ properties:
+ username:
+ type: string
+ description: The username of a user that should be added to the enteprrise
+ format: email
+ videoIdUser:
+ type: boolean
+ required:
+ - username
+ - type: object
+ properties:
+ usernames:
+ type: array
+ items:
+ type: string
+ description: Thes Username of a User that should be added to the Enterprise
+ videoIdUser:
+ type: boolean
+ required:
+ - usernames
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidEnterpriseId'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ put:
+ summary: Update users role in an enterprise
+ description: Update a users role in an enterprise. Must be an enterprise manager to perform this action.
+ operationId: v2.enterprise.user.update
+ tags:
+ - User Management
+ parameters:
+ - name: userId
+ description: ''
+ in: query
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ - name: role
+ in: query
+ required: true
+ schema:
+ $ref: '#/components/schemas/EnterpriseUserRole'
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/EnterpriseIdString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema: {}
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidOrganizationId'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/pendingapprovals/{approvalId}:
+ put:
+ tags:
+ - Pending approval
+ summary: Update pending approval
+ description: |
+ Updates the state of a pending approval to 'approved' or 'rejected'.
+ You can manage pending approvals programmatically by API or with the
+ BigGo web UI. Ensure your authentication token has the proper scope.
+ When creating an access token in the web UI, check the permission,
+ "Update Pending Approvals" (under "Account Settings" > "Developer
+ Options" > "Access Tokens").
+
+ BitGo recommends that you create a webhook policy so that you can
+ automate approving and rejecting transactions.
+ operationId: v2.approval.update
+ parameters:
+ - $ref: '#/components/parameters/pathApprovalId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ otp:
+ type: string
+ state:
+ type: string
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval'
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval'
+ get:
+ summary: Get pending approval
+ operationId: v2.approval.get
+ tags:
+ - Pending approval
+ parameters:
+ - name: expandAddressLabels
+ description: If true, adds "addressLabels" to each returned pending approval associated with recipient's addresses
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: approvalId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/user/accesstoken:
+ get:
+ tags:
+ - User
+ summary: List access tokens
+ description: List all access tokens for a user
+ operationId: user.listaccesstokens
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ accessTokens:
+ $ref: '#/components/schemas/Session'
+ post:
+ summary: Create access token
+ description: Create an access token to use BitGo APIs. Access tokens in the production environment are restricted to specific IP addresses, but access tokens for the test environment are not. If you omit a spending limit, you must unlock the token using the [Unlock session](https://developers.bitgo.com/api/user.unlock) endpoint on a regular basis to permit operations such as withdrawals. Therefore, BitGo recommends including a spending limit.
+ operationId: v2.accesstoken.add
+ tags:
+ - User
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ scope:
+ oneOf:
+ - type: array
+ items:
+ type: string
+ enum:
+ - openid
+ - openid_enterprises
+ - profile
+ - user_manage
+ - enterprise_view_all
+ - enterprise_manage_all
+ - wallet_view
+ - wallet_view_enterprise
+ - wallet_view_all
+ - wallet_create
+ - wallet_freeze
+ - wallet_freeze_all
+ - wallet_manage
+ - wallet_manage_all
+ - wallet_approve
+ - wallet_approve_all
+ - wallet_spend
+ - wallet_spend_all
+ - wallet_edit
+ - wallet_edit_all
+ - wallet_stake
+ - wallet_stake_all
+ - wallet_edit_enterprise
+ - wallet_spend_enterprise
+ - wallet_approve_enterprise
+ - wallet_manage_enterprise
+ - settlement_network_read
+ - settlement_network_write
+ - portfolio_view
+ - trade_view
+ - trade_trade
+ - pending_approval_update
+ - metamask_institutional
+ - crypto_compare
+ - third_party_user_lookup
+ - private_verify_email
+ - all
+ - type: array
+ items:
+ type: string
+ description: The permissions granted by this access token.
+ duration:
+ type: number
+ description: The duration of the access token in seconds.
+ label:
+ type: string
+ description: A label for the access token.
+ admin:
+ type: boolean
+ description: True, if this access token has admin permissions.
+ ipRestrict:
+ nullable: true
+ type: array
+ items:
+ type: string
+ description: Restricts the access token to use only from the provided IP addresses. Required for access tokens in the production environment. Not required for access tokens in the test environment.
+ enterprise:
+ type: string
+ description: The enterprise ID that the user belongs to.
+ spendingLimits:
+ type: array
+ items:
+ type: object
+ properties:
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ maxLimit:
+ type: boolean
+ txValueLimit:
+ oneOf:
+ - type: string
+ - type: number
+ required:
+ - coin
+ - txValueLimit
+ allErc20TokensLimit:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ maxLimit:
+ type: boolean
+ txValueLimit:
+ oneOf:
+ - type: string
+ - type: number
+ required:
+ - label
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AccessTokenResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/user/session:
+ get:
+ summary: Get session
+ description: Returns the session associated with access token passed via the 'Authorization' header.
+ operationId: user.getsession
+ tags:
+ - User
+ parameters: []
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ session:
+ $ref: '#/components/schemas/OAuthAccessToken'
+ required:
+ - session
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/txrequests:
+ post:
+ tags:
+ - Transaction request
+ summary: Create transaction request
+ description: Allows users to create a transaction request given they have spender permissions on the wallet. Use only with MPC wallets. For multisignature wallets, use [Build a transaction](/api/v2.wallet.tx.build).
+ operationId: v2.wallet.txrequest.create
+ parameters:
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateTransactionRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TransactionRequest'
+ '201':
+ description: Created
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TransactionRequest'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ get:
+ summary: Get transaction requests by wallet
+ description: Get a paginated list of transaction requests filtered by wallet. Use only with MPC wallets.
+ operationId: v2.wallet.txrequest.get
+ tags:
+ - Transaction request
+ parameters:
+ - name: txRequestIds
+ description: If provided, only transaction requests specified will be returned.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ description: If provided, only transaction requests specified will be returned.
+ - name: idempotencyKeys
+ description: If provided, only transaction requests with the matching idempotencyKeys will be returned.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ description: If provided, only transaction requests with the matching idempotencyKeys will be returned.
+ - name: sequenceIds
+ description: A "sequenceId" is a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With a "sequenceId" you can easily reference transfers and transactions—for example, to safely retry sending. Because the system only confirms one send request per "sequenceId" (and fails all subsequent attempts), you can retry sending without the risk of double spending. The "sequenceId" is only visible to users on the wallet and is not shared publicly.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ description: A "sequenceId" is a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With a "sequenceId" you can easily reference transfers and transactions—for example, to safely retry sending. Because the system only confirms one send request per "sequenceId" (and fails all subsequent attempts), you can retry sending without the risk of double spending. The "sequenceId" is only visible to users on the wallet and is not shared publicly.
+ - name: states
+ description: If provided, only transaction requests of the specified state will be returned.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - pendingApproval
+ - canceled
+ - rejected
+ - initialized
+ - pendingDelivery
+ - delivered
+ - pendingUserSignature
+ - pendingUserCommitment
+ - pendingUserRShare
+ - pendingUserGShare
+ - readyToSend
+ - signed
+ - failed
+ description: If provided, only transaction requests of the specified state will be returned.
+ - name: latest
+ description: If provided, only the latest transaction request version will be returned.
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: limit
+ description: Maximum number of results to return. If the result set is truncated, use the "nextBatchPrevId" value to get the next batch.
+ in: query
+ schema:
+ type: string
+ default: '25'
+ minimum: 1
+ maximum: 500
+ format: number
+ - name: prevId
+ description: Return the next batch of results, based on the "nextBatchPrevId" value from the previous batch.
+ in: query
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ - name: version
+ in: query
+ schema:
+ type: string
+ format: number
+ - name: sortBy
+ description: Sorts by specified field, default sorting by id.
+ in: query
+ schema:
+ type: string
+ enum:
+ - id
+ - createdDate
+ - name: sortDirection
+ description: Sorts order by field in specified sort direction, default ascending.
+ in: query
+ schema:
+ type: string
+ enum:
+ - ASC
+ - DESC
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GetTransactionRequestsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/address-book/v1/connections:
+ post:
+ summary: Add Go Account connection
+ description: |-
+ Add a connection for your Go Account to another Go Account.
+ To connect to a Go Account that's not listed in the public directory, pass a 'walletId'.
+ To connect to a Go Account that is listed in the public directory, pass a value for the 'targetListingEntryId'.
+ operationId: V1PostConnectionRoute
+ tags:
+ - Counterparties
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - type: object
+ properties:
+ listingEntryId:
+ type: string
+ title: uuid
+ localListingEntryDescription:
+ type: string
+ minLength: 1
+ targetListingEntryId:
+ type: string
+ title: uuid
+ required:
+ - listingEntryId
+ - targetListingEntryId
+ - type: object
+ properties:
+ listingEntryId:
+ type: string
+ title: uuid
+ localListingDescription:
+ type: string
+ minLength: 1
+ localListingEntryDescription:
+ type: string
+ minLength: 1
+ localListingName:
+ type: string
+ minLength: 1
+ walletId:
+ type: string
+ minLength: 1
+ required:
+ - listingEntryId
+ - localListingName
+ - walletId
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ConnectionWithOwnerAndTargetListResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '422':
+ description: Unprocessable Entity
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ get:
+ summary: List Go Account connections
+ description: Lists connections from your Go Account to other Go Accounts.
+ operationId: V1GetConnectionsRoute
+ tags:
+ - Counterparties
+ parameters:
+ - name: limit
+ in: query
+ required: true
+ schema:
+ oneOf:
+ - type: string
+ - type: number
+ enum:
+ - 50
+ - name: offset
+ in: query
+ required: true
+ schema:
+ oneOf:
+ - type: string
+ - type: number
+ enum:
+ - 0
+ - name: id
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: status
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - PENDING_DEACTIVATION
+ - PENDING_ACTIVATION
+ - ACTIVE
+ - INACTIVE
+ description: codec for valid connection statuses
+ - name: connectionType
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - DVP
+ - WHITELIST
+ description: codec for valid connection statuses
+ - name: orderBy
+ in: query
+ required: true
+ schema:
+ type: string
+ enum:
+ - description
+ - connectionType
+ - createdAt
+ - updatedAt
+ - name: orderDirection
+ in: query
+ required: true
+ schema:
+ type: string
+ enum:
+ - ASC
+ - DESC
+ - name: name
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ - name: ownerWalletId
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ - name: targetWalletId
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ConnectionWithOwnerAndTargetListResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ put:
+ summary: Update connection status
+ description: Update connections to 'PENDING_DEACTIVATION'.
+ operationId: V1PutConnectionsRoute
+ tags:
+ - Counterparties
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ connectionIds:
+ type: array
+ items:
+ type: string
+ title: uuid
+ status:
+ $ref: '#/components/schemas/UpdatableConnectionStatus'
+ required:
+ - connectionIds
+ - status
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ConnectionListResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ /api/address-book/v1/connections/counterparties:
+ get:
+ summary: List counterparties
+ description: Lists connections others have made from their Go Account to your Go Account.
+ operationId: V1GetCounterpartyConnectionsRoute
+ tags:
+ - Counterparties
+ parameters:
+ - name: limit
+ in: query
+ required: true
+ schema:
+ oneOf:
+ - type: string
+ - type: number
+ enum:
+ - 50
+ - name: offset
+ in: query
+ required: true
+ schema:
+ oneOf:
+ - type: string
+ - type: number
+ enum:
+ - 0
+ - name: id
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: status
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - PENDING_DEACTIVATION
+ - PENDING_ACTIVATION
+ - ACTIVE
+ - INACTIVE
+ description: codec for valid connection statuses
+ - name: orderBy
+ in: query
+ required: true
+ schema:
+ type: string
+ enum:
+ - description
+ - connectionType
+ - createdAt
+ - updatedAt
+ - name: orderDirection
+ in: query
+ required: true
+ schema:
+ type: string
+ enum:
+ - ASC
+ - DESC
+ - name: name
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ - name: ownerWalletId
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ConnectionWithOwnerAndTargetListResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ /api/address-book/v1/listing/{listingId}:
+ put:
+ summary: Update enterprise listing
+ description: |-
+ You can update the following:
+ * Description of your enterprise listing.
+ * Description of the target listing on connections you added from the directory.
+ * Description and or name of the target listing name from connections you directly added by wallet ID.
+ operationId: V1PutListingRoute
+ tags:
+ - Counterparties
+ parameters:
+ - name: listingId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ description:
+ type: string
+ description: Description is always updatable
+ minLength: 1
+ name:
+ type: string
+ description: The name of your listing that displays in the global directory. 'editable' must be 'true'
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ListingUpdateResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '422':
+ description: Unprocessable Entity
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ /api/address-book/v1/listing/entry/{listingEntryId}:
+ put:
+ summary: Update Go Account entry
+ description: Update your Go Account entry and 'targetListingEntries' for your connections.
+ operationId: V1PutListingEntryRoute
+ tags:
+ - Counterparties
+ parameters:
+ - name: listingEntryId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ description:
+ type: string
+ public:
+ type: boolean
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ListingEntryResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '422':
+ description: Unprocessable Entity
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ /api/address-book/v1/listing/entry/contacts:
+ get:
+ summary: List entry contacts
+ description: List all your listing entries within your connections, grouped by listing entry.
+ operationId: V1GetListingEntryContactsRoute
+ tags:
+ - Counterparties
+ parameters:
+ - name: limit
+ in: query
+ required: true
+ schema:
+ oneOf:
+ - type: string
+ - type: number
+ enum:
+ - 50
+ - name: offset
+ in: query
+ required: true
+ schema:
+ oneOf:
+ - type: string
+ - type: number
+ enum:
+ - 0
+ - name: id
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: coin
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ - name: entryType
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - GO_ACCOUNT
+ description: codec for entry type
+ - name: orderBy
+ in: query
+ required: true
+ schema:
+ type: string
+ enum:
+ - description
+ - coin
+ - entryType
+ - createdAt
+ - updatedAt
+ - listing.name
+ - name: orderDirection
+ in: query
+ required: true
+ schema:
+ type: string
+ enum:
+ - ASC
+ - DESC
+ - name: name
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ListingEntryWithConnectionsListResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ /api/address-book/v1/listing/entry/directory:
+ get:
+ summary: List entries available for connection
+ description: List all entries in the public directory, including all your connections.
+ operationId: V1GetListingEntryDirectoryRoute
+ tags:
+ - Counterparties
+ parameters:
+ - name: limit
+ in: query
+ required: true
+ schema:
+ oneOf:
+ - type: string
+ - type: number
+ enum:
+ - 50
+ - name: offset
+ in: query
+ required: true
+ schema:
+ oneOf:
+ - type: string
+ - type: number
+ enum:
+ - 0
+ - name: coin
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ - name: entryType
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - GO_ACCOUNT
+ description: codec for entry type
+ - name: orderBy
+ in: query
+ required: true
+ schema:
+ type: string
+ enum:
+ - description
+ - coin
+ - entryType
+ - createdAt
+ - updatedAt
+ - listing.name
+ - name: orderDirection
+ in: query
+ required: true
+ schema:
+ type: string
+ enum:
+ - ASC
+ - DESC
+ - name: featured
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: savedContactsNotInDirectory
+ in: query
+ required: true
+ schema:
+ type: string
+ enum:
+ - only-included
+ - included
+ - excluded
+ - name: name
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1DirectoryListingEntryWithConnectionsListResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ /api/address-book/v1/listing/entry/global:
+ post:
+ summary: Create enterprise listing entry
+ description: Create a listing entry for your enterprises Go Account.
+ operationId: V1PostListingEntryRoute
+ tags:
+ - Counterparties
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ walletId:
+ type: string
+ minLength: 1
+ description:
+ type: string
+ minLength: 1
+ public:
+ type: boolean
+ required:
+ - walletId
+ - public
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ListingEntryResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '422':
+ description: Unprocessable Entity
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ /api/address-book/v1/listing/global:
+ post:
+ summary: Create enterprise listing
+ description: |-
+ Create a listing for your enterprise in the Go network.
+ Once you create a listing for your enterprise, you can list your Go Account in the public directory.
+ operationId: V1PostListingRoute
+ tags:
+ - Counterparties
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ description:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1GlobalListingResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '422':
+ description: Unprocessable Entity
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ get:
+ summary: Get enterprise listing
+ description: Get the enterprise listing and list all entries in the enterprise listing.
+ operationId: V1GetListingRoute
+ tags:
+ - Counterparties
+ parameters: []
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1GlobalListingWithListingEntries'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorResponse'
+ /api/network/v1/enterprises/{enterpriseId}/clients:
+ post:
+ summary: Create Client
+ description: Create a new BitGo Network client.
+ operationId: v1ClientsPostRoute
+ tags:
+ - Onboarding
+ parameters:
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ClientsPostOkPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/clients/allocations:
+ get:
+ summary: List Client Allocations and Deallocations
+ description: |-
+ This API call allows clients to get a list of allocations & deallocations for any connected network account.
+ Note that this endpoint requires a “types” query parameter set to “allocation” to view allocations
+ or "deallocation" to view deallocations.
+ operationId: v1ClientAllocationsGetRoute
+ tags:
+ - Client Allocations & Deallocations
+ parameters:
+ - name: allocationIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: types
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - allocation
+ - deallocation
+ - name: statuses
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - cleared
+ - released
+ - reserved
+ - name: currencies
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ - name: connectionIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: partnerIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: createdOnOrAfter
+ in: query
+ schema:
+ type: string
+ format: date-time
+ title: ISO Date String
+ - name: createdBefore
+ in: query
+ schema:
+ type: string
+ format: date-time
+ title: ISO Date String
+ - name: pageNumber
+ in: query
+ schema:
+ type: string
+ format: integer
+ - name: pageSize
+ in: query
+ schema:
+ type: string
+ - name: sortField
+ in: query
+ schema:
+ type: string
+ enum:
+ - id
+ - updatedAt
+ - quantity
+ - currency
+ - name: sortDirection
+ in: query
+ schema:
+ type: string
+ enum:
+ - ASC
+ - DESC
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1AllocationsGetPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/clients/allocations/{allocationId}:
+ get:
+ summary: Get client Allocation or Deallocation
+ description: Returns an allocation or deallocation. For use only by BitGo Network clients.
+ operationId: v1ClientAllocationGetRoute
+ tags:
+ - Client Allocations & Deallocations
+ parameters:
+ - name: allocationId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1AllocationGetPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/clients/balances:
+ get:
+ summary: List Client Balances
+ description: |-
+ This API call allows clients to get trading and allocated balances at BitGo for any connected trading partner.
+ The trading balances are live data. The data under networkBalances are not the live balances at the partner,
+ the live balances should be viewed on the partner’s platform.
+ networkBalances will only update as a result of allocations, deallocations, and settlement.
+ operationId: v1ClientBalancesGetRoute
+ tags:
+ - Client Balances
+ parameters:
+ - name: pageNumber
+ in: query
+ schema:
+ type: string
+ format: integer
+ - name: pageSize
+ in: query
+ schema:
+ type: string
+ - name: connectionIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: partnerIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ClientBalancesGetPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/clients/connections:
+ get:
+ summary: List Client Connections
+ description: Lists all your BitGo Network connections. For use only by BitGo Network clients.
+ operationId: v1ClientConnectionsGetRoute
+ tags:
+ - Activation
+ parameters:
+ - name: pageNumber
+ in: query
+ schema:
+ type: string
+ format: integer
+ - name: pageSize
+ in: query
+ schema:
+ type: string
+ - name: active
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: connectionIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: names
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ - name: partnerIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ConnectionsGetOkPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ post:
+ summary: Connect to Partner
+ description: |-
+ Connect your BitGo Network client account to a BitGo Network partner, enabling you to
+ trade funds that you have custodied with BitGo. You must have an account on the partner's site.
+ Clients can have multiple connections to the same partner.
+ operationId: v1ClientConnectionsPostRoute
+ tags:
+ - Activation
+ parameters:
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ partnerId:
+ type: string
+ title: uuid
+ name:
+ type: string
+ minLength: 1
+ connectionKey:
+ $ref: '#/components/schemas/ConnectionKey'
+ nonce:
+ type: string
+ minLength: 1
+ payload:
+ type: string
+ minLength: 1
+ signature:
+ type: string
+ minLength: 1
+ required:
+ - partnerId
+ - name
+ - connectionKey
+ - nonce
+ - payload
+ - signature
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ConnectionPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '422':
+ description: Unprocessable Entity
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/clients/connections/{connectionId}:
+ get:
+ summary: Get Client Connection
+ description: Returns a BitGo Network connection by its connection ID. For use only by BitGo Network clients.
+ operationId: v1ClientConnectionGetRoute
+ tags:
+ - Activation
+ parameters:
+ - name: connectionId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ConnectionPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ put:
+ summary: Update Client Connection
+ description: Update a BitGo Network connection by its connection ID. For use only by BitGo Network clients.
+ operationId: v1ClientConnectionPutRoute
+ tags:
+ - Activation
+ parameters:
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ - name: connectionId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ active:
+ type: boolean
+ name:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ConnectionPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '422':
+ description: Unprocessable Entity
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/clients/connections/{connectionId}/allocations:
+ post:
+ summary: Allocate funds to Partner Connection
+ description: |-
+ This API call allows clients to allocate funds to a connected partner for trade.
+ A successful allocation indicates that funds are locked at BitGo and available for spend on the connected partner.
+ Note: Allocations will happen synchronously and allocated amounts can be viewed in the
+ BitGo Application or via a balances endpoint.
+ operationId: V1ClientAllocationsPostRoute
+ tags:
+ - Client Allocations & Deallocations
+ parameters:
+ - name: connectionId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ amount:
+ $ref: '#/components/schemas/PositiveBNCurrencyAmount'
+ clientExternalId:
+ type: string
+ minLength: 1
+ nonce:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ payload:
+ type: string
+ minLength: 1
+ signature:
+ type: string
+ minLength: 1
+ required:
+ - amount
+ - clientExternalId
+ - nonce
+ - payload
+ - signature
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/V1AllocationsClearedPostPayload'
+ - $ref: '#/components/schemas/V1ReservedNonRetriableAllocationsPostPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '422':
+ description: Unprocessable Entity
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1AllocationsReleasedWithErrorPostPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ReservedAllocationOrErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/clients/connections/{connectionId}/deallocations:
+ post:
+ summary: Deallocate Funds from Connection
+ description: |-
+ This API call allows clients to deallocate funds from a connected partner.
+ A successful deallocation will unlock funds and ensure that they are available
+ for actions (withdrawal/rebalancing) at BitGo.
+ Note: Deallocations will happen synchronously and deallocated amounts can be viewed in the
+ BitGo Application or via a balance endpoint.
+ operationId: V1ClientDeallocationsPostRoute
+ tags:
+ - Client Allocations & Deallocations
+ parameters:
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ - name: connectionId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ amount:
+ $ref: '#/components/schemas/PositiveBNCurrencyAmount'
+ clientExternalId:
+ type: string
+ minLength: 1
+ nonce:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ payload:
+ type: string
+ minLength: 1
+ signature:
+ type: string
+ minLength: 1
+ required:
+ - amount
+ - clientExternalId
+ - nonce
+ - payload
+ - signature
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/V1DeallocationClearedPostPayload'
+ - $ref: '#/components/schemas/V1ReservedDeallocationsPostPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '422':
+ description: Unprocessable Entity
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1DeallocationReleasedWithErrorPostPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ReservedDeallocationOrErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/clients/settlements:
+ get:
+ summary: List Client Settlements
+ description: This API call allows clients to get a list of settlements that involve their accounts and their metadata.
+ operationId: v1ClientSettlementsGetRoute
+ tags:
+ - Client Settlements & Transfers
+ parameters:
+ - name: pageNumber
+ in: query
+ schema:
+ type: string
+ format: integer
+ - name: pageSize
+ in: query
+ schema:
+ type: string
+ - name: settlementIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: partnerIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: partyConnectionIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: counterpartyConnectionIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ListSettlementsOkPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/clients/settlements/{settlementId}:
+ get:
+ summary: Get Client Settlement
+ description: |-
+ This API call allows clients to get a list of settlement transactions for any connected network account,
+ for a specific settlement. The settlement and its metadata will be returned along with all
+ related settlement transfers in and out of the clients’ network accounts.
+ operationId: v1ClientSettlementGetRoute
+ tags:
+ - Client Settlements & Transfers
+ parameters:
+ - name: currencies
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ - name: pageNumber
+ in: query
+ schema:
+ type: string
+ format: integer
+ - name: pageSize
+ in: query
+ schema:
+ type: string
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ - name: settlementId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ClientGetSettlementOkPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/clients/settlementTransfers:
+ get:
+ summary: List Client Settlement Transfers
+ description: Lists all settlement transfers for your BitGo Network client account.
+ operationId: v1ClientSettlementTransfersGetRoute
+ tags:
+ - Client Settlements & Transfers
+ parameters:
+ - name: pageNumber
+ in: query
+ schema:
+ type: string
+ format: integer
+ - name: pageSize
+ in: query
+ schema:
+ type: string
+ - name: currencies
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ - name: initiatedBy
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ - name: partnerIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: settlementIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: settlementStatuses
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - failed
+ - completed
+ - pending
+ - rejected
+ - name: settlementUpdatedBefore
+ in: query
+ schema:
+ type: string
+ format: date-time
+ title: ISO Date String
+ - name: settlementUpdatedOnOrAfter
+ in: query
+ schema:
+ type: string
+ format: date-time
+ title: ISO Date String
+ - name: sortField
+ in: query
+ schema:
+ type: string
+ enum:
+ - updatedAt
+ - name: sortDirection
+ in: query
+ schema:
+ type: string
+ enum:
+ - ASC
+ - DESC
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ClientGetSettlementTransfersOkPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/partners:
+ get:
+ summary: List Partners
+ description: Lists all BitGo Network Partners.
+ operationId: v1PartnersGetRoute
+ tags:
+ - Onboarding
+ parameters:
+ - name: pageNumber
+ in: query
+ schema:
+ type: string
+ format: integer
+ - name: pageSize
+ in: query
+ schema:
+ type: string
+ - name: ids
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: names
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ - name: institutionIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: institutionIdentifiers
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ - name: active
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1PartnersGetOkPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ post:
+ summary: Create Partner
+ description: Create a new BitGo Network Partner.
+ operationId: v1PartnersPostRoute
+ tags:
+ - Onboarding
+ parameters:
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ minLength: 1
+ broker:
+ type: boolean
+ institutionId:
+ type: string
+ title: uuid
+ institutionIdentifier:
+ type: string
+ minLength: 1
+ connectionKeySchema:
+ $ref: '#/components/schemas/PartnerConnectionKeySchema'
+ required:
+ - name
+ - broker
+ - connectionKeySchema
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1PartnersPostOkPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/partners/allocations:
+ get:
+ summary: List partner Allocations and Deallocations
+ description: Lists all allocations and deallocations. For use only by BitGo Network partners.
+ operationId: v1PartnerAllocationsGetRoute
+ tags:
+ - Partner Allocations & Deallocations
+ parameters:
+ - name: allocationIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: types
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - allocation
+ - deallocation
+ - name: statuses
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - cleared
+ - released
+ - reserved
+ - name: currencies
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ - name: connectionIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: partnerIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: clientIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: pageNumber
+ in: query
+ schema:
+ type: string
+ format: integer
+ - name: pageSize
+ in: query
+ schema:
+ type: string
+ - name: sortField
+ in: query
+ schema:
+ type: string
+ enum:
+ - id
+ - updatedAt
+ - quantity
+ - name: sortDirection
+ in: query
+ schema:
+ type: string
+ enum:
+ - ASC
+ - DESC
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1AllocationsGetPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/partners/allocations/{allocationId}:
+ get:
+ summary: Get Partner Allocation or Deallocation
+ description: Returns an allocation or deallocation. For use only by BitGo Network partners.
+ operationId: v1PartnerAllocationGetRoute
+ tags:
+ - Partner Allocations & Deallocations
+ parameters:
+ - name: allocationId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1AllocationGetPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/partners/balances:
+ get:
+ summary: List partner balances
+ description: Lists all your BitGo Network balances. For use only by BitGo Network partners.
+ operationId: v1PartnerBalancesGetRoute
+ tags:
+ - Partner Balances
+ parameters:
+ - name: pageNumber
+ in: query
+ schema:
+ type: string
+ format: integer
+ - name: pageSize
+ in: query
+ schema:
+ type: string
+ - name: partnerIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: clientIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: connectionIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: partnersConnectionIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1PartnerBalancesGetPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/partners/connections:
+ get:
+ summary: List Partner Connections
+ description: Returns all your BitGo Network connections. For use only by BitGo Network partners.
+ operationId: v1PartnerConnectionsGetRoute
+ tags:
+ - Activation
+ parameters:
+ - name: pageNumber
+ in: query
+ schema:
+ type: string
+ format: integer
+ - name: pageSize
+ in: query
+ schema:
+ type: string
+ - name: active
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: clientIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: connectionIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: partnersClientIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ - name: partnersConnectionIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ - name: partnerIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ConnectionsGetOkPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/partners/connections/{connectionId}:
+ get:
+ summary: Get Partner Connection
+ description: Returns a BitGo Network connection by its connection ID. For use only by BitGo Network partners.
+ operationId: v1PartnerConnectionGetRoute
+ tags:
+ - Activation
+ parameters:
+ - name: connectionId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ConnectionPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/partners/settlements:
+ get:
+ summary: List Partner Settlements
+ description: Lists all settlements for your BitGo Network partner account.
+ operationId: v1PartnerSettlementsGetRoute
+ tags:
+ - Partner Settlements & Transfers
+ parameters:
+ - name: pageNumber
+ in: query
+ schema:
+ type: string
+ format: integer
+ - name: pageSize
+ in: query
+ schema:
+ type: string
+ - name: settlementIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: partnerIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: partyConnectionIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: counterpartyConnectionIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ListSettlementsOkPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ post:
+ summary: Perform Partner Settlement
+ description: Partner route to perform a Settlement.
+ operationId: v1PartnerSettlementsPostRoute
+ tags:
+ - Partner Settlements & Transfers
+ parameters:
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ externalId:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ settlementAmounts:
+ $ref: '#/components/schemas/SettlementAmountsRecord'
+ nonce:
+ type: string
+ minLength: 1
+ payload:
+ type: string
+ minLength: 1
+ signature:
+ type: string
+ minLength: 1
+ required:
+ - externalId
+ - settlementAmounts
+ - nonce
+ - payload
+ - signature
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1PartnerSettlementOkPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1PartnerIncompleteSettlementOrErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1PartnerIncompleteSettlementOrErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/partners/settlements/{settlementId}:
+ get:
+ summary: Get Partner Settlement
+ description: Returns a settlement for your BitGo Network partner account.
+ operationId: v1PartnerSettlementGetRoute
+ tags:
+ - Partner Settlements & Transfers
+ parameters:
+ - name: sourceNetworkAccountIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: sourceTradingAccountIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: destinationNetworkAccountIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: destinationTradingAccountIds
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: currencies
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ - name: pageNumber
+ in: query
+ schema:
+ type: string
+ format: integer
+ - name: pageSize
+ in: query
+ schema:
+ type: string
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ - name: settlementId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1GetSettlementOkPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/partners/settlements/nonReconciled:
+ post:
+ summary: '[DEPRECATED] Perform Partner Settlement'
+ description: |-
+ [DEPRECATED] Partner route to perform a Settlement.
+
+ NOTE: this route is being deprecated in favor
+ of the POST /api/network/v1/enterprises/{enterpriseId}/partners/settlements route.
+ operationId: v1PartnerSettlementsNonReconciledPostRoute
+ tags:
+ - Partner Settlements & Transfers
+ parameters:
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ externalId:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ settlementAmounts:
+ $ref: '#/components/schemas/SettlementAmountsRecord'
+ nonce:
+ type: string
+ minLength: 1
+ payload:
+ type: string
+ minLength: 1
+ signature:
+ type: string
+ minLength: 1
+ required:
+ - externalId
+ - settlementAmounts
+ - nonce
+ - payload
+ - signature
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1PartnerSettlementOkPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1PartnerIncompleteSettlementOrErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1PartnerIncompleteSettlementOrErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/partners/settlements/onchain:
+ post:
+ summary: Initiate on-chain settlement
+ description: Partner route to initiate an on-chain settlement.
+ operationId: v1PartnerOnChainSettlementPostRoute
+ tags:
+ - Partner Settlements & Transfers
+ parameters:
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ externalId:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ settlementAmounts:
+ $ref: '#/components/schemas/PartySettlementAmountsRecord'
+ nonce:
+ type: string
+ minLength: 1
+ payload:
+ type: string
+ minLength: 1
+ signature:
+ type: string
+ minLength: 1
+ required:
+ - externalId
+ - settlementAmounts
+ - nonce
+ - payload
+ - signature
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1SettlementPayload'
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1PendingSettlementPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/partners/settlements/onchain/deposits:
+ post:
+ summary: Post deposit info for an on-chain settlement
+ description: Partner route to provide external deposit information tied to an on-chain settlement.
+ operationId: v1PartnerExtDepositsPostRoute
+ tags:
+ - Partner Settlements & Transfers
+ parameters:
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ externalSettlementId:
+ type: string
+ minLength: 1
+ settlementId:
+ type: string
+ title: uuid
+ deposits:
+ type: array
+ items:
+ type: object
+ properties:
+ currency:
+ type: string
+ minLength: 1
+ onChainTxId:
+ type: string
+ minLength: 1
+ required:
+ - currency
+ - onChainTxId
+ payload:
+ type: string
+ minLength: 1
+ signature:
+ type: string
+ minLength: 1
+ required:
+ - externalSettlementId
+ - deposits
+ - payload
+ - signature
+ responses:
+ '201':
+ description: Created
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ExtDepositsPayload'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/network/v1/enterprises/{enterpriseId}/supportedCurrencies:
+ get:
+ summary: List Partner-Supported Currencies
+ description: List currencies which can be allocated/deallocated to/from a connection to a BitGo Network Partner.
+ operationId: v1EnterpriseSupportedCurrenciesRoute
+ tags:
+ - Client Allocations & Deallocations
+ parameters:
+ - name: partnerIds
+ in: query
+ required: true
+ schema:
+ type: array
+ items:
+ type: string
+ title: uuid
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1EnterpriseSupportedCurrenciesResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/V1ErrorPayload'
+ /api/clearing/v1/enterprise/{enterpriseId}/account-settings/{accountId}:
+ get:
+ summary: Get settlement trading account settings
+ operationId: V1AccountSettingsGetRoute
+ tags:
+ - Settlement Onboarding
+ description: Get settlement settings for a trading account.
+ parameters:
+ - name: accountId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ - name: enterpriseId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: TradingAccountSettingsResponse
+ type: object
+ required:
+ - accountId
+ - affirmationExpirationTime
+ - referralCode
+ properties:
+ accountId:
+ type: string
+ affirmationExpirationTime:
+ type: number
+ feeRates:
+ title: FeeRate
+ type: object
+ required:
+ - settlement
+ properties:
+ settlement:
+ title: PositiveIntConfig
+ oneOf:
+ - title: string
+ type: string
+ - title: number
+ type: number
+ referralCode:
+ type: string
+ '400':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ '500':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ /api/clearing/v1/enterprise/{enterpriseId}/account/{accountId}/approval-requests/{approvalRequestId}:
+ put:
+ summary: Update settlement approval request
+ operationId: V1ApprovalRequestPutRoute
+ tags:
+ - Approval Requests
+ description: Update an approval request for a settlement.
+ parameters:
+ - name: accountId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ - name: enterpriseId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ - name: approvalRequestId
+ schema:
+ title: UUID
+ type: string
+ required: true
+ in: path
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: ApprovalRequestResponse
+ type: object
+ required:
+ - settlementId
+ - createdAt
+ - updatedAt
+ - id
+ - accountId
+ - status
+ - payload
+ properties:
+ settlementId:
+ title: NonEmptyString
+ type: string
+ approvedAt:
+ type: string
+ format: date
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: NonEmptyString
+ type: string
+ accountId:
+ title: NonEmptyString
+ type: string
+ status:
+ title: ApprovalRequestStatus
+ type: string
+ enum:
+ - acknowledged
+ - canceled
+ - rejected
+ - approved
+ - pending
+ - failed
+ - overdue
+ - expired
+ payload:
+ title: NonEmptyString
+ type: string
+ signature:
+ title: NonEmptyString
+ type: string
+ '400':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ '500':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - status
+ properties:
+ status:
+ title: ApprovalRequestUpdateStatus
+ type: string
+ enum:
+ - acknowledged
+ - canceled
+ - rejected
+ required: true
+ /api/clearing/v1/enterprise/{enterpriseId}/account/{accountId}/settlement:
+ post:
+ summary: Create settlement
+ operationId: V1EnterpriseAccountSettlementPostRoute
+ tags:
+ - Settlements
+ description: Creates a settlement.
+ parameters:
+ - name: accountId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ - name: enterpriseId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: SettlementResponse
+ type: object
+ required:
+ - approvalRequests
+ - settlementTransfers
+ - requesterAccountName
+ - createdAt
+ - updatedAt
+ - id
+ - externalId
+ - requesterAccountId
+ - status
+ - type
+ properties:
+ approvalRequests:
+ type: array
+ items:
+ title: ApprovalRequestResponseForSettlement
+ type: object
+ required:
+ - createdAt
+ - updatedAt
+ - id
+ - accountId
+ - status
+ - payload
+ properties:
+ approvedAt:
+ type: string
+ format: date
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: NonEmptyString
+ type: string
+ accountId:
+ title: NonEmptyString
+ type: string
+ status:
+ title: ApprovalRequestStatus
+ type: string
+ enum:
+ - acknowledged
+ - canceled
+ - rejected
+ - approved
+ - pending
+ - failed
+ - overdue
+ - expired
+ payload:
+ title: NonEmptyString
+ type: string
+ signature:
+ title: NonEmptyString
+ type: string
+ settlementTransfers:
+ type: array
+ items:
+ title: SettlementTransferResponse
+ type: object
+ required:
+ - createdAt
+ - updatedAt
+ - id
+ - sourceTradingAccountId
+ - destinationTradingAccountId
+ - currency
+ - quantity
+ properties:
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: UUID
+ type: string
+ sourceTradingAccountId:
+ title: NonEmptyString
+ type: string
+ destinationTradingAccountId:
+ title: NonEmptyString
+ type: string
+ currency:
+ title: SupportedCurrency
+ type: string
+ quantity:
+ title: PositiveBigIntFromString
+ type: string
+ txIds:
+ type: array
+ items:
+ title: NonEmptyString
+ type: string
+ requesterAccountName:
+ title: NonEmptyString
+ type: string
+ finalizedAt:
+ type: string
+ format: date
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: NonEmptyString
+ type: string
+ externalId:
+ title: NonEmptyString
+ type: string
+ notation:
+ type: string
+ requesterAccountId:
+ title: NonEmptyString
+ type: string
+ status:
+ title: SettlementStatus
+ type: string
+ enum:
+ - canceled
+ - rejected
+ - pending
+ - failed
+ - expired
+ - settled
+ type:
+ type: string
+ enum:
+ - direct
+ '400':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ '409':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ '500':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - externalId
+ - counterpartyAccountId
+ - assetTransfers
+ properties:
+ externalId:
+ title: NonEmptyString
+ type: string
+ counterpartyAccountId:
+ title: NonEmptyString
+ type: string
+ assetTransfers:
+ title: NonEmptyArray
+ type: array
+ items:
+ title: AssetTransfer
+ type: object
+ required:
+ - currency
+ - quantity
+ properties:
+ currency:
+ title: SupportedCurrency
+ type: string
+ quantity:
+ title: BigIntFromString
+ type: string
+ notation:
+ type: string
+ required: true
+ /api/clearing/v1/enterprise/{enterpriseId}/account/{accountId}/settlement/{settlementId}:
+ get:
+ summary: Get settlement by ID.
+ operationId: V1GetSettlementByIdRoute
+ tags:
+ - Settlements
+ description: Get settlement by ID.
+ parameters:
+ - name: accountId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ - name: enterpriseId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ - name: settlementId
+ schema:
+ title: UUID
+ type: string
+ required: true
+ in: path
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: SettlementResponse
+ type: object
+ required:
+ - approvalRequests
+ - settlementTransfers
+ - requesterAccountName
+ - createdAt
+ - updatedAt
+ - id
+ - externalId
+ - requesterAccountId
+ - status
+ - type
+ properties:
+ approvalRequests:
+ type: array
+ items:
+ title: ApprovalRequestResponseForSettlement
+ type: object
+ required:
+ - createdAt
+ - updatedAt
+ - id
+ - accountId
+ - status
+ - payload
+ properties:
+ approvedAt:
+ type: string
+ format: date
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: NonEmptyString
+ type: string
+ accountId:
+ title: NonEmptyString
+ type: string
+ status:
+ title: ApprovalRequestStatus
+ type: string
+ enum:
+ - acknowledged
+ - canceled
+ - rejected
+ - approved
+ - pending
+ - failed
+ - overdue
+ - expired
+ payload:
+ title: NonEmptyString
+ type: string
+ signature:
+ title: NonEmptyString
+ type: string
+ settlementTransfers:
+ type: array
+ items:
+ title: SettlementTransferResponse
+ type: object
+ required:
+ - createdAt
+ - updatedAt
+ - id
+ - sourceTradingAccountId
+ - destinationTradingAccountId
+ - currency
+ - quantity
+ properties:
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: UUID
+ type: string
+ sourceTradingAccountId:
+ title: NonEmptyString
+ type: string
+ destinationTradingAccountId:
+ title: NonEmptyString
+ type: string
+ currency:
+ title: SupportedCurrency
+ type: string
+ quantity:
+ title: PositiveBigIntFromString
+ type: string
+ txIds:
+ type: array
+ items:
+ title: NonEmptyString
+ type: string
+ requesterAccountName:
+ title: NonEmptyString
+ type: string
+ finalizedAt:
+ type: string
+ format: date
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: NonEmptyString
+ type: string
+ externalId:
+ title: NonEmptyString
+ type: string
+ notation:
+ type: string
+ requesterAccountId:
+ title: NonEmptyString
+ type: string
+ status:
+ title: SettlementStatus
+ type: string
+ enum:
+ - canceled
+ - rejected
+ - pending
+ - failed
+ - expired
+ - settled
+ type:
+ type: string
+ enum:
+ - direct
+ '400':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ '500':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ /api/clearing/v1/enterprise/{enterpriseId}/account/{accountId}/settlement/{settlementId}/signing:
+ get:
+ summary: Get settlement signing
+ operationId: V1GetSettlementSigningRoute
+ tags:
+ - Settlement Signing
+ description: Get settlement signing.
+ parameters:
+ - name: accountId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ - name: enterpriseId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ - name: settlementId
+ schema:
+ title: UUID
+ type: string
+ required: true
+ in: path
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: TradePayloadResponse
+ type: object
+ required:
+ - payload
+ properties:
+ payload:
+ type: string
+ '400':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ '500':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ post:
+ summary: Sign settlement
+ operationId: V1PostSettlementSigningRoute
+ tags:
+ - Settlement Signing
+ description: Signs a Settlement.
+ parameters:
+ - name: accountId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ - name: enterpriseId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ - name: settlementId
+ schema:
+ title: UUID
+ type: string
+ required: true
+ in: path
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: ApprovalRequestResponse
+ type: object
+ required:
+ - settlementId
+ - createdAt
+ - updatedAt
+ - id
+ - accountId
+ - status
+ - payload
+ properties:
+ settlementId:
+ title: NonEmptyString
+ type: string
+ approvedAt:
+ type: string
+ format: date
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: NonEmptyString
+ type: string
+ accountId:
+ title: NonEmptyString
+ type: string
+ status:
+ title: ApprovalRequestStatus
+ type: string
+ enum:
+ - acknowledged
+ - canceled
+ - rejected
+ - approved
+ - pending
+ - failed
+ - overdue
+ - expired
+ payload:
+ title: NonEmptyString
+ type: string
+ signature:
+ title: NonEmptyString
+ type: string
+ '400':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ '500':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - payload
+ - signature
+ properties:
+ payload:
+ title: NonEmptyString
+ type: string
+ signature:
+ title: NonEmptyString
+ type: string
+ required: true
+ /api/clearing/v1/enterprise/{enterpriseId}/account/{accountId}/settlements:
+ get:
+ summary: List settlements by account
+ operationId: V1ListSettlementsByAccountRoute
+ tags:
+ - Settlements
+ description: List settlements by trading account.
+ parameters:
+ - name: limit
+ schema:
+ type: string
+ required: true
+ in: query
+ - name: offset
+ schema:
+ type: string
+ required: true
+ in: query
+ - name: status
+ schema:
+ title: SettlementStatus
+ type: string
+ enum:
+ - canceled
+ - rejected
+ - pending
+ - failed
+ - expired
+ - settled
+ required: false
+ in: query
+ - name: accountId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ - name: enterpriseId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: SettlementListResponse
+ type: object
+ required:
+ - settlementList
+ properties:
+ settlementList:
+ type: array
+ items:
+ title: SettlementResponse
+ type: object
+ required:
+ - approvalRequests
+ - settlementTransfers
+ - requesterAccountName
+ - createdAt
+ - updatedAt
+ - id
+ - externalId
+ - requesterAccountId
+ - status
+ - type
+ properties:
+ approvalRequests:
+ type: array
+ items:
+ title: ApprovalRequestResponseForSettlement
+ type: object
+ required:
+ - createdAt
+ - updatedAt
+ - id
+ - accountId
+ - status
+ - payload
+ properties:
+ approvedAt:
+ type: string
+ format: date
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: NonEmptyString
+ type: string
+ accountId:
+ title: NonEmptyString
+ type: string
+ status:
+ title: ApprovalRequestStatus
+ type: string
+ enum:
+ - acknowledged
+ - canceled
+ - rejected
+ - approved
+ - pending
+ - failed
+ - overdue
+ - expired
+ payload:
+ title: NonEmptyString
+ type: string
+ signature:
+ title: NonEmptyString
+ type: string
+ settlementTransfers:
+ type: array
+ items:
+ title: SettlementTransferResponse
+ type: object
+ required:
+ - createdAt
+ - updatedAt
+ - id
+ - sourceTradingAccountId
+ - destinationTradingAccountId
+ - currency
+ - quantity
+ properties:
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: UUID
+ type: string
+ sourceTradingAccountId:
+ title: NonEmptyString
+ type: string
+ destinationTradingAccountId:
+ title: NonEmptyString
+ type: string
+ currency:
+ title: SupportedCurrency
+ type: string
+ quantity:
+ title: PositiveBigIntFromString
+ type: string
+ txIds:
+ type: array
+ items:
+ title: NonEmptyString
+ type: string
+ requesterAccountName:
+ title: NonEmptyString
+ type: string
+ finalizedAt:
+ type: string
+ format: date
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: NonEmptyString
+ type: string
+ externalId:
+ title: NonEmptyString
+ type: string
+ notation:
+ type: string
+ requesterAccountId:
+ title: NonEmptyString
+ type: string
+ status:
+ title: SettlementStatus
+ type: string
+ enum:
+ - canceled
+ - rejected
+ - pending
+ - failed
+ - expired
+ - settled
+ type:
+ type: string
+ enum:
+ - direct
+ '400':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ '404':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ '500':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ /api/clearing/v1/enterprise/{enterpriseId}/account/{accountId}/trading-partner:
+ post:
+ summary: List settlement trading partners
+ operationId: V1TradingPartnerPostRoute
+ tags:
+ - Settlement Onboarding
+ description: Creates a trading partner (counterparty) for a trading account.
+ parameters:
+ - name: accountId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ - name: enterpriseId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: TradingPartnerListResponse
+ type: object
+ required:
+ - tradingPartnerList
+ properties:
+ tradingPartnerList:
+ type: array
+ items:
+ title: TradingPartnerResponse
+ type: object
+ required:
+ - id
+ - primaryAccountId
+ - primaryEnterpriseName
+ - secondaryAccountId
+ - secondaryEnterpriseName
+ - status
+ - updatedAt
+ properties:
+ id:
+ type: string
+ primaryAccountId:
+ type: string
+ primaryEnterpriseName:
+ type: string
+ secondaryAccountId:
+ type: string
+ secondaryEnterpriseName:
+ type: string
+ status:
+ title: TradingPartnerStatuses
+ type: string
+ enum:
+ - accepted
+ - rejected
+ - canceled
+ - pending
+ updatedAt:
+ type: string
+ format: date
+ '400':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ '500':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - referralCode
+ properties:
+ referralCode:
+ title: NonEmptyString
+ type: string
+ required: true
+ /api/clearing/v1/enterprise/{enterpriseId}/account/{accountId}/trading-partners:
+ get:
+ summary: List settlement trading partners
+ operationId: V1ListTradingPartnersByAccountRoute
+ tags:
+ - Settlement Onboarding
+ description: List trading partners (counterparties) for a trading account.
+ parameters:
+ - name: status
+ schema:
+ title: TradingPartnerStatuses
+ type: string
+ enum:
+ - accepted
+ - rejected
+ - canceled
+ - pending
+ required: false
+ in: query
+ - name: accountId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ - name: enterpriseId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: TradingPartnerListResponse
+ type: object
+ required:
+ - tradingPartnerList
+ properties:
+ tradingPartnerList:
+ type: array
+ items:
+ title: TradingPartnerResponse
+ type: object
+ required:
+ - id
+ - primaryAccountId
+ - primaryEnterpriseName
+ - secondaryAccountId
+ - secondaryEnterpriseName
+ - status
+ - updatedAt
+ properties:
+ id:
+ type: string
+ primaryAccountId:
+ type: string
+ primaryEnterpriseName:
+ type: string
+ secondaryAccountId:
+ type: string
+ secondaryEnterpriseName:
+ type: string
+ status:
+ title: TradingPartnerStatuses
+ type: string
+ enum:
+ - accepted
+ - rejected
+ - canceled
+ - pending
+ updatedAt:
+ type: string
+ format: date
+ '400':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ '500':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ /api/clearing/v1/enterprise/{enterpriseId}/settlements:
+ get:
+ summary: List settlements by enterprise
+ operationId: V1ListSettlementsByEnterpriseRoute
+ tags:
+ - Settlements
+ description: List settlements by enterprise.
+ parameters:
+ - name: limit
+ schema:
+ type: string
+ required: true
+ in: query
+ - name: offset
+ schema:
+ type: string
+ required: true
+ in: query
+ - name: status
+ schema:
+ title: SettlementStatus
+ type: string
+ enum:
+ - canceled
+ - rejected
+ - pending
+ - failed
+ - expired
+ - settled
+ required: false
+ in: query
+ - name: enterpriseId
+ schema:
+ title: NonEmptyString
+ type: string
+ required: true
+ in: path
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: SettlementListResponse
+ type: object
+ required:
+ - settlementList
+ properties:
+ settlementList:
+ type: array
+ items:
+ title: SettlementResponse
+ type: object
+ required:
+ - approvalRequests
+ - settlementTransfers
+ - requesterAccountName
+ - createdAt
+ - updatedAt
+ - id
+ - externalId
+ - requesterAccountId
+ - status
+ - type
+ properties:
+ approvalRequests:
+ type: array
+ items:
+ title: ApprovalRequestResponseForSettlement
+ type: object
+ required:
+ - createdAt
+ - updatedAt
+ - id
+ - accountId
+ - status
+ - payload
+ properties:
+ approvedAt:
+ type: string
+ format: date
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: NonEmptyString
+ type: string
+ accountId:
+ title: NonEmptyString
+ type: string
+ status:
+ title: ApprovalRequestStatus
+ type: string
+ enum:
+ - acknowledged
+ - canceled
+ - rejected
+ - approved
+ - pending
+ - failed
+ - overdue
+ - expired
+ payload:
+ title: NonEmptyString
+ type: string
+ signature:
+ title: NonEmptyString
+ type: string
+ settlementTransfers:
+ type: array
+ items:
+ title: SettlementTransferResponse
+ type: object
+ required:
+ - createdAt
+ - updatedAt
+ - id
+ - sourceTradingAccountId
+ - destinationTradingAccountId
+ - currency
+ - quantity
+ properties:
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: UUID
+ type: string
+ sourceTradingAccountId:
+ title: NonEmptyString
+ type: string
+ destinationTradingAccountId:
+ title: NonEmptyString
+ type: string
+ currency:
+ title: SupportedCurrency
+ type: string
+ quantity:
+ title: PositiveBigIntFromString
+ type: string
+ txIds:
+ type: array
+ items:
+ title: NonEmptyString
+ type: string
+ requesterAccountName:
+ title: NonEmptyString
+ type: string
+ finalizedAt:
+ type: string
+ format: date
+ createdAt:
+ type: string
+ format: date
+ updatedAt:
+ type: string
+ format: date
+ id:
+ title: NonEmptyString
+ type: string
+ externalId:
+ title: NonEmptyString
+ type: string
+ notation:
+ type: string
+ requesterAccountId:
+ title: NonEmptyString
+ type: string
+ status:
+ title: SettlementStatus
+ type: string
+ enum:
+ - canceled
+ - rejected
+ - pending
+ - failed
+ - expired
+ - settled
+ type:
+ type: string
+ enum:
+ - direct
+ '400':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ '404':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ '500':
+ description: ''
+ content:
+ application/json:
+ schema:
+ title: V1ErrorPayload
+ type: object
+ required:
+ - error
+ - errorName
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ /api/v1/marketdata/cryptocompare/historical/prices:
+ get:
+ tags:
+ - CryptoCompare
+ summary: Get historical prices
+ description: Get a list of historical prices in a specified time range. Using this endpoint requires an access token with the appropriate enterprise ID.
+ operationId: marketdata.cryptocompare.historical.prices.get
+ parameters:
+ - $ref: '#/components/parameters/Base'
+ - $ref: '#/components/parameters/Quote'
+ - $ref: '#/components/parameters/Interval'
+ - $ref: '#/components/parameters/Start'
+ - $ref: '#/components/parameters/End'
+ responses:
+ '200':
+ description: Returns historical-price data points. Also returns a page cursor if there are more than 1,000 results.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/HistoricalPriceResult'
+ '400':
+ description: Bad request.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MarketDataError'
+ x-licenses:
+ - cryptoCompare
+ /api/v1/marketdata/cryptocompare/spot/prices:
+ get:
+ tags:
+ - CryptoCompare
+ summary: Get spot prices
+ description: Get historical spot prices from a specific time. Using this endpoint requires an access token with the appropriate enterprise ID.
+ operationId: marketdata.cryptocompare.spot.prices.get
+ parameters:
+ - $ref: '#/components/parameters/Base'
+ - $ref: '#/components/parameters/Quote'
+ - $ref: '#/components/parameters/Interval'
+ - name: timestamp
+ in: query
+ schema:
+ type: string
+ format: date-time
+ responses:
+ '200':
+ description: Returns a historical-price data point.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/HistoricalPrice'
+ '400':
+ description: Bad request.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MarketDataError'
+ x-licenses:
+ - cryptoCompare
+ /api/evs/v1/identity:
+ post:
+ summary: Create Identity
+ description: Create an identity for a user.
+ operationId: entity.validation.identity.create
+ tags:
+ - Entity Validation
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - type: object
+ properties:
+ addressCity:
+ type: string
+ minLength: 1
+ addressPostalCode:
+ type: string
+ minLength: 1
+ addressStreet1:
+ type: string
+ minLength: 1
+ addressStreet2:
+ type: string
+ minLength: 1
+ addressSubdivision:
+ type: string
+ minLength: 1
+ birthdate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ country:
+ type: string
+ minLength: 1
+ countryOfCitizenship:
+ type: string
+ minLength: 1
+ countryOfResidence:
+ type: string
+ minLength: 1
+ debugFailureReason:
+ type: string
+ minLength: 1
+ debugStatus:
+ type: string
+ minLength: 1
+ digitalAssetWalletAddress:
+ type: string
+ minLength: 1
+ enterpriseId:
+ type: string
+ minLength: 1
+ govIdCountryOfIssuance:
+ type: string
+ minLength: 1
+ identificationNumber:
+ type: string
+ minLength: 1
+ nameFirst:
+ type: string
+ minLength: 1
+ nameLast:
+ type: string
+ minLength: 1
+ nameMiddle:
+ type: string
+ minLength: 1
+ notionalTradedEachMonth:
+ type: number
+ occupation:
+ $ref: '#/components/schemas/IdentityOccupation'
+ organizationId:
+ type: string
+ minLength: 1
+ phoneNumber:
+ type: string
+ minLength: 1
+ politicallyExposedPerson:
+ type: boolean
+ transactionType:
+ type: string
+ enum:
+ - institutionalIndividual
+ userId:
+ type: string
+ minLength: 1
+ required:
+ - addressCity
+ - addressStreet1
+ - addressSubdivision
+ - birthdate
+ - country
+ - countryOfCitizenship
+ - countryOfResidence
+ - enterpriseId
+ - govIdCountryOfIssuance
+ - nameFirst
+ - nameLast
+ - occupation
+ - organizationId
+ - phoneNumber
+ - politicallyExposedPerson
+ - transactionType
+ - userId
+ - type: object
+ properties:
+ birthdate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ country:
+ type: string
+ minLength: 1
+ countryOfIncorporation:
+ type: string
+ minLength: 1
+ dateOfIncorporation:
+ type: string
+ format: date-time
+ title: ISO Date String
+ debugFailureReason:
+ type: string
+ minLength: 1
+ debugStatus:
+ type: string
+ minLength: 1
+ enterpriseId:
+ type: string
+ minLength: 1
+ enterpriseName:
+ type: string
+ minLength: 1
+ isEntity:
+ type: boolean
+ nameFirst:
+ type: string
+ minLength: 1
+ nameLast:
+ type: string
+ minLength: 1
+ nameMiddle:
+ type: string
+ minLength: 1
+ organizationId:
+ type: string
+ transactionType:
+ type: string
+ enum:
+ - starterSignup
+ userId:
+ type: string
+ minLength: 1
+ required:
+ - birthdate
+ - country
+ - enterpriseId
+ - isEntity
+ - nameFirst
+ - nameLast
+ - organizationId
+ - transactionType
+ - userId
+ - type: object
+ properties:
+ birthdate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ country:
+ type: string
+ minLength: 1
+ debugFailureReason:
+ type: string
+ minLength: 1
+ debugStatus:
+ type: string
+ minLength: 1
+ enterpriseId:
+ type: string
+ minLength: 1
+ nameFirst:
+ type: string
+ minLength: 1
+ nameLast:
+ type: string
+ minLength: 1
+ nameMiddle:
+ type: string
+ minLength: 1
+ organizationId:
+ type: string
+ transactionType:
+ type: string
+ enum:
+ - kycInc
+ userId:
+ type: string
+ minLength: 1
+ required:
+ - birthdate
+ - country
+ - enterpriseId
+ - nameFirst
+ - nameLast
+ - organizationId
+ - transactionType
+ - userId
+ - type: object
+ properties:
+ addressCity:
+ type: string
+ minLength: 1
+ addressPostalCode:
+ type: string
+ minLength: 1
+ addressStreet1:
+ type: string
+ minLength: 1
+ addressStreet2:
+ type: string
+ minLength: 1
+ addressSubdivision:
+ type: string
+ minLength: 1
+ birthdate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ country:
+ type: string
+ minLength: 1
+ countryOfCitizenship:
+ type: string
+ minLength: 1
+ countryOfResidence:
+ type: string
+ minLength: 1
+ debugFailureReason:
+ type: string
+ minLength: 1
+ debugStatus:
+ type: string
+ minLength: 1
+ digitalAssetWalletAddress:
+ type: string
+ minLength: 1
+ enterpriseId:
+ type: string
+ minLength: 1
+ govIdCountryOfIssuance:
+ type: string
+ minLength: 1
+ identificationNumber:
+ type: string
+ minLength: 1
+ nameFirst:
+ type: string
+ minLength: 1
+ nameLast:
+ type: string
+ minLength: 1
+ nameMiddle:
+ type: string
+ minLength: 1
+ notionalTradedEachMonth:
+ type: number
+ occupation:
+ $ref: '#/components/schemas/IdentityOccupation'
+ organizationId:
+ type: string
+ minLength: 1
+ phoneNumber:
+ type: string
+ minLength: 1
+ politicallyExposedPerson:
+ type: boolean
+ transactionType:
+ type: string
+ enum:
+ - incContracted
+ userId:
+ type: string
+ minLength: 1
+ required:
+ - addressCity
+ - addressStreet1
+ - addressSubdivision
+ - birthdate
+ - country
+ - countryOfCitizenship
+ - countryOfResidence
+ - enterpriseId
+ - govIdCountryOfIssuance
+ - nameFirst
+ - nameLast
+ - occupation
+ - organizationId
+ - phoneNumber
+ - politicallyExposedPerson
+ - transactionType
+ - userId
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/IdentityCreateResponse'
+ get:
+ summary: Get Identity
+ description: Get a Persona transaction.
+ operationId: entity.validation.identity.get
+ tags:
+ - Entity Validation
+ parameters:
+ - name: organizationId
+ in: query
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ - name: enterpriseId
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ - name: userId
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ - name: identityId
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ - name: allData
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/IdentityGetResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError2'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError2'
+ /api/evs/v1/identity/{id}:
+ patch:
+ summary: Patch Update Identity
+ description: Update an existing Persona transaction.
+ operationId: entity.validation.identity.update
+ tags:
+ - Entity Validation
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ enterpriseId:
+ type: string
+ minLength: 1
+ userId:
+ type: string
+ minLength: 1
+ organizationId:
+ type: string
+ minLength: 1
+ nameFirst:
+ type: string
+ minLength: 1
+ nameLast:
+ type: string
+ minLength: 1
+ nameMiddle:
+ type: string
+ minLength: 1
+ debugStatus:
+ type: string
+ minLength: 1
+ debugFailureReason:
+ type: string
+ minLength: 1
+ contractSignerNameFull:
+ type: string
+ minLength: 1
+ contractSignedDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ contractSignedIPAddress:
+ type: string
+ minLength: 1
+ contractVersion:
+ type: string
+ minLength: 1
+ userAgreesToTerms:
+ type: boolean
+ occupation:
+ type: string
+ enum:
+ - Agriculture
+ - Art Dealer / Auctioneer / Import / Export Company
+ - Financial Services (Asset Mgmt., Bank, Broker Dealer, Commodities, Mutual Fund, Ins. Co)
+ - Casinos and Gambling Establishments
+ - Charity/NGO/Non-Profit/Foundation/Endowment
+ - Computer Programmer / Administrator / Software Engineer / IT or Software / Technology Company
+ - Crypto Services (ATM, Exchange, Lender, Coins/Token)
+ - Education / Teacher
+ - Extractive Industry (Oil, Gas, etc.) / Jewels / Gemstones / Precious Metals
+ - Family Office
+ - Film / TV / Entertainment (not adult)
+ - Government/State owned/Political Org. (i.e. Sovereign Wealth Fund)
+ - Healthcare
+ - Law Enforcement / Military / Protective Services
+ - Miner / Mining Pool
+ - Money Service Business
+ - Other
+ - Private Equity / Venture Capital
+ - Professional Service Providers (lawyers accountants etc.)
+ - Real estate brokers developers and appraisers
+ - Recreation / Hospitality
+ - Student / Unemployed / Retired
+ - Traders / Trading (High Frequency, Proprietary, Market Maker)
+ - Other - Default
+ - Weapons Dealers
+ annualIncome:
+ type: string
+ enum:
+ - Under $50,000
+ - $50,001 - $100,000
+ - $100,001 - $300,000
+ - $300,001 - $500,000
+ - $500,001 and over
+ netWorth:
+ type: string
+ enum:
+ - Under $100,000
+ - $100,001 - $500,000
+ - $500,001 - $1,000,000
+ - $1,000,001 - $5,000,000
+ - $5,000,001 and over
+ sourceOfNetWorth:
+ type: string
+ enum:
+ - 'Employment Income: Includes salaries, wages, and bonuses.'
+ - 'Business Income: Revenue from self-owned businesses or proceeds from the sale of a business.'
+ - 'Legal and Compensation Payments: Funds received from legal settlements, including insurance claims, divorce settlements, accident compensations, etc.'
+ - 'Inheritances and Gifts: Money or assets received as an inheritance, gift, or through trust distributions.'
+ - 'Investment Earnings: Profits derived from investments such as cryptocurrencies, stocks, bonds, private equity, or venture capital.'
+ initialDepositType:
+ type: string
+ enum:
+ - Fiat Currency
+ - Crypto / Digital Assets
+ expectedMonthlyDeposits:
+ type: string
+ enum:
+ - 0-10 Transactions
+ - 11-20 Transactions
+ - 21+ Transactions
+ expectedMonthlyWithdrawals:
+ type: string
+ enum:
+ - 0-10 Transactions
+ - 11-20 Transactions
+ - 21+ Transactions
+ phoneNumber:
+ type: string
+ minLength: 1
+ birthdate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ countryOfCitizenship:
+ type: string
+ minLength: 1
+ countryOfResidence:
+ type: string
+ minLength: 1
+ govIdCountryOfIssuance:
+ type: string
+ minLength: 1
+ politicallyExposedPerson:
+ type: boolean
+ addressStreet1:
+ type: string
+ minLength: 1
+ addressCity:
+ type: string
+ minLength: 1
+ addressSubdivision:
+ type: string
+ minLength: 1
+ country:
+ type: string
+ minLength: 1
+ identificationNumber:
+ type: string
+ minLength: 1
+ addressStreet2:
+ type: string
+ minLength: 1
+ addressPostalCode:
+ type: string
+ minLength: 1
+ digitalAssetWalletAddress:
+ type: string
+ minLength: 1
+ notionalTradedEachMonth:
+ type: number
+ isEntity:
+ type: boolean
+ enterpriseName:
+ type: string
+ minLength: 1
+ countryOfIncorporation:
+ type: string
+ minLength: 1
+ dateOfIncorporation:
+ type: string
+ format: date-time
+ title: ISO Date String
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/IdentityUpdateResponse'
+ /api/evs/v1/identity/{id}/signatures:
+ post:
+ summary: POST Identity Submit Signatures
+ description: Submit Contract Signatures for a given identity
+ operationId: entity.validation.identity.signatures
+ tags:
+ - Entity Validation
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/ESignatures'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/IdentityUpdateResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError2'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError2'
+ /api/evs/v1/identity/{identityId}/document:
+ post:
+ summary: Create Identity Document
+ description: Create a Document for an Identity.
+ operationId: entity.validation.identity.document.create
+ tags:
+ - Entity Validation
+ parameters:
+ - name: identityId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ selectedIdClass:
+ type: string
+ enum:
+ - cct
+ - cid
+ - dl
+ - foid
+ - hic
+ - id
+ - ipp
+ - keyp
+ - ltpass
+ - munid
+ - myn
+ - nbi
+ - nric
+ - ofw
+ - rp
+ - pan
+ - pid
+ - pp
+ - ppc
+ - pr
+ - sss
+ - td
+ - tribalid
+ - umid
+ - vid
+ - visa
+ - wp
+ frontPhoto: {}
+ backPhoto: {}
+ proofOfResidency: {}
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PostIdentityDocumentCreateResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError2'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError2'
+ /api/evs/v1/identity/{identityId}/document/{documentId}:
+ put:
+ summary: Update Identity Document
+ description: Upodate a Document for an Identity.
+ operationId: entity.validation.identity.document.update
+ tags:
+ - Entity Validation
+ parameters:
+ - name: identityId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ - name: documentId
+ in: path
+ required: true
+ schema:
+ type: string
+ title: uuid
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ selectedIdClass:
+ type: string
+ enum:
+ - cct
+ - cid
+ - dl
+ - foid
+ - hic
+ - id
+ - ipp
+ - keyp
+ - ltpass
+ - munid
+ - myn
+ - nbi
+ - nric
+ - ofw
+ - rp
+ - pan
+ - pid
+ - pp
+ - ppc
+ - pr
+ - sss
+ - td
+ - tribalid
+ - umid
+ - vid
+ - visa
+ - wp
+ frontPhoto: {}
+ backPhoto: {}
+ proofOfResidency: {}
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PutIdentityDocumentUpdateResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError2'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError2'
+ /api/evs/v1/identity/document:
+ get:
+ summary: Get Identity Document
+ description: Get a document for an Identity.
+ operationId: entity.validation.identity.document.get
+ tags:
+ - Entity Validation
+ parameters:
+ - name: identityId
+ in: query
+ schema:
+ type: string
+ title: uuid
+ - name: documentId
+ in: query
+ schema:
+ type: string
+ title: uuid
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/IdentityDocumentGetResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError2'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError2'
+ /api/org/enterprise/{enterpriseId}:
+ get:
+ operationId: org.enterprise
+ summary: Get child enterprise
+ description: Get a child enterprise by its ID for a child enterprise within an organization.
+ tags:
+ - Enterprise Management
+ parameters:
+ - schema:
+ type: string
+ required: true
+ name: enterpriseId
+ in: path
+ - schema:
+ type: string
+ required: true
+ name: organizationId
+ in: query
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ organizationEnterprise:
+ allOf:
+ - type: object
+ properties:
+ enterprise:
+ allOf:
+ - type: object
+ properties:
+ id:
+ type: string
+ name:
+ type: string
+ additionalEnterpriseInfo:
+ type: object
+ properties:
+ contact:
+ type: object
+ properties:
+ addressType:
+ type: string
+ name:
+ type: string
+ street:
+ type: string
+ street2:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ suite:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ city:
+ type: string
+ state:
+ type: string
+ postalCode:
+ type: string
+ country:
+ type: string
+ bitgoOrg:
+ type: string
+ enum:
+ - BitGo Trust
+ - BitGo New York
+ - BitGo Germany
+ - BitGo Switzerland
+ - Frankfurt DE Trust
+ - BitGo Singapore
+ - BitGo Sister Trust 1
+ - BitGo Inc
+ kycState:
+ type: string
+ enum:
+ - unverified
+ - approved
+ - rejected
+ - pending
+ legalIdentifiers:
+ allOf:
+ - type: object
+ properties:
+ legalPersonNameIdentifierType:
+ type: string
+ enum:
+ - LEGL
+ required:
+ - legalPersonNameIdentifierType
+ - type: object
+ properties:
+ legalPersonName:
+ type: string
+ type:
+ type: string
+ latestSAVersionSigned:
+ type: number
+ travelRule:
+ type: boolean
+ productLicenses:
+ type: array
+ items:
+ type: string
+ canAccessBorrowing:
+ type: boolean
+ canAccessLending:
+ type: boolean
+ canAccessSettlement:
+ type: boolean
+ canAccessTrading:
+ type: boolean
+ canCreateColdWallet:
+ type: boolean
+ canCreateHotWallet:
+ type: boolean
+ canCreateCustodialWallet:
+ type: boolean
+ canCreateOffchainWallet:
+ type: boolean
+ oneTimeFees:
+ type: array
+ items:
+ type: string
+ upfrontPaymentStatus:
+ type: string
+ ethAlwaysUseHop:
+ type: boolean
+ usersViewAllWallets:
+ type: boolean
+ videoIdWaived:
+ type: boolean
+ required:
+ - id
+ - name
+ - additionalEnterpriseInfo
+ - bitgoOrg
+ - kycState
+ - legalIdentifiers
+ - type
+ - latestSAVersionSigned
+ - travelRule
+ - productLicenses
+ - canAccessBorrowing
+ - canAccessLending
+ - canAccessSettlement
+ - canAccessTrading
+ - canCreateColdWallet
+ - canCreateHotWallet
+ - canCreateCustodialWallet
+ - canCreateOffchainWallet
+ - oneTimeFees
+ - upfrontPaymentStatus
+ - ethAlwaysUseHop
+ - usersViewAllWallets
+ - videoIdWaived
+ - type: object
+ properties:
+ accountType:
+ type: string
+ enum:
+ - individual
+ - entity
+ businessModel:
+ type: string
+ enum:
+ - bitgoAsAService
+ salesforceAccountId:
+ type: string
+ salesforceOpportunityId:
+ type: string
+ salesEmail:
+ type: string
+ cheetahAccountId:
+ type: string
+ primaryContact:
+ type: string
+ minLength: 1
+ organizationId:
+ type: string
+ emergencyPhone:
+ type: string
+ pricingPlan:
+ type: string
+ approvalsRequired:
+ type: number
+ mutablePolicyWindow:
+ type: number
+ freeze:
+ type: object
+ properties:
+ time:
+ anyOf:
+ - type: string
+ - type: string
+ expires:
+ anyOf:
+ - type: string
+ - type: string
+ bitgoEthKey:
+ type: string
+ ethFeeAddress:
+ type: string
+ walletLimit:
+ type: object
+ additionalProperties:
+ type: number
+ preferredUi:
+ type: string
+ enum:
+ - bg23
+ - ''
+ custodialWalletLimit:
+ anyOf:
+ - type: object
+ additionalProperties:
+ type: number
+ - nullable: true
+ - nullable: true
+ featureFlags:
+ type: array
+ items:
+ type: string
+ labels:
+ type: array
+ items:
+ type: string
+ licenses:
+ type: array
+ items:
+ type: string
+ ellipticId:
+ type: string
+ ellipticHotWallets:
+ type: boolean
+ vaspId:
+ type: string
+ coinSpecific:
+ type: object
+ additionalProperties:
+ nullable: true
+ walletCounts:
+ type: object
+ properties:
+ enterpriseWallets:
+ type: object
+ additionalProperties:
+ type: number
+ required:
+ - enterpriseWallets
+ activePricingType:
+ anyOf:
+ - allOf:
+ - type: object
+ properties:
+ name:
+ type: string
+ enum:
+ - starter
+ - growth
+ - employee
+ required:
+ - name
+ - type: object
+ properties:
+ startDate:
+ anyOf:
+ - type: string
+ - type: string
+ startReason:
+ type: string
+ required:
+ - startDate
+ - startReason
+ - type: object
+ properties:
+ id:
+ type: string
+ endDate:
+ anyOf:
+ - type: string
+ - type: string
+ - nullable: true
+ - nullable: true
+ endReason:
+ type: string
+ - nullable: true
+ - nullable: true
+ source:
+ type: string
+ enum:
+ - bitcoinBuilder
+ - ftx
+ - sofi
+ totalWalletsCount:
+ type: number
+ internal:
+ type: object
+ properties:
+ migratedToNewPolicyService:
+ anyOf:
+ - type: boolean
+ - nullable: true
+ - nullable: true
+ policiesLocked:
+ type: boolean
+ required:
+ - migratedToNewPolicyService
+ - policiesLocked
+ distributedCustody:
+ type: object
+ properties:
+ signingBitgoOrg:
+ type: string
+ enum:
+ - BitGo Trust
+ - BitGo New York
+ - BitGo Germany
+ - BitGo Switzerland
+ - Frankfurt DE Trust
+ - BitGo Singapore
+ - BitGo Sister Trust 1
+ - BitGo Inc
+ required:
+ - signingBitgoOrg
+ migratedToNewPolicyService:
+ type: boolean
+ videoIdUsers:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ email:
+ type: string
+ minLength: 1
+ userId:
+ type: string
+ minLength: 1
+ inviter:
+ type: string
+ minLength: 1
+ state:
+ type: string
+ enum:
+ - awaitingApproval
+ - awaitingAcceptance
+ - pendingSchedule
+ - pendingInitialId
+ - underReview
+ - approved
+ - rejected
+ - archived
+ required:
+ - email
+ - userId
+ - inviter
+ - state
+ - type: object
+ properties:
+ videoCallId:
+ type: string
+ approvalDate:
+ type: string
+ archivedDate:
+ type: string
+ pendingApprovalId:
+ type: string
+ videoLink:
+ type: string
+ required:
+ - enterprise
+ - type: object
+ properties:
+ account:
+ type: string
+ required:
+ - account
+ required:
+ - organizationEnterprise
+ /api/org/enterprise/{enterpriseId}/asset-balances:
+ get:
+ operationId: org.enterprise.assetbalances
+ summary: List asset balances
+ description: List asset balances by coin for a given enterprise
+ tags:
+ - Enterprise Management
+ parameters:
+ - schema:
+ type: string
+ required: true
+ name: enterpriseId
+ in: path
+ - schema:
+ type: string
+ enum:
+ - ARS
+ - AUD
+ - CAD
+ - CLP
+ - CNY
+ - COP
+ - DKK
+ - EUR
+ - GBP
+ - INR
+ - JPY
+ - NOK
+ - SEK
+ - TRY
+ - USD
+ - UYU
+ - ZAR
+ required: false
+ name: currency
+ in: query
+ - schema:
+ type: string
+ required: true
+ name: enterprise
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: coin
+ in: query
+ - schema:
+ anyOf:
+ - type: boolean
+ - type: string
+ enum:
+ - 'true'
+ - type: string
+ enum:
+ - 'false'
+ required: false
+ name: showEmptyBalances
+ in: query
+ - schema:
+ anyOf:
+ - type: boolean
+ - type: string
+ enum:
+ - 'true'
+ - type: string
+ enum:
+ - 'false'
+ required: false
+ name: expandTradingBalance
+ in: query
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ balances:
+ type: array
+ items:
+ type: object
+ properties:
+ balanceString:
+ type: string
+ spendableBalanceString:
+ type: string
+ coin:
+ type: string
+ lockedBalanceString:
+ type: string
+ stakedBalanceString:
+ type: string
+ confirmedBalanceString:
+ type: string
+ fiatValue:
+ type: number
+ displayValue:
+ type: string
+ humanReadableValue:
+ type: string
+ spendableFiatValue:
+ type: number
+ spendableDisplayValue:
+ type: string
+ lockedFiatValue:
+ type: number
+ lockedDisplayValue:
+ type: string
+ stakedFiatValue:
+ type: number
+ stakedDisplayValue:
+ type: string
+ confirmedFiatValue:
+ type: number
+ confirmedDisplayValue:
+ type: string
+ marketPrice:
+ type: number
+ portfolioPercent:
+ type: number
+ required:
+ - balanceString
+ - coin
+ total:
+ type: number
+ required:
+ - balances
+ - total
+ /api/org/search:
+ get:
+ operationId: org.search.results
+ summary: Global search across the organization
+ description: List of customers & transactions across the organization.
+ tags:
+ - Organization Search History
+ parameters:
+ - schema:
+ type: string
+ required: true
+ name: organizationId
+ in: query
+ - schema:
+ type: string
+ required: true
+ name: searchTerm
+ in: query
+ - schema:
+ type: string
+ enum:
+ - customers
+ - transactions
+ required: false
+ name: searchType
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: usersNextBatchPrevId
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: transfersNextBatchPrevId
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: limit
+ in: query
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ userResults:
+ allOf:
+ - type: object
+ properties:
+ users:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ id:
+ type: string
+ username:
+ type: string
+ name:
+ type: object
+ properties:
+ first:
+ type: string
+ full:
+ type: string
+ last:
+ type: string
+ required:
+ - first
+ - full
+ - last
+ enterprises:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ permissions:
+ type: array
+ items:
+ type: string
+ required:
+ - permissions
+ - type: object
+ properties:
+ id:
+ type: string
+ beneficialOwner:
+ type: boolean
+ name:
+ type: string
+ email:
+ type: object
+ properties:
+ email:
+ type: string
+ verified:
+ type: boolean
+ required:
+ - email
+ - verified
+ required:
+ - id
+ - username
+ - name
+ - enterprises
+ - email
+ - type: object
+ properties:
+ agreements:
+ allOf:
+ - type: object
+ properties:
+ patriotAct:
+ type: number
+ termsOfUse:
+ type: number
+ required:
+ - patriotAct
+ - termsOfUse
+ - type: object
+ properties:
+ patriotActAcceptanceDate:
+ type: string
+ termsOfUseAcceptanceDate:
+ type: string
+ allowedCoins:
+ type: array
+ items:
+ type: string
+ bitgoEmployee:
+ type: boolean
+ currency:
+ type: object
+ properties:
+ bitcoinUnit:
+ type: string
+ currency:
+ type: string
+ required:
+ - bitcoinUnit
+ - currency
+ disableReset2FA:
+ type: boolean
+ organizations:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ permissions:
+ type: array
+ items:
+ type: string
+ enum:
+ - admin
+ required:
+ - permissions
+ - type: object
+ properties:
+ role:
+ type: string
+ enum:
+ - admin
+ - member
+ - customer
+ required:
+ - role
+ - type: object
+ properties:
+ id:
+ type: string
+ name:
+ type: string
+ featureFlags:
+ type: array
+ items:
+ type: string
+ forceResetPassword:
+ type: boolean
+ identity:
+ type: object
+ properties:
+ kyc:
+ allOf:
+ - type: object
+ properties:
+ available:
+ type: boolean
+ required:
+ type: boolean
+ required:
+ - available
+ - required
+ - type: object
+ properties:
+ data:
+ allOf:
+ - type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ required:
+ - state
+ - type: object
+ properties:
+ fields:
+ anyOf:
+ - nullable: true
+ - type: object
+ additionalProperties:
+ nullable: true
+ - nullable: true
+ documents:
+ type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ required:
+ - state
+ failureCount:
+ type: number
+ fullyRequired:
+ type: boolean
+ hasVideoID:
+ type: boolean
+ overallState:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ passport:
+ allOf:
+ - type: object
+ properties:
+ required:
+ type: boolean
+ required:
+ - required
+ - type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ residency:
+ type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ required:
+ - state
+ isScreeningRequired:
+ type: boolean
+ enterpriseVideoCallInfo:
+ type: array
+ items:
+ type: object
+ properties:
+ enterpriseId:
+ type: string
+ videoCallId:
+ type: string
+ required:
+ - enterpriseId
+ - videoCallId
+ verified:
+ type: boolean
+ otpDevices:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ createDate:
+ type: string
+ id:
+ type: string
+ required:
+ - createDate
+ - id
+ - type: object
+ properties:
+ backupPhone:
+ type: string
+ label:
+ type: string
+ lastValidatedDate:
+ type: string
+ phone:
+ type: string
+ registeredKey:
+ type: object
+ properties:
+ certificate:
+ type: string
+ keyHandle:
+ type: string
+ publicKey:
+ type: string
+ type:
+ type: string
+ enum:
+ - authy
+ - totp
+ - u2f
+ - webauthn
+ - yubikey
+ verified:
+ type: boolean
+ scopes:
+ type: array
+ items:
+ type: string
+ enum:
+ - wallet_hot
+ extensions:
+ type: object
+ additionalProperties:
+ type: boolean
+ prfSalt:
+ type: string
+ phone:
+ type: object
+ properties:
+ phone:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ verified:
+ type: boolean
+ required:
+ - phone
+ - verified
+ timezone:
+ type: string
+ required:
+ - agreements
+ - allowedCoins
+ - bitgoEmployee
+ - currency
+ - disableReset2FA
+ - organizations
+ - featureFlags
+ - forceResetPassword
+ - identity
+ - otpDevices
+ - phone
+ - timezone
+ - type: object
+ properties:
+ apps:
+ nullable: true
+ country:
+ type: string
+ ecdhKeychain:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ isActive:
+ type: boolean
+ isFrozen:
+ type: boolean
+ freezeReason:
+ type: string
+ lastLogin:
+ type: string
+ locale:
+ type: string
+ pgpKey:
+ type: string
+ rateLimits:
+ nullable: true
+ referrer:
+ type: object
+ properties:
+ campaign:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ source:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ signupDomain:
+ type: string
+ state:
+ type: string
+ sourceVerificationRequired:
+ type: boolean
+ sourceVerificationRequiredForReadOnlyAccess:
+ type: boolean
+ recoveryCodeSet:
+ type: object
+ properties:
+ id:
+ type: string
+ allCodesUsed:
+ type: boolean
+ required:
+ - id
+ - allCodesUsed
+ required:
+ - users
+ - type: object
+ properties:
+ nextBatchPrevId:
+ type: string
+ transferResults:
+ type: object
+ properties:
+ transfers:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ coin:
+ type: string
+ date:
+ type: string
+ entries:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ address:
+ type: string
+ required:
+ - address
+ - type: object
+ properties:
+ valueString:
+ type: string
+ isChange:
+ type: boolean
+ wallet:
+ type: string
+ value:
+ type: number
+ nftSymbol:
+ type: string
+ type:
+ type: string
+ enum:
+ - flushForwarderTokens
+ - walletFunding
+ - walletInitialization
+ - addressInitialization
+ - importedOutput
+ history:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ action:
+ type: string
+ enum:
+ - created
+ - approved
+ - rejected
+ - signed
+ - unconfirmed
+ - confirmed
+ - removed
+ - commented
+ - failed
+ - regenerated
+ - replaced
+ - replacing
+ - abandoned
+ date:
+ type: string
+ required:
+ - action
+ - date
+ - type: object
+ properties:
+ comment:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ transferId:
+ type: string
+ txid:
+ type: string
+ user:
+ type: string
+ id:
+ type: string
+ state:
+ type: string
+ enum:
+ - initialized
+ - pendingApproval
+ - rejected
+ - signed
+ - unconfirmed
+ - confirmed
+ - removed
+ - failed
+ - replaced
+ - deleted
+ type:
+ type: string
+ enum:
+ - send
+ - receive
+ valueString:
+ type: string
+ wallet:
+ type: string
+ required:
+ - coin
+ - date
+ - entries
+ - history
+ - id
+ - state
+ - type
+ - valueString
+ - wallet
+ - type: object
+ properties:
+ baseValue:
+ type: number
+ baseValueString:
+ type: string
+ comment:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ enterprise:
+ type: string
+ organization:
+ type: string
+ bitgoOrg:
+ type: string
+ pendingApproval:
+ type: string
+ stakingParams:
+ allOf:
+ - type: object
+ properties:
+ actionType:
+ type: string
+ requestId:
+ type: string
+ required:
+ - actionType
+ - requestId
+ - type: object
+ properties:
+ source:
+ type: string
+ enum:
+ - external
+ - internal
+ validator:
+ type: string
+ txid:
+ type: string
+ usd:
+ type: number
+ usdRate:
+ type: number
+ value:
+ type: number
+ replaces:
+ type: array
+ items:
+ type: string
+ replacedBy:
+ type: array
+ items:
+ type: string
+ - type: object
+ properties:
+ sender:
+ type: object
+ properties:
+ address:
+ type: string
+ walletId:
+ type: string
+ walletLabel:
+ type: string
+ valueString:
+ type: string
+ required:
+ - address
+ receiver:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ type: string
+ walletId:
+ type: string
+ walletLabel:
+ type: string
+ valueString:
+ type: string
+ required:
+ - address
+ total:
+ type: object
+ properties:
+ fiatValue:
+ type: number
+ displayValue:
+ type: string
+ amountSent:
+ type: object
+ properties:
+ fiatValue:
+ type: number
+ displayValue:
+ type: string
+ networkFee:
+ type: object
+ properties:
+ fiatValue:
+ type: number
+ displayValue:
+ type: string
+ paygoFee:
+ type: object
+ properties:
+ fiatValue:
+ type: number
+ displayValue:
+ type: string
+ consolidateId:
+ type: string
+ required:
+ - sender
+ - receiver
+ nextBatchPrevId:
+ type: string
+ required:
+ - transfers
+ /api/org/search/history:
+ get:
+ operationId: org.search.history
+ summary: List org search history
+ description: List all previously queried search-history items for an organization.
+ tags:
+ - Organization Search History
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ searchHistory:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ searchTerm:
+ type: string
+ date:
+ type: string
+ required:
+ - id
+ - searchTerm
+ - date
+ required:
+ - searchHistory
+ post:
+ operationId: org.search.history.create
+ summary: Create search history item
+ description: Create a new search history item for reference later
+ tags:
+ - Organization Search History
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ searchTerm:
+ type: string
+ minLength: 1
+ orgId:
+ type: string
+ required:
+ - searchTerm
+ - orgId
+ description: Create Search History Item
+ responses:
+ '201':
+ description: Search history item created successfully
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ id:
+ type: string
+ searchTerm:
+ type: string
+ date:
+ type: string
+ required:
+ - id
+ - searchTerm
+ - date
+ delete:
+ operationId: org.search.history.delete
+ summary: Delete a search history item
+ description: Delete an existing search history item or all history for a given organization
+ tags:
+ - Organization Search History
+ parameters:
+ - schema:
+ type: string
+ required: true
+ name: orgId
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: id
+ in: query
+ responses:
+ '200':
+ description: Search history item deleted successfully
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ deletedRows:
+ type: number
+ required:
+ - deletedRows
+ /api/org/timeline/transfer:
+ get:
+ operationId: org.timeline.transfer
+ summary: List org transfer timeline
+ description: List all timeline events for a given transfer within an organization.
+ tags:
+ - Organization Transfers
+ parameters:
+ - schema:
+ type: string
+ required: true
+ name: transferId
+ in: query
+ - schema:
+ type: string
+ required: true
+ name: organizationId
+ in: query
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ events:
+ type: array
+ items:
+ oneOf:
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - message
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - walletShareInitiated
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ walletId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - walletId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - walletAdminApproval
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ approvers:
+ type: array
+ items:
+ type: string
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ resolutionAction:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ required:
+ - user
+ - resolutionAction
+ - date
+ - resolutionType
+ finalApproverIds:
+ type: array
+ items:
+ type: string
+ walletId:
+ type: string
+ approvalsRequired:
+ type: number
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - approvers
+ - finalApproverIds
+ - walletId
+ - approvalsRequired
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - walletAdminVideoVerification
+ creatorId:
+ type: string
+ transferId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - transferId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - enterpriseInviteInitiated
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ enterpriseId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - enterpriseId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - enterpriseOwnerApproval
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ approvers:
+ type: array
+ items:
+ type: string
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ resolutionAction:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ required:
+ - user
+ - resolutionAction
+ - date
+ - resolutionType
+ enterpriseId:
+ type: string
+ approvalsRequired:
+ type: number
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - approvers
+ - enterpriseId
+ - approvalsRequired
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - enterpriseUserApproval
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ approvers:
+ type: array
+ items:
+ type: string
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ resolutionAction:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ required:
+ - user
+ - resolutionAction
+ - date
+ - resolutionType
+ enterpriseId:
+ type: string
+ approvalsRequired:
+ type: number
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - approvers
+ - enterpriseId
+ - approvalsRequired
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - transferInitiated
+ creatorId:
+ type: string
+ hasBeenApproved:
+ type: boolean
+ pendingApprovalId:
+ type: string
+ transferId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - hasBeenApproved
+ - transferId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - transferApproval
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ finalApproverIds:
+ type: array
+ items:
+ type: string
+ approvers:
+ type: array
+ items:
+ type: string
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ resolutionAction:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ required:
+ - user
+ - resolutionAction
+ - date
+ - resolutionType
+ transferId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - finalApproverIds
+ - approvers
+ - transferId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - policyChangeInitiated
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ policyType:
+ anyOf:
+ - type: string
+ enum:
+ - advancedWhitelist
+ - type: string
+ enum:
+ - allTx
+ - type: string
+ enum:
+ - velocityLimit
+ - type: string
+ enum:
+ - coinAddressWhitelist
+ - type: string
+ enum:
+ - transactionLimit
+ - type: string
+ enum:
+ - bitcoinAddressWhitelist
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - policyType
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - pendingApprovalInitiated
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ walletId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - walletId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - pendingSignature
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - finalApproval
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ approvers:
+ type: array
+ items:
+ type: string
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ resolutionAction:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ required:
+ - user
+ - resolutionAction
+ - date
+ - resolutionType
+ finalApproverIds:
+ type: array
+ items:
+ type: string
+ walletId:
+ type: string
+ approvalsRequired:
+ type: number
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - approvers
+ - finalApproverIds
+ - walletId
+ - approvalsRequired
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - updateOrganizationInitiated
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ organizationId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - organizationId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - organizationOwnerApproval
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ approvers:
+ type: array
+ items:
+ type: string
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ resolutionAction:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ required:
+ - user
+ - resolutionAction
+ - date
+ - resolutionType
+ organizationId:
+ type: string
+ approvalsRequired:
+ type: number
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - approvers
+ - organizationId
+ - approvalsRequired
+ required:
+ - events
+ /api/org/timeline/activity:
+ get:
+ operationId: org.timeline.activity
+ summary: List org activity timeline
+ description: List all timeline events for a given pending approval within an organization.
+ tags:
+ - Organization Management
+ parameters:
+ - schema:
+ type: string
+ required: true
+ name: pendingApprovalId
+ in: query
+ - schema:
+ type: string
+ required: true
+ name: organizationId
+ in: query
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ events:
+ type: array
+ items:
+ oneOf:
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - message
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - walletShareInitiated
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ walletId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - walletId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - walletAdminApproval
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ approvers:
+ type: array
+ items:
+ type: string
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ resolutionAction:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ required:
+ - user
+ - resolutionAction
+ - date
+ - resolutionType
+ finalApproverIds:
+ type: array
+ items:
+ type: string
+ walletId:
+ type: string
+ approvalsRequired:
+ type: number
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - approvers
+ - finalApproverIds
+ - walletId
+ - approvalsRequired
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - walletAdminVideoVerification
+ creatorId:
+ type: string
+ transferId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - transferId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - enterpriseInviteInitiated
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ enterpriseId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - enterpriseId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - enterpriseOwnerApproval
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ approvers:
+ type: array
+ items:
+ type: string
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ resolutionAction:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ required:
+ - user
+ - resolutionAction
+ - date
+ - resolutionType
+ enterpriseId:
+ type: string
+ approvalsRequired:
+ type: number
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - approvers
+ - enterpriseId
+ - approvalsRequired
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - enterpriseUserApproval
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ approvers:
+ type: array
+ items:
+ type: string
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ resolutionAction:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ required:
+ - user
+ - resolutionAction
+ - date
+ - resolutionType
+ enterpriseId:
+ type: string
+ approvalsRequired:
+ type: number
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - approvers
+ - enterpriseId
+ - approvalsRequired
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - transferInitiated
+ creatorId:
+ type: string
+ hasBeenApproved:
+ type: boolean
+ pendingApprovalId:
+ type: string
+ transferId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - hasBeenApproved
+ - transferId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - transferApproval
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ finalApproverIds:
+ type: array
+ items:
+ type: string
+ approvers:
+ type: array
+ items:
+ type: string
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ resolutionAction:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ required:
+ - user
+ - resolutionAction
+ - date
+ - resolutionType
+ transferId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - finalApproverIds
+ - approvers
+ - transferId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - policyChangeInitiated
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ policyType:
+ anyOf:
+ - type: string
+ enum:
+ - advancedWhitelist
+ - type: string
+ enum:
+ - allTx
+ - type: string
+ enum:
+ - velocityLimit
+ - type: string
+ enum:
+ - coinAddressWhitelist
+ - type: string
+ enum:
+ - transactionLimit
+ - type: string
+ enum:
+ - bitcoinAddressWhitelist
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - policyType
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - pendingApprovalInitiated
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ walletId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - walletId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - pendingSignature
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - finalApproval
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ approvers:
+ type: array
+ items:
+ type: string
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ resolutionAction:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ required:
+ - user
+ - resolutionAction
+ - date
+ - resolutionType
+ finalApproverIds:
+ type: array
+ items:
+ type: string
+ walletId:
+ type: string
+ approvalsRequired:
+ type: number
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - approvers
+ - finalApproverIds
+ - walletId
+ - approvalsRequired
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - updateOrganizationInitiated
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ organizationId:
+ type: string
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - organizationId
+ - type: object
+ properties:
+ title:
+ type: string
+ identifier:
+ anyOf:
+ - type: string
+ enum:
+ - depositInitiated
+ - type: string
+ enum:
+ - depositConfirmed
+ - type: string
+ enum:
+ - transferInitiated
+ - type: string
+ enum:
+ - transferSigned
+ - type: string
+ enum:
+ - transferCommented
+ - type: string
+ enum:
+ - broadcastTransferOnChain
+ - type: string
+ enum:
+ - transferConfirmed
+ - type: string
+ enum:
+ - transferFailed
+ - type: string
+ enum:
+ - transferRejected
+ - type: string
+ enum:
+ - fiatSending
+ - type: string
+ enum:
+ - fiatSent
+ - type: string
+ enum:
+ - fiatFailed
+ - type: string
+ enum:
+ - pendingApprovalInitiated
+ - type: string
+ enum:
+ - pendingApprovalPending
+ - type: string
+ enum:
+ - pendingApprovalRequest
+ - type: string
+ enum:
+ - pendingApprovalApproved
+ - type: string
+ enum:
+ - pendingApprovalRejected
+ - type: string
+ enum:
+ - pendingApprovalRescinded
+ - type: string
+ enum:
+ - pendingApprovalResolved
+ - type: string
+ enum:
+ - pendingFinalApproval
+ - type: string
+ enum:
+ - transferPendingApproval
+ - type: string
+ enum:
+ - transferPAApproved
+ - type: string
+ enum:
+ - transferPendingVideoIDApproval
+ - type: string
+ enum:
+ - finalApprovalApproved
+ - type: string
+ enum:
+ - videoApprovalApproved
+ - type: string
+ enum:
+ - pendingIdVerification
+ - type: string
+ enum:
+ - awaitingSignature
+ - type: string
+ enum:
+ - pendingCustodianApproval
+ - type: string
+ enum:
+ - messageSignDetected
+ - type: string
+ enum:
+ - messageSignPending
+ - type: string
+ enum:
+ - messageSignResolved
+ - type: string
+ enum:
+ - transactionRequestPendingSignature
+ - type: string
+ enum:
+ - transactionRequestSigned
+ - type: string
+ enum:
+ - transactionRequestCanceled
+ content:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - past
+ - type: string
+ enum:
+ - past-failed
+ - type: string
+ enum:
+ - past-success
+ - type: string
+ enum:
+ - present
+ - type: string
+ enum:
+ - future
+ createdAt:
+ type: string
+ type:
+ type: string
+ enum:
+ - organizationOwnerApproval
+ creatorId:
+ type: string
+ pendingApprovalId:
+ type: string
+ approvers:
+ type: array
+ items:
+ type: string
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ resolutionAction:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ required:
+ - user
+ - resolutionAction
+ - date
+ - resolutionType
+ organizationId:
+ type: string
+ approvalsRequired:
+ type: number
+ required:
+ - title
+ - identifier
+ - content
+ - status
+ - type
+ - creatorId
+ - pendingApprovalId
+ - approvers
+ - organizationId
+ - approvalsRequired
+ required:
+ - events
+ /api/org/orders:
+ get:
+ operationId: org.trades.orders
+ summary: List org trade orders
+ description: List all trade orders for an organization.
+ tags:
+ - Organization Trades
+ parameters:
+ - schema:
+ type: string
+ required: true
+ name: organizationId
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: enterpriseId
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: accountId
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: orderId
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: dateGte
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: dateLt
+ in: query
+ - schema:
+ type: string
+ enum:
+ - canceled
+ - completed
+ - error
+ - open
+ - pending_cancel
+ - pending_open
+ - scheduled
+ required: false
+ name: status
+ in: query
+ - schema:
+ type: string
+ enum:
+ - buy
+ - sell
+ required: false
+ name: side
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: product
+ in: query
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ accountId:
+ type: string
+ clientOrderId:
+ type: string
+ time:
+ type: string
+ creationDate:
+ type: string
+ scheduledDate:
+ type: string
+ lastFillDate:
+ type: string
+ completionDate:
+ type: string
+ settleDate:
+ type: string
+ type:
+ type: string
+ fundingType:
+ anyOf:
+ - type: string
+ enum:
+ - margin
+ - type: string
+ enum:
+ - funded
+ notes:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - pending_open
+ - type: string
+ enum:
+ - open
+ - type: string
+ enum:
+ - completed
+ - type: string
+ enum:
+ - pending_cancel
+ - type: string
+ enum:
+ - canceled
+ - type: string
+ enum:
+ - error
+ - type: string
+ enum:
+ - scheduled
+ product:
+ type: string
+ side:
+ anyOf:
+ - type: string
+ enum:
+ - buy
+ - type: string
+ enum:
+ - sell
+ quantity:
+ type: string
+ quantityCurrency:
+ type: string
+ filledQuantity:
+ type: string
+ filledQuoteQuantity:
+ type: string
+ averagePrice:
+ type: string
+ limitPrice:
+ type: string
+ initiatedByUserId:
+ type: string
+ canceledByUserId:
+ type: string
+ nullable: true
+ duration:
+ type: number
+ timeInForce:
+ anyOf:
+ - type: string
+ enum:
+ - FOK
+ - type: string
+ enum:
+ - GTC
+ - type: string
+ enum:
+ - GTT
+ - type: string
+ enum:
+ - IOC
+ required:
+ - id
+ - accountId
+ - time
+ - creationDate
+ - completionDate
+ - type
+ - fundingType
+ - status
+ - product
+ - side
+ - quantity
+ - quantityCurrency
+ - filledQuantity
+ - filledQuoteQuantity
+ - averagePrice
+ - canceledByUserId
+ required:
+ - data
+ /api/org/orders/{orderId}:
+ get:
+ operationId: org.trades.orders.id
+ summary: Get org trade order
+ description: Get a trade order by its ID for a trade order within an organization.
+ tags:
+ - Organization Trades
+ parameters:
+ - schema:
+ type: string
+ required: true
+ name: orderId
+ in: path
+ - schema:
+ type: object
+ properties:
+ orderId:
+ type: string
+ required:
+ - orderId
+ required: true
+ name: params
+ in: query
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ order:
+ type: object
+ properties:
+ id:
+ type: string
+ accountId:
+ type: string
+ clientOrderId:
+ type: string
+ time:
+ type: string
+ creationDate:
+ type: string
+ scheduledDate:
+ type: string
+ lastFillDate:
+ type: string
+ completionDate:
+ type: string
+ settleDate:
+ type: string
+ type:
+ type: string
+ fundingType:
+ anyOf:
+ - type: string
+ enum:
+ - margin
+ - type: string
+ enum:
+ - funded
+ notes:
+ type: string
+ status:
+ anyOf:
+ - type: string
+ enum:
+ - pending_open
+ - type: string
+ enum:
+ - open
+ - type: string
+ enum:
+ - completed
+ - type: string
+ enum:
+ - pending_cancel
+ - type: string
+ enum:
+ - canceled
+ - type: string
+ enum:
+ - error
+ - type: string
+ enum:
+ - scheduled
+ product:
+ type: string
+ side:
+ anyOf:
+ - type: string
+ enum:
+ - buy
+ - type: string
+ enum:
+ - sell
+ quantity:
+ type: string
+ quantityCurrency:
+ type: string
+ filledQuantity:
+ type: string
+ filledQuoteQuantity:
+ type: string
+ averagePrice:
+ type: string
+ limitPrice:
+ type: string
+ initiatedByUserId:
+ type: string
+ canceledByUserId:
+ type: string
+ nullable: true
+ duration:
+ type: number
+ timeInForce:
+ anyOf:
+ - type: string
+ enum:
+ - FOK
+ - type: string
+ enum:
+ - GTC
+ - type: string
+ enum:
+ - GTT
+ - type: string
+ enum:
+ - IOC
+ required:
+ - id
+ - accountId
+ - time
+ - creationDate
+ - completionDate
+ - type
+ - fundingType
+ - status
+ - product
+ - side
+ - quantity
+ - quantityCurrency
+ - filledQuantity
+ - filledQuoteQuantity
+ - averagePrice
+ - canceledByUserId
+ required:
+ - order
+ /api/org/order/fills:
+ get:
+ operationId: org.trades.order.fills
+ summary: List org trade order fills
+ description: List all trade order fills for an organization.
+ tags:
+ - Organization Trades
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ orderId:
+ type: string
+ time:
+ type: string
+ product:
+ type: string
+ side:
+ anyOf:
+ - type: string
+ enum:
+ - buy
+ - type: string
+ enum:
+ - sell
+ price:
+ type: string
+ quoteQuantity:
+ type: string
+ quantity:
+ type: string
+ settled:
+ type: boolean
+ required:
+ - id
+ - orderId
+ - time
+ - product
+ - side
+ - price
+ - quoteQuantity
+ - quantity
+ - settled
+ required:
+ - data
+ /api/org/products:
+ get:
+ operationId: org.trades.products
+ summary: List org trade products
+ description: List all trade products for an organization.
+ tags:
+ - Organization Trades
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ name:
+ type: string
+ baseCurrencyId:
+ type: string
+ baseCurrency:
+ type: string
+ quoteCurrencyId:
+ type: string
+ quoteCurrency:
+ type: string
+ baseMinSize:
+ type: string
+ baseMaxSize:
+ type: string
+ baseIncrement:
+ type: string
+ quoteMinSize:
+ type: string
+ quoteIncrement:
+ type: string
+ isTradeDisabled:
+ type: boolean
+ isMarginTradeSupported:
+ type: boolean
+ quoteDisplayPrecision:
+ type: number
+ required:
+ - id
+ - name
+ - baseCurrencyId
+ - baseCurrency
+ - quoteCurrencyId
+ - quoteCurrency
+ - baseMinSize
+ - quoteMinSize
+ - quoteIncrement
+ - isTradeDisabled
+ - isMarginTradeSupported
+ required:
+ - data
+ /api/org/transfers:
+ get:
+ operationId: org.transfers.list
+ summary: List org transfers
+ description: List all transfers within an organization.
+ tags:
+ - Organization Transfers
+ parameters:
+ - schema:
+ type: string
+ required: true
+ name: organizationId
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: search
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: txid
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: dateGte
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: dateLt
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: limit
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: prevId
+ in: query
+ - schema:
+ anyOf:
+ - type: string
+ enum:
+ - initialized
+ - pendingApproval
+ - rejected
+ - signed
+ - unconfirmed
+ - confirmed
+ - removed
+ - failed
+ - replaced
+ - deleted
+ - type: array
+ items:
+ type: string
+ enum:
+ - initialized
+ - pendingApproval
+ - rejected
+ - signed
+ - unconfirmed
+ - confirmed
+ - removed
+ - failed
+ - replaced
+ - deleted
+ required: false
+ name: state
+ in: query
+ - schema:
+ type: string
+ enum:
+ - send
+ - receive
+ required: false
+ name: type
+ in: query
+ - schema:
+ type: string
+ enum:
+ - ARS
+ - AUD
+ - CAD
+ - CLP
+ - CNY
+ - COP
+ - DKK
+ - EUR
+ - GBP
+ - INR
+ - JPY
+ - NOK
+ - SEK
+ - TRY
+ - USD
+ - UYU
+ - ZAR
+ required: false
+ name: currency
+ in: query
+ - schema:
+ anyOf:
+ - type: string
+ - type: array
+ items:
+ type: string
+ required: false
+ name: coin
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: enterpriseId
+ in: query
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ transfers:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ coin:
+ type: string
+ date:
+ type: string
+ entries:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ address:
+ type: string
+ required:
+ - address
+ - type: object
+ properties:
+ valueString:
+ type: string
+ isChange:
+ type: boolean
+ wallet:
+ type: string
+ value:
+ type: number
+ nftSymbol:
+ type: string
+ type:
+ type: string
+ enum:
+ - flushForwarderTokens
+ - walletFunding
+ - walletInitialization
+ - addressInitialization
+ - importedOutput
+ history:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ action:
+ type: string
+ enum:
+ - created
+ - approved
+ - rejected
+ - signed
+ - unconfirmed
+ - confirmed
+ - removed
+ - commented
+ - failed
+ - regenerated
+ - replaced
+ - replacing
+ - abandoned
+ date:
+ type: string
+ required:
+ - action
+ - date
+ - type: object
+ properties:
+ comment:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ transferId:
+ type: string
+ txid:
+ type: string
+ user:
+ type: string
+ id:
+ type: string
+ state:
+ type: string
+ enum:
+ - initialized
+ - pendingApproval
+ - rejected
+ - signed
+ - unconfirmed
+ - confirmed
+ - removed
+ - failed
+ - replaced
+ - deleted
+ type:
+ type: string
+ enum:
+ - send
+ - receive
+ valueString:
+ type: string
+ wallet:
+ type: string
+ required:
+ - coin
+ - date
+ - entries
+ - history
+ - id
+ - state
+ - type
+ - valueString
+ - wallet
+ - type: object
+ properties:
+ baseValue:
+ type: number
+ baseValueString:
+ type: string
+ comment:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ enterprise:
+ type: string
+ organization:
+ type: string
+ bitgoOrg:
+ type: string
+ pendingApproval:
+ type: string
+ stakingParams:
+ allOf:
+ - type: object
+ properties:
+ actionType:
+ type: string
+ requestId:
+ type: string
+ required:
+ - actionType
+ - requestId
+ - type: object
+ properties:
+ source:
+ type: string
+ enum:
+ - external
+ - internal
+ validator:
+ type: string
+ txid:
+ type: string
+ usd:
+ type: number
+ usdRate:
+ type: number
+ value:
+ type: number
+ replaces:
+ type: array
+ items:
+ type: string
+ replacedBy:
+ type: array
+ items:
+ type: string
+ - type: object
+ properties:
+ sender:
+ type: object
+ properties:
+ address:
+ type: string
+ walletId:
+ type: string
+ walletLabel:
+ type: string
+ valueString:
+ type: string
+ required:
+ - address
+ receiver:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ type: string
+ walletId:
+ type: string
+ walletLabel:
+ type: string
+ valueString:
+ type: string
+ required:
+ - address
+ total:
+ type: object
+ properties:
+ fiatValue:
+ type: number
+ displayValue:
+ type: string
+ amountSent:
+ type: object
+ properties:
+ fiatValue:
+ type: number
+ displayValue:
+ type: string
+ networkFee:
+ type: object
+ properties:
+ fiatValue:
+ type: number
+ displayValue:
+ type: string
+ paygoFee:
+ type: object
+ properties:
+ fiatValue:
+ type: number
+ displayValue:
+ type: string
+ consolidateId:
+ type: string
+ required:
+ - sender
+ - receiver
+ nextBatchPrevId:
+ type: string
+ required:
+ - transfers
+ /api/org/transfers/{transferId}:
+ get:
+ operationId: org.transfer
+ summary: Get org transfer
+ description: Get a transfer by its ID for a transfer within an organization.
+ tags:
+ - Organization Transfers
+ parameters:
+ - schema:
+ type: string
+ required: true
+ name: transferId
+ in: path
+ - schema:
+ type: string
+ required: true
+ name: organizationId
+ in: query
+ - schema:
+ type: string
+ enum:
+ - ARS
+ - AUD
+ - CAD
+ - CLP
+ - CNY
+ - COP
+ - DKK
+ - EUR
+ - GBP
+ - INR
+ - JPY
+ - NOK
+ - SEK
+ - TRY
+ - USD
+ - UYU
+ - ZAR
+ required: false
+ name: currency
+ in: query
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ allOf:
+ - type: object
+ properties:
+ coin:
+ type: string
+ date:
+ type: string
+ entries:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ address:
+ type: string
+ required:
+ - address
+ - type: object
+ properties:
+ valueString:
+ type: string
+ isChange:
+ type: boolean
+ wallet:
+ type: string
+ value:
+ type: number
+ nftSymbol:
+ type: string
+ type:
+ type: string
+ enum:
+ - flushForwarderTokens
+ - walletFunding
+ - walletInitialization
+ - addressInitialization
+ - importedOutput
+ history:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ action:
+ type: string
+ enum:
+ - created
+ - approved
+ - rejected
+ - signed
+ - unconfirmed
+ - confirmed
+ - removed
+ - commented
+ - failed
+ - regenerated
+ - replaced
+ - replacing
+ - abandoned
+ date:
+ type: string
+ required:
+ - action
+ - date
+ - type: object
+ properties:
+ comment:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ transferId:
+ type: string
+ txid:
+ type: string
+ user:
+ type: string
+ id:
+ type: string
+ state:
+ type: string
+ enum:
+ - initialized
+ - pendingApproval
+ - rejected
+ - signed
+ - unconfirmed
+ - confirmed
+ - removed
+ - failed
+ - replaced
+ - deleted
+ type:
+ type: string
+ enum:
+ - send
+ - receive
+ valueString:
+ type: string
+ wallet:
+ type: string
+ required:
+ - coin
+ - date
+ - entries
+ - history
+ - id
+ - state
+ - type
+ - valueString
+ - wallet
+ - type: object
+ properties:
+ baseValue:
+ type: number
+ baseValueString:
+ type: string
+ comment:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ enterprise:
+ type: string
+ organization:
+ type: string
+ bitgoOrg:
+ type: string
+ pendingApproval:
+ type: string
+ stakingParams:
+ allOf:
+ - type: object
+ properties:
+ actionType:
+ type: string
+ requestId:
+ type: string
+ required:
+ - actionType
+ - requestId
+ - type: object
+ properties:
+ source:
+ type: string
+ enum:
+ - external
+ - internal
+ validator:
+ type: string
+ txid:
+ type: string
+ usd:
+ type: number
+ usdRate:
+ type: number
+ value:
+ type: number
+ replaces:
+ type: array
+ items:
+ type: string
+ replacedBy:
+ type: array
+ items:
+ type: string
+ - type: object
+ properties:
+ sender:
+ type: object
+ properties:
+ address:
+ type: string
+ walletId:
+ type: string
+ walletLabel:
+ type: string
+ valueString:
+ type: string
+ required:
+ - address
+ receiver:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ type: string
+ walletId:
+ type: string
+ walletLabel:
+ type: string
+ valueString:
+ type: string
+ required:
+ - address
+ total:
+ type: object
+ properties:
+ fiatValue:
+ type: number
+ displayValue:
+ type: string
+ amountSent:
+ type: object
+ properties:
+ fiatValue:
+ type: number
+ displayValue:
+ type: string
+ networkFee:
+ type: object
+ properties:
+ fiatValue:
+ type: number
+ displayValue:
+ type: string
+ paygoFee:
+ type: object
+ properties:
+ fiatValue:
+ type: number
+ displayValue:
+ type: string
+ consolidateId:
+ type: string
+ required:
+ - sender
+ - receiver
+ /api/org/users:
+ get:
+ operationId: org.users
+ summary: List users across the organization
+ description: List users across the organization
+ tags:
+ - User Management
+ parameters:
+ - schema:
+ type: string
+ required: true
+ name: organizationId
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: userId
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: username
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: search
+ in: query
+ - schema:
+ anyOf:
+ - type: number
+ - type: string
+ required: false
+ name: limit
+ in: query
+ - schema:
+ type: string
+ required: false
+ name: prevId
+ in: query
+ - schema:
+ anyOf:
+ - type: array
+ items:
+ type: string
+ enum:
+ - admin
+ - member
+ - customer
+ - type: string
+ enum:
+ - admin
+ - member
+ - customer
+ required: false
+ name: role
+ in: query
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ allOf:
+ - type: object
+ properties:
+ users:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ id:
+ type: string
+ username:
+ type: string
+ name:
+ type: object
+ properties:
+ first:
+ type: string
+ full:
+ type: string
+ last:
+ type: string
+ required:
+ - first
+ - full
+ - last
+ enterprises:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ permissions:
+ type: array
+ items:
+ type: string
+ required:
+ - permissions
+ - type: object
+ properties:
+ id:
+ type: string
+ beneficialOwner:
+ type: boolean
+ name:
+ type: string
+ email:
+ type: object
+ properties:
+ email:
+ type: string
+ verified:
+ type: boolean
+ required:
+ - email
+ - verified
+ required:
+ - id
+ - username
+ - name
+ - enterprises
+ - email
+ - type: object
+ properties:
+ agreements:
+ allOf:
+ - type: object
+ properties:
+ patriotAct:
+ type: number
+ termsOfUse:
+ type: number
+ required:
+ - patriotAct
+ - termsOfUse
+ - type: object
+ properties:
+ patriotActAcceptanceDate:
+ type: string
+ termsOfUseAcceptanceDate:
+ type: string
+ allowedCoins:
+ type: array
+ items:
+ type: string
+ bitgoEmployee:
+ type: boolean
+ currency:
+ type: object
+ properties:
+ bitcoinUnit:
+ type: string
+ currency:
+ type: string
+ required:
+ - bitcoinUnit
+ - currency
+ disableReset2FA:
+ type: boolean
+ organizations:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ permissions:
+ type: array
+ items:
+ type: string
+ enum:
+ - admin
+ required:
+ - permissions
+ - type: object
+ properties:
+ role:
+ type: string
+ enum:
+ - admin
+ - member
+ - customer
+ required:
+ - role
+ - type: object
+ properties:
+ id:
+ type: string
+ name:
+ type: string
+ featureFlags:
+ type: array
+ items:
+ type: string
+ forceResetPassword:
+ type: boolean
+ identity:
+ type: object
+ properties:
+ kyc:
+ allOf:
+ - type: object
+ properties:
+ available:
+ type: boolean
+ required:
+ type: boolean
+ required:
+ - available
+ - required
+ - type: object
+ properties:
+ data:
+ allOf:
+ - type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ required:
+ - state
+ - type: object
+ properties:
+ fields:
+ anyOf:
+ - nullable: true
+ - type: object
+ additionalProperties:
+ nullable: true
+ - nullable: true
+ documents:
+ type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ required:
+ - state
+ failureCount:
+ type: number
+ fullyRequired:
+ type: boolean
+ hasVideoID:
+ type: boolean
+ overallState:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ passport:
+ allOf:
+ - type: object
+ properties:
+ required:
+ type: boolean
+ required:
+ - required
+ - type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ residency:
+ type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ required:
+ - state
+ isScreeningRequired:
+ type: boolean
+ enterpriseVideoCallInfo:
+ type: array
+ items:
+ type: object
+ properties:
+ enterpriseId:
+ type: string
+ videoCallId:
+ type: string
+ required:
+ - enterpriseId
+ - videoCallId
+ verified:
+ type: boolean
+ otpDevices:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ createDate:
+ type: string
+ id:
+ type: string
+ required:
+ - createDate
+ - id
+ - type: object
+ properties:
+ backupPhone:
+ type: string
+ label:
+ type: string
+ lastValidatedDate:
+ type: string
+ phone:
+ type: string
+ registeredKey:
+ type: object
+ properties:
+ certificate:
+ type: string
+ keyHandle:
+ type: string
+ publicKey:
+ type: string
+ type:
+ type: string
+ enum:
+ - authy
+ - totp
+ - u2f
+ - webauthn
+ - yubikey
+ verified:
+ type: boolean
+ scopes:
+ type: array
+ items:
+ type: string
+ enum:
+ - wallet_hot
+ extensions:
+ type: object
+ additionalProperties:
+ type: boolean
+ prfSalt:
+ type: string
+ phone:
+ type: object
+ properties:
+ phone:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ verified:
+ type: boolean
+ required:
+ - phone
+ - verified
+ timezone:
+ type: string
+ required:
+ - agreements
+ - allowedCoins
+ - bitgoEmployee
+ - currency
+ - disableReset2FA
+ - organizations
+ - featureFlags
+ - forceResetPassword
+ - identity
+ - otpDevices
+ - phone
+ - timezone
+ - type: object
+ properties:
+ apps:
+ nullable: true
+ country:
+ type: string
+ ecdhKeychain:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ isActive:
+ type: boolean
+ isFrozen:
+ type: boolean
+ freezeReason:
+ type: string
+ lastLogin:
+ type: string
+ locale:
+ type: string
+ pgpKey:
+ type: string
+ rateLimits:
+ nullable: true
+ referrer:
+ type: object
+ properties:
+ campaign:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ source:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ signupDomain:
+ type: string
+ state:
+ type: string
+ sourceVerificationRequired:
+ type: boolean
+ sourceVerificationRequiredForReadOnlyAccess:
+ type: boolean
+ recoveryCodeSet:
+ type: object
+ properties:
+ id:
+ type: string
+ allCodesUsed:
+ type: boolean
+ required:
+ - id
+ - allCodesUsed
+ required:
+ - users
+ - type: object
+ properties:
+ nextBatchPrevId:
+ type: string
+ /api/org/user/{userId}:
+ get:
+ operationId: org.user
+ summary: Get user by id
+ description: Get user by id
+ tags:
+ - User Management
+ parameters:
+ - schema:
+ type: string
+ required: true
+ name: userId
+ in: path
+ - schema:
+ type: string
+ required: true
+ name: organizationId
+ in: query
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ user:
+ allOf:
+ - type: object
+ properties:
+ id:
+ type: string
+ username:
+ type: string
+ name:
+ type: object
+ properties:
+ first:
+ type: string
+ full:
+ type: string
+ last:
+ type: string
+ required:
+ - first
+ - full
+ - last
+ enterprises:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ permissions:
+ type: array
+ items:
+ type: string
+ required:
+ - permissions
+ - type: object
+ properties:
+ id:
+ type: string
+ beneficialOwner:
+ type: boolean
+ name:
+ type: string
+ email:
+ type: object
+ properties:
+ email:
+ type: string
+ verified:
+ type: boolean
+ required:
+ - email
+ - verified
+ required:
+ - id
+ - username
+ - name
+ - enterprises
+ - email
+ - type: object
+ properties:
+ agreements:
+ allOf:
+ - type: object
+ properties:
+ patriotAct:
+ type: number
+ termsOfUse:
+ type: number
+ required:
+ - patriotAct
+ - termsOfUse
+ - type: object
+ properties:
+ patriotActAcceptanceDate:
+ type: string
+ termsOfUseAcceptanceDate:
+ type: string
+ allowedCoins:
+ type: array
+ items:
+ type: string
+ bitgoEmployee:
+ type: boolean
+ currency:
+ type: object
+ properties:
+ bitcoinUnit:
+ type: string
+ currency:
+ type: string
+ required:
+ - bitcoinUnit
+ - currency
+ disableReset2FA:
+ type: boolean
+ organizations:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ permissions:
+ type: array
+ items:
+ type: string
+ enum:
+ - admin
+ required:
+ - permissions
+ - type: object
+ properties:
+ role:
+ type: string
+ enum:
+ - admin
+ - member
+ - customer
+ required:
+ - role
+ - type: object
+ properties:
+ id:
+ type: string
+ name:
+ type: string
+ featureFlags:
+ type: array
+ items:
+ type: string
+ forceResetPassword:
+ type: boolean
+ identity:
+ type: object
+ properties:
+ kyc:
+ allOf:
+ - type: object
+ properties:
+ available:
+ type: boolean
+ required:
+ type: boolean
+ required:
+ - available
+ - required
+ - type: object
+ properties:
+ data:
+ allOf:
+ - type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ required:
+ - state
+ - type: object
+ properties:
+ fields:
+ anyOf:
+ - nullable: true
+ - type: object
+ additionalProperties:
+ nullable: true
+ - nullable: true
+ documents:
+ type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ required:
+ - state
+ failureCount:
+ type: number
+ fullyRequired:
+ type: boolean
+ hasVideoID:
+ type: boolean
+ overallState:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ passport:
+ allOf:
+ - type: object
+ properties:
+ required:
+ type: boolean
+ required:
+ - required
+ - type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ residency:
+ type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ required:
+ - state
+ isScreeningRequired:
+ type: boolean
+ enterpriseVideoCallInfo:
+ type: array
+ items:
+ type: object
+ properties:
+ enterpriseId:
+ type: string
+ videoCallId:
+ type: string
+ required:
+ - enterpriseId
+ - videoCallId
+ verified:
+ type: boolean
+ otpDevices:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ createDate:
+ type: string
+ id:
+ type: string
+ required:
+ - createDate
+ - id
+ - type: object
+ properties:
+ backupPhone:
+ type: string
+ label:
+ type: string
+ lastValidatedDate:
+ type: string
+ phone:
+ type: string
+ registeredKey:
+ type: object
+ properties:
+ certificate:
+ type: string
+ keyHandle:
+ type: string
+ publicKey:
+ type: string
+ type:
+ type: string
+ enum:
+ - authy
+ - totp
+ - u2f
+ - webauthn
+ - yubikey
+ verified:
+ type: boolean
+ scopes:
+ type: array
+ items:
+ type: string
+ enum:
+ - wallet_hot
+ extensions:
+ type: object
+ additionalProperties:
+ type: boolean
+ prfSalt:
+ type: string
+ phone:
+ type: object
+ properties:
+ phone:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ verified:
+ type: boolean
+ required:
+ - phone
+ - verified
+ timezone:
+ type: string
+ required:
+ - agreements
+ - allowedCoins
+ - bitgoEmployee
+ - currency
+ - disableReset2FA
+ - organizations
+ - featureFlags
+ - forceResetPassword
+ - identity
+ - otpDevices
+ - phone
+ - timezone
+ - type: object
+ properties:
+ apps:
+ nullable: true
+ country:
+ type: string
+ ecdhKeychain:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ isActive:
+ type: boolean
+ isFrozen:
+ type: boolean
+ freezeReason:
+ type: string
+ lastLogin:
+ type: string
+ locale:
+ type: string
+ pgpKey:
+ type: string
+ rateLimits:
+ nullable: true
+ referrer:
+ type: object
+ properties:
+ campaign:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ source:
+ anyOf:
+ - type: string
+ - nullable: true
+ - nullable: true
+ signupDomain:
+ type: string
+ state:
+ type: string
+ sourceVerificationRequired:
+ type: boolean
+ sourceVerificationRequiredForReadOnlyAccess:
+ type: boolean
+ recoveryCodeSet:
+ type: object
+ properties:
+ id:
+ type: string
+ allCodesUsed:
+ type: boolean
+ required:
+ - id
+ - allCodesUsed
+ required:
+ - user
+ /api/v1/enterprise/{enterpriseId}/user:
+ get:
+ tags:
+ - Enterprise
+ summary: List enterprise users
+ operationId: enterprise.user.list
+ parameters:
+ - $ref: '#/components/parameters/pathEnterpriseId'
+ - name: allowInactiveUsers
+ in: query
+ description: Whether inactive Users whose emails are unverified should be returned as well
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/EnterpriseUsersResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidEnterpriseId1'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/enterprise/{enterpriseId}/walletLimits:
+ get:
+ tags:
+ - Enterprise
+ summary: Get enterprise's wallet limits
+ operationId: enterprise.walletLimits
+ parameters:
+ - $ref: '#/components/parameters/pathEnterpriseId'
+ - $ref: '#/components/parameters/coinSingleOrList'
+ - name: isCustodial
+ in: query
+ description: Whether custodial limits should be returned
+ schema:
+ type: boolean
+ enum:
+ - true
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletLimitsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidEnterpriseId1'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/{coin}/enterprise/{enterpriseId}/feeAddressBalance:
+ get:
+ tags:
+ - Enterprise
+ summary: Get gas tank balance
+ description: Returns gas tank balance for an asset.
+ operationId: v2.enterprise.feeAddressBalance
+ parameters:
+ - $ref: '#/components/parameters/pathEnterpriseId'
+ - $ref: '#/components/parameters/pathCoin'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/FeeAddressBalanceResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidEnterpriseId1'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/enterprise/{enterpriseId}/transfer:
+ get:
+ tags:
+ - Transfer
+ summary: List all transfers on all wallets in an enterprise
+ description: |
+ Returns all the transfers without blockchain information (inputs, outputs, confirms). Use the coin specific route
+ to annotate blockchain information.
+ operationId: v2.enterprise.listtransfers
+ parameters:
+ - $ref: '#/components/parameters/pathEnterpriseId'
+ - $ref: '#/components/parameters/dateGte'
+ - $ref: '#/components/parameters/dateLt'
+ - $ref: '#/components/parameters/limit'
+ - $ref: '#/components/parameters/prevId'
+ - $ref: '#/components/parameters/state'
+ - $ref: '#/components/parameters/type'
+ - name: sortBy
+ description: Sorts by specified field, default sorting by heightId.
+ in: query
+ schema:
+ type: string
+ enum:
+ - heightId
+ - id
+ - date
+ - $ref: '#/components/parameters/txRequestSortDirection'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ transfers:
+ type: array
+ items:
+ $ref: '#/components/schemas/Transfer'
+ nextBatchPrevId:
+ $ref: '#/components/schemas/NextBatchPrevId'
+ required:
+ - transfers
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidEnterpriseId1'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/{coin}/transfer:
+ get:
+ tags:
+ - Transfer
+ summary: List transfers on all wallets in an enterprise for a given coin and block height
+ description: |
+ Returns all the transfers. Currently requires an enterpriseId and block height.
+ operationId: v2.listtransfers
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - name: enterpriseId
+ in: query
+ description: The enterprise ID
+ required: true
+ schema:
+ $ref: '#/components/schemas/Id'
+ - name: height
+ in: query
+ description: The block or ledger height to query
+ required: true
+ schema:
+ $ref: '#/components/schemas/IntegerString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TransfersResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidEnterpriseId1'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/{coin}/tx/fee:
+ get:
+ tags:
+ - Transfer
+ summary: Get fee estimate
+ description: |-
+ Returns the estimated fee for a transaction. UTXO coins will return a fee per kB, while Account-based coins will return a flat fee estimate.
+
+ The fee estimate provided by BitGo is higher than the usual network fee. This additional fee is not charged by BitGo but is used to ensure that the transactions are processed faster and do not fail on the blockchain network.
+ operationId: v2.tx.getfeeestimate
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - name: numBlocks
+ schema:
+ type: integer
+ in: query
+ description: target number of blocks
+ - name: recipient
+ schema:
+ type: string
+ in: query
+ description: Recipient of the tx to estimate for (only for ETH)
+ - name: data
+ schema:
+ type: string
+ in: query
+ description: ETH data of the tx to estimate for (only for ETH)
+ - name: amount
+ schema:
+ type: string
+ in: query
+ description: Amount in base units being sent to estimate for (only for ETH)
+ - name: hop
+ schema:
+ type: boolean
+ in: query
+ description: True if we are estimating for a hop tx, false or unspecified for a wallet tx (ETH, AVAXC and POLYGON)
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/EstimateTransactionFees'
+ - $ref: '#/components/schemas/EstimateTransactionFeesAccountCoin'
+ - $ref: '#/components/schemas/EstimateTransactionFeesAlgo'
+ - $ref: '#/components/schemas/EstimateTransactionFeesEth'
+ - $ref: '#/components/schemas/EstimateTransactionFeesTrx'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/{coin}/wallet/averagefee:
+ post:
+ tags:
+ - Wallet
+ summary: Get average fee
+ description: Returns the average fee for a specific number of blocks. Only for ETH and TETH.
+ operationId: v2.wallet.getaveragefee
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - name: numBlocks
+ schema:
+ type: integer
+ in: query
+ description: target number of blocks
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AverageFee'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/user/{id}:
+ get:
+ tags:
+ - User
+ summary: Get user
+ description: |
+ Returns the associated user
+ operationId: user.get
+ parameters:
+ - name: id
+ description: The user ID, email address, or 'me' for the currently authenticated user
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/Id'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/User'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidUserId'
+ '404':
+ description: Not Found
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/getUser.js
+ /api/v2/user/sharingkey:
+ post:
+ tags:
+ - User
+ summary: Get another users public key for wallet sharing
+ operationId: user.sharingkey
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UserSharingKey'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/User'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/{coin}/key:
+ get:
+ tags:
+ - Key
+ summary: List keys
+ operationId: v2.key.list
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/KeysResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/listKeys.js
+ post:
+ tags:
+ - Key
+ summary: Create key
+ operationId: v2.key.add
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateKey'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/Key'
+ - $ref: '#/components/schemas/KeyTSSCreated'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/createKey.js
+ /api/v2/{coin}/wallet/{walletId}/policy/rule:
+ post:
+ tags:
+ - Wallet Policy
+ summary: Add wallet-policy rule
+ description: |
+ Adds a rule to a wallet’s policy. A wallet policy’s rules control the
+ conditions under which BitGo will use its single key to sign a
+ transaction. An email notification will be sent to all wallet users
+ when a policy is updated. This email is NOT sent for the first time
+ policy is added.
+ operationId: v2.wallet.createpolicy
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreatePolicyRule'
+ examples:
+ Add Advanced Whitelist Example:
+ value:
+ id: my-rule-id
+ type: advancedWhitelist
+ condition:
+ add:
+ type: my-wallet-id
+ item: my-item-id
+ metaData:
+ label: Recipient Wallet
+ action:
+ type: getApproval
+ userIds: []
+ Remove Advanced Whitelist Example:
+ value:
+ id: my-rule-id
+ type: advancedWhitelist
+ condition:
+ remove: my-address
+ action:
+ type: getApproval
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Wallet'
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval1'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ put:
+ tags:
+ - Wallet Policy
+ summary: Update wallet-policy rule
+ description: Updates a rule on the policy attached to a wallet
+ operationId: v2.wallet.updatepolicy
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateRemovePolicyRule'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Wallet'
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval1'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ delete:
+ tags:
+ - Wallet Policy
+ summary: Delete wallet-policy rule
+ description: Deletes a rule from the policy attached to a wallet
+ operationId: v2.wallet.removepolicy
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateRemovePolicyRule'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Wallet'
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval1'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ /api/v2/pendingApprovals:
+ get:
+ tags:
+ - Pending approval
+ summary: List pending approvals
+ operationId: v2.approval.list
+ parameters:
+ - $ref: '#/components/parameters/prevId'
+ - $ref: '#/components/parameters/limit'
+ - $ref: '#/components/parameters/coinArray'
+ - $ref: '#/components/parameters/enterpriseId'
+ - $ref: '#/components/parameters/organizationId'
+ - name: requestType
+ in: query
+ schema:
+ type: string
+ enum:
+ - enterpriseInviteRequest
+ - genericRequest
+ - policyRuleRequest
+ - transactionRequest
+ - transactionRequestFull
+ - updateApprovalsRequiredRequest
+ - updateEnterpriseRequest
+ - updateOrganizationRequest
+ - userChangeRequest
+ description: |
+ Filter by request type. The default behavior is to return all request types.
+ - name: state
+ description: |
+ Filter by state. The default behavior is to return objects where state is 'awaitingSignature', 'pending', or 'pendingFinalApproval'
+ in: query
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/PendingApprovalStatePending'
+ - $ref: '#/components/parameters/walletId'
+ - name: expandWalletLabels
+ description: |
+ True, if adding 'walletLabel' to each returned pending approval associated with a 'wallet'
+ in: query
+ schema:
+ type: boolean
+ - $ref: '#/components/parameters/expandAddressLabels'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApprovals'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/listPendingApprovals.js
+ /api/v2/{coin}/wallet/{walletId}/transfer:
+ get:
+ tags:
+ - Transfer
+ summary: List transfers
+ description: |
+ Returns deposits and withdrawals for a wallet. Transfers are sorted
+ in descending order by 'height', then 'id'. Transfers with 'rejected'
+ and 'pendingApproval' states are excluded by default.
+ operationId: v2.wallet.listtransfers
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/allTokens'
+ - $ref: '#/components/parameters/dateGte'
+ - $ref: '#/components/parameters/dateLt'
+ - $ref: '#/components/parameters/height'
+ - $ref: '#/components/parameters/limit'
+ - $ref: '#/components/parameters/prevId'
+ - $ref: '#/components/parameters/state'
+ - $ref: '#/components/parameters/type'
+ - $ref: '#/components/parameters/valueGte'
+ - $ref: '#/components/parameters/valueLt'
+ - $ref: '#/components/parameters/sortBy'
+ - $ref: '#/components/parameters/reverse'
+ - name: id
+ in: query
+ description: Filter for a transfer by one or more transfer ids
+ schema:
+ $ref: '#/components/schemas/Id'
+ - name: pendingApprovalId
+ in: query
+ description: Filter for a transfer with a matching pendingApprovalId
+ schema:
+ $ref: '#/components/schemas/Id'
+ - name: address
+ in: query
+ description: Return transfers with elements in 'entries' that have an 'address' field set to this value
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/AddressString3'
+ - name: includeHex
+ in: query
+ description: Include the raw hex data of the transaction in the response (this may be a large amount of data)
+ schema:
+ type: boolean
+ - name: memoId
+ in: query
+ description: Return transfers with any of the payment identifiers in this array. Available for Stellar and EOS.
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/IntegerString'
+ - name: includeRbf
+ in: query
+ description: True, if including Replace-By-Fee (RBF) transfers.
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TransfersResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/listTransfers.js
+ /api/v2/{coin}/wallet/{walletId}/transfer/{transferId}:
+ get:
+ tags:
+ - Transfer
+ summary: Get transfer
+ description: |
+ A transfer is a wallet specific object. Each transfer will only output the respective wallet id which the
+ transfer is associated with.
+
+ If there is a transaction between two BitGo wallets, then two transfers will be created, one for wallet A,
+ and one for wallet B. Transfer A will only annotate the walletId on entries where the address belongs to
+ wallet A. Transfer B will only annotate the walletId on entries where the address belongs to wallet B.
+ operationId: v2.wallet.gettransfer
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/pathTransferId'
+ - name: includeTxRequestCreatedDate
+ in: query
+ description: True, if returning the 'txRequestCreatedDate'. This field is only present on transfers associated with a transaction request.
+ schema:
+ type: boolean
+ default: false
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AnnotatedTransferWithInputsOutputs'
+ '206':
+ description: Partial Content
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AnnotatedTransfer'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidTransferId'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/getTransfer.js
+ /api/v2/{coin}/wallet/{walletId}/transfer/sequenceId/{sequenceId}:
+ get:
+ tags:
+ - Transfer
+ summary: Get transfer by sequence id
+ operationId: v2.wallet.gettransferbysequenceid
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/pathSequenceId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AnnotatedTransferWithInputsOutputs'
+ '206':
+ description: Partial Content
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AnnotatedTransfer'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ x-code-sample:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/getTransferBySequenceId.js
+ /api/v2/user/lock:
+ post:
+ description: |
+ Locks the current user session. This disallows operations that require
+ an unlocked token, such as sending a transaction.
+ tags:
+ - User
+ summary: Lock session
+ operationId: user.lock
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ session:
+ $ref: '#/components/schemas/LockedSession'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/lockSession.js
+ /api/v2/user/unlock:
+ post:
+ description: |
+ Unlocks the current user session, enabling operations that require
+ an unlocked token, such as sending a transaction. Call this endpoint
+ if an API returns a '401' response with the 'needsUnlock'
+ body parameter set to 'true'.
+
+ **Note:** Unlocking a token with spending limits, removes all spending limits from the token.
+ tags:
+ - User
+ summary: Unlock session
+ operationId: user.unlock
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UnlockRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ session:
+ $ref: '#/components/schemas/Session1'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/unlockSession.js
+ /api/v2/{coin}/wallet:
+ post:
+ tags:
+ - Wallet
+ summary: Add wallet (advanced only)
+ description: |
+ Add Wallet is for advanced API users. It lets you manually create and
+ specify keys. The recommended (and simpler) method is [Generate Wallet](https://developers.bitgo.com/api/express.wallet.generate)
+ with the SDK or BitGo Express. You can also create wallets in the BitGo UI.
+
+ This API creates a new wallet for the user or enterprise. The keys to
+ use with the new wallet (passed in the 'keys' parameter) must be
+ registered with BitGo prior to using this API.
+
+ BitGo currently only supports 2-of-3 (e.g., m=2 and n=3) wallets. The
+ third key, and only the third key, must be a BitGo key. The first key
+ is by convention the user key, with its encrypted xprv stored on BitGo.
+
+ Ethereum and XRP wallets can only be created under an enterprise. Pass in the
+ id of the enterprise to associate the wallet with. Your enterprise id
+ can be seen by clicking on the "Manage Organization" link in the
+ enterprise dropdown. Using the Add Wallet API, you can create a wallet
+ using either the enterprise fee address (used by default for all
+ wallets in the enterprise), or a unique fee address (created manually
+ with the Keychains API). Pass the desired key as the third key ID in
+ the 'keys' array. In either case, the fee address must be funded
+ before creating the wallet.
+
+ You cannot generate a wallet by passing in a subtoken (i.e. ERC20 token) as the coin.
+ Subtokens use the wallet of their parent coin and it is not possible to create a
+ wallet specific to one token. For example, to create a wallet for an ERC20 token,
+ create an Ethereum wallet. It can hold any ERC20 tokens as well as Ether.
+
+ BitGo Ethereum wallet is a smart-contract implementing multi-signature scheme.
+ Because contracts itself can not initiate transactions, fee addresses are used
+ for this purpose. Ethereum transactions initiated by a given address, are
+ confirmed by the network in order of creation, so one lower fee transaction can
+ potentially delay all subsequent transactions. To help lower network fee costs,
+ two fee addresses are provided.
+
+ 'feeAddress' is a main fee address usable for all operations.
+ 'lowPriorityFeeAddress' is a secondary fee address that can be used to pay
+ lower fee for Create Address operations without risking delaying subsequent
+ higher-priority transactions initiated by main fee address.
+ operationId: v2.wallet.add
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateWallet'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Wallet'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidEnterpriseId1'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/addWallet.js
+ get:
+ tags:
+ - Wallet
+ summary: List wallets by coin
+ operationId: v2.wallet.listbycoin
+ description: Lists all your wallets for a specific asset.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/prevId'
+ - $ref: '#/components/parameters/limit'
+ - $ref: '#/components/parameters/allTokens'
+ - $ref: '#/components/parameters/excludeSpendableBalance'
+ - $ref: '#/components/parameters/searchLabelWallets'
+ - $ref: '#/components/parameters/showAllWallets'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletsWithCoinResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '404':
+ description: Not Found
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/listWallets.js
+ /api/v2/{coin}/wallet/address/{address}:
+ get:
+ tags:
+ - Wallet
+ summary: Get wallet by address
+ operationId: v2.wallet.getwalletbyaddress
+ description: Get one wallet by its 'coin' and receive 'address'. Multiple receive addresses can map to one 'walletId'.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathAddress'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Wallet'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '404':
+ description: Not Found
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/getWalletByAddress.js
+ /api/v2/{coin}/wallet/{walletId}:
+ get:
+ tags:
+ - Wallet
+ summary: Get wallet
+ operationId: v2.wallet.get
+ description: Get one wallet by its 'coin' and 'walletId'. One 'walletId' can map to multiple receive addresses.
+ parameters:
+ - $ref: '#/components/parameters/allTokens'
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/unspentCount'
+ - name: includeRbf
+ in: query
+ description: True, if including Replace-By-Fee (RBF) transactions in the total balance amount.
+ schema:
+ type: boolean
+ - name: expandAdvancedWhitelist
+ in: query
+ description: True, if including the advanced whitelist wallet address in the response. The address is annotated as part of the whitelist entry metadata.
+ schema:
+ type: boolean
+ default: false
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ allOf:
+ - $ref: '#/components/schemas/Wallet'
+ - $ref: '#/components/schemas/WalletBalance'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ '404':
+ description: Not Found
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/getWallet.js
+ put:
+ tags:
+ - Wallet
+ summary: Update wallet
+ operationId: v2.wallet.update
+ description: Update a wallet by its 'coin' and 'walletId'.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateWallet'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Wallet'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ '403':
+ description: Forbidden
+ '404':
+ description: Not Found
+ delete:
+ tags:
+ - Wallet
+ summary: Delete wallet
+ description: Delete one wallet by its 'coin' and 'walletId'. Once removed, you can no longer view or access this wallet, but it does remain accessible to other wallet users. If you are the only user on this wallet, you can only delete it if it has a 0 balance.
+ operationId: v2.wallet.remove
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Wallet'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/wallet/{walletId}:
+ get:
+ tags:
+ - Wallet
+ summary: Get wallet by ID
+ operationId: v2.wallet.getbyid
+ description: Get one wallet by its 'walletId'. One 'walletId' can map to multiple receive addresses.
+ parameters:
+ - $ref: '#/components/parameters/allTokens'
+ - $ref: '#/components/parameters/pathWalletId'
+ - name: expandAdvancedWhitelist
+ in: query
+ description: True, if including the advanced whitelist wallet address in the response. The address is annotated as part of the whitelist entry metadata.
+ schema:
+ type: boolean
+ default: false
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ allOf:
+ - $ref: '#/components/schemas/Wallet'
+ - $ref: '#/components/schemas/WalletBalance'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ '404':
+ description: Not Found
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/getWallet.js
+ /api/v2/{coin}/wallet/{walletId}/user/{userId}:
+ delete:
+ tags:
+ - Wallet
+ summary: Remove user from wallet
+ description: |
+ After a user has accepted a wallet share, they become a party on a
+ wallet and the wallet share is considered “complete”. In order to
+ revoke the share after they have accepted, you can remove the user
+ from the wallet.
+
+ This operation requires approval by another wallet administrator
+ if there is more than a single administrator on a wallet.
+ operationId: v2.wallet.removeuser
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/pathUserId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Wallet'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/CannotRemoveAdmin'
+ - $ref: '#/components/schemas/InvalidUserId'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ '404':
+ description: Not Found
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/removeWalletUser.js
+ /api/v2/{coin}/wallet/{walletId}/freeze:
+ post:
+ tags:
+ - Wallet
+ summary: Freeze wallet
+ description: Lock the wallet, preventing any outgoing transactions for a specified number of seconds
+ operationId: v2.wallet.freeze
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ duration:
+ type: number
+ description: time in seconds
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Freeze1'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '404':
+ description: Not Found
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/freezeWallet.js
+ /api/v2/{coin}/wallet/{walletId}/unspents:
+ get:
+ tags:
+ - Wallet
+ summary: Get unspents
+ description: Returns unspent transaction outputs for a wallet
+ operationId: v2.wallet.unspents
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/limit'
+ - $ref: '#/components/parameters/maxValue'
+ - $ref: '#/components/parameters/minConfirms'
+ - $ref: '#/components/parameters/enforceMinConfirmsForChange'
+ - $ref: '#/components/parameters/minHeight'
+ - $ref: '#/components/parameters/minValue'
+ - $ref: '#/components/parameters/prevId'
+ - $ref: '#/components/parameters/segwit'
+ - name: includeRbf
+ in: query
+ description: True, if including Replace-By-Fee (RBF) unspents.
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletUnspents'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/listUnspents.js
+ /api/v2/{coin}/wallet/{walletId}/maximumSpendable:
+ get:
+ tags:
+ - Wallet
+ summary: Get maximum spendable
+ description: |
+ Returns the maximum amount that can be spent with a single transaction
+ on the wallet.
+
+ The maximum spendable amount can differ from a wallet’s total balance.
+ A transaction can only use up to 200 unspents. Wallets that have more
+ than 200 unspents cannot spend the full balance in one transaction.
+ Additionally, the value returned for the maximum spendable amount
+ accounts for the current fee level by deducting the estimated fees.
+ The amount will only be calculated based on the unspents that fit the
+ parameters passed.
+ operationId: v2.wallet.maximumspendable
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/enforceMinConfirmsForChange'
+ - $ref: '#/components/parameters/feeRate'
+ - $ref: '#/components/parameters/limit'
+ - $ref: '#/components/parameters/maxFeeRate'
+ - $ref: '#/components/parameters/maxValue'
+ - $ref: '#/components/parameters/minConfirms'
+ - $ref: '#/components/parameters/minHeight'
+ - $ref: '#/components/parameters/minValue'
+ - $ref: '#/components/parameters/numBlocks'
+ - $ref: '#/components/parameters/unspentIds'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletMaximumSpendable'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/getMaximumSpendable.js
+ /api/v2/{coin}/wallet/{walletId}/spending:
+ get:
+ tags:
+ - Wallet
+ summary: Get spending limits and current amount spent
+ description: |
+ Returns the wallet's currently configured spending limits and the current
+ amount spent during the periods defined by the spending limits.
+ operationId: v2.wallet.spending
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletSpending'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/wallet/{walletId}/reservedunspents:
+ post:
+ tags:
+ - Wallet
+ summary: Make unspent reservation
+ description: Mark the unspents as reserved and cannot be used in transactions until the given expire time.
+ operationId: v2.wallet.reservedunspent.add
+ parameters:
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ unspentIds:
+ type: array
+ minItems: 1
+ items:
+ $ref: '#/components/schemas/UnspentId'
+ expireTime:
+ type: string
+ description: Time when reservation expires. Use 'date-time' format or 'never'. If 'never', reservation doesn't expire.
+ type:
+ type: string
+ description: Type of reservation to make on the unspent.
+ enum:
+ - ordinal
+ - inscription
+ inscriptionIds:
+ type: array
+ items:
+ $ref: '#/components/schemas/InscriptionId'
+ required:
+ - unspentIds
+ - expireTime
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ unspents:
+ type: array
+ items:
+ $ref: '#/components/schemas/ReservedUnspent'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ delete:
+ tags:
+ - Wallet
+ summary: Release unspent reservation
+ description: Release unspents from reservation to be accessible for transactions.
+ operationId: v2.wallet.reservedunspent.delete
+ parameters:
+ - $ref: '#/components/parameters/pathWalletId'
+ - name: id
+ in: query
+ required: true
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/UnspentId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ unspents:
+ type: array
+ items:
+ $ref: '#/components/schemas/ReservedUnspent'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ get:
+ tags:
+ - Wallet
+ summary: List unspent reservation
+ description: Query reserved unspents in the wallet.
+ operationId: v2.wallet.reservedunspent.list
+ parameters:
+ - $ref: '#/components/parameters/pathWalletId'
+ - name: prevId
+ description: Return the next batch of results, based on the "nextBatchPrevId" value from the previous batch.
+ in: query
+ schema:
+ type: string
+ - $ref: '#/components/parameters/limit'
+ - name: expireTimeGt
+ description: Returns reserved unspents with an 'expireTime' greater than this value.
+ in: query
+ schema:
+ type: string
+ format: date-time
+ - name: expireTimeLte
+ description: Returns reserved unspents with an 'expireTime' less than or equal to this value.
+ in: query
+ schema:
+ type: string
+ format: date-time
+ - name: expireTime
+ description: Returns reserved unspents with an 'expireTime' equal to this value. If 'never', returns unspents without expiration dates.
+ in: query
+ schema:
+ type: string
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ unspents:
+ type: array
+ items:
+ $ref: '#/components/schemas/ReservedUnspent'
+ nextBatchPrevId:
+ type: string
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ put:
+ tags:
+ - Wallet
+ summary: Modifying unspent reservation
+ description: Modify expire time of reserved unspents.
+ operationId: v2.wallet.reservedunspent.put
+ parameters:
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ unspentIds:
+ type: array
+ minItems: 1
+ items:
+ $ref: '#/components/schemas/UnspentId'
+ changes:
+ type: object
+ properties:
+ expireTime:
+ type: string
+ description: Time in date-time format when reservation expires. If 'never', reservation doesn't expire.
+ required:
+ - unspentIds
+ - changes
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ unspents:
+ type: array
+ items:
+ $ref: '#/components/schemas/ReservedUnspent'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/wallet/balances:
+ get:
+ tags:
+ - Wallet
+ summary: List total balances
+ description: |
+ Selects wallets based on the given filter parameters. Gets all balances for the selected wallets and sums up the
+ balances by coin.
+ operationId: v2.wallet.gettotalbalances
+ parameters:
+ - $ref: '#/components/parameters/coinArray'
+ - name: deleted
+ in: query
+ description: Filter by deleted state
+ schema:
+ type: array
+ items:
+ type: boolean
+ default:
+ - false
+ - $ref: '#/components/parameters/queryEnterpriseArray'
+ - $ref: '#/components/parameters/queryIdArray'
+ - name: labelContains
+ in: query
+ description: Filter by label substring
+ schema:
+ type: string
+ - name: type
+ in: query
+ description: Filter by wallet type
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/WalletTypePublic'
+ - name: expandCustodialWallet
+ description: Whether balances of linked custodial wallets should be included
+ in: query
+ schema:
+ type: boolean
+ - $ref: '#/components/parameters/skipPendingTxs'
+ - $ref: '#/components/parameters/skipTxCounts'
+ - $ref: '#/components/parameters/excludeEmptyBalances'
+ - $ref: '#/components/parameters/excludeSpendableBalances'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TotalBalances'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/{coin}/wallet/{walletId}/requestreshare:
+ post:
+ tags:
+ - Wallet share
+ summary: Request wallet reshare
+ description: Indicates that the calling user has lost access to the user key and would like to it to be reshared with them.
+ operationId: v2.wallet.sharing.requestreshare
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ responses:
+ '200':
+ description: OK
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/{coin}/wallet/{walletId}/share:
+ post:
+ tags:
+ - Wallet share
+ summary: Create a wallet share
+ description: Share wallet with an existing BitGo user
+ operationId: v2.wallet.sharing.createshare
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ShareWalletRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ShareWalletResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/wallet/requestaccess:
+ post:
+ tags:
+ - Request wallet access
+ summary: Request wallet access
+ description: Allow users that are members of an org to send a notification out to admins of a wallet to get access. You must supply either a walletId or a enterpriseId and walletType
+ operationId: v2.wallet.requestaccess
+ parameters:
+ - $ref: '#/components/parameters/enterprise'
+ - name: type
+ in: query
+ schema:
+ $ref: '#/components/schemas/WalletTypePublic'
+ - name: id
+ in: query
+ schema:
+ $ref: '#/components/schemas/Id'
+ responses:
+ '200':
+ description: OK
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/wallet/{walletId}/rejectreshare:
+ post:
+ tags:
+ - Wallet share
+ summary: Reject a wallet reshare request
+ description: If a user requested a reshare, another admin on the wallet can use this endpoint to reject their reshare request.
+ operationId: v2.wallet.sharing.rejectreshare
+ parameters:
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RejectReshare'
+ responses:
+ '200':
+ description: OK
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/walletshares:
+ get:
+ tags:
+ - Wallet share
+ summary: List wallet shares
+ description: List shares of all wallets with other BitGo users. Returns only wallets on which the current user has spend permission.
+ operationId: v2.wallet.sharing.listallshares
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListWalletSharesResponse'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/listWalletShares.js
+ /api/v1/{coin}/walletshare/{shareId}:
+ get:
+ tags:
+ - Wallet share
+ summary: Get wallet share V1
+ description: Returns a wallet share, requires unlock if the wallet share includes a keychain.
+ operationId: v1.wallet.sharing.getshare
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathShareId'
+ - name: skipUnlock
+ in: query
+ description: True, if skipping unlock. Excludes keychain in response.
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletShare1'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/{coin}/walletshare/{shareId}/resendemail:
+ post:
+ tags:
+ - Wallet share
+ summary: Resend a wallet share invitation email
+ description: |
+ Resends the wallet share invitation to the share recipient. The wallet
+ share must not have been accepted yet.
+ operationId: v2.wallet.sharing.resendemail
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathShareId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ResendShareEmailResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/resendWalletShareInvite.js
+ /api/v2/{coin}/wallet/{walletId}/webhooks/{webhookId}/simulate:
+ post:
+ tags:
+ - Webhook
+ summary: Simulate wallet webhook
+ description: |
+ Simulates and tests a webhook so you can view its response. A
+ 'transferId', 'pendingApprovalId' or 'txRequestId' is required.
+ operationId: v2.wallet.simulatewebhook
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/pathWebhookId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SimulateWalletWebhookRequestBody'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ webhookNotifications:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ wallet:
+ $ref: '#/components/schemas/Id'
+ transfer:
+ $ref: '#/components/schemas/Id'
+ hash:
+ $ref: '#/components/schemas/TxId'
+ - $ref: '#/components/schemas/WebhookNotification'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/simulateWalletWebhook.js
+ /api/v2/{coin}/webhooks:
+ post:
+ tags:
+ - Webhook
+ summary: Add block webhook
+ description: |
+ Adds a webhook that will result in an HTTP callback at the
+ specified URL from BitGo when events are triggered.
+
+ Types of block webhooks:
+
+ 1. Block webhooks will fire when a new block is seen on the coin network.
+ 2. Wallet confirmation webhooks will fire when a wallet has been initialized.
+ operationId: v2.webhooks.add
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateBlockWebhook'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ allOf:
+ - type: object
+ properties:
+ type:
+ $ref: '#/components/schemas/WebhookTypeBlock'
+ userId:
+ $ref: '#/components/schemas/Id'
+ - $ref: '#/components/schemas/Webhook1'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/addBlockWebhook.js
+ get:
+ tags:
+ - Webhook
+ summary: List block webhooks
+ description: |
+ Returns block webhooks. The types of webhooks are 'block' and
+ 'wallet_confirmation' notifications.
+ operationId: v2.webhooks.list
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ webhooks:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ type:
+ $ref: '#/components/schemas/WebhookTypeBlock'
+ userId:
+ $ref: '#/components/schemas/Id'
+ - $ref: '#/components/schemas/Webhook1'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/listBlockWebhooks.js
+ delete:
+ tags:
+ - Webhook
+ summary: Remove block webhook
+ description: |
+ Removing a webhook will cause new events of the specified type to no
+ longer trigger HTTP callbacks to your URLs.
+ operationId: v2.webhooks.remove
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ type:
+ $ref: '#/components/schemas/WebhookTypeBlock'
+ url:
+ type: string
+ format: uri
+ example: https://your.server.com/user_webhook
+ id:
+ $ref: '#/components/schemas/Id'
+ required:
+ - type
+ - url
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ removed:
+ type: integer
+ example: 1
+ description: Number of block webhooks removed.
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/removeBlockWebhook.js
+ /api/v2/{coin}/webhooks/{webhookId}/simulate:
+ post:
+ tags:
+ - Webhook
+ summary: Simulate block webhook
+ description: |
+ Simulates and tests a block webhook so you can view its response.
+ operationId: v2.webhooks.simulate
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWebhookId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ blockId:
+ $ref: '#/components/schemas/BlockHash'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ webhookNotifications:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ hash:
+ $ref: '#/components/schemas/BlockHash'
+ - $ref: '#/components/schemas/WebhookNotification'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/simulateBlockWebhook.js
+ /api/v2/xlm/federation:
+ get:
+ tags:
+ - Federation
+ summary: Look up user accounts by their Stellar address or id
+ description: |
+ Types of searches available:
+
+ 1. By name: Resolve a Stellar address into an account
+ 2. By id: Resolve an account id into an account
+ operationId: v2.federation
+ parameters:
+ - $ref: '#/components/parameters/queryFederationQ'
+ - $ref: '#/components/parameters/queryFederationType'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ account_id:
+ type: string
+ stellar_address:
+ type: string
+ memo_type:
+ type: string
+ memo:
+ type: string
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/FederationError'
+ /api/v2/{coin}/material:
+ get:
+ tags:
+ - Material
+ summary: Look up material
+ description: Currently available only for Polkadot. Material contains some basic transaction information that is common to all transactions. For Polkadot, this data changes every release.
+ operationId: v2.materialData
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ genesisHash:
+ type: string
+ chainName:
+ type: string
+ specName:
+ type: string
+ specVersion:
+ type: number
+ txVersion:
+ type: number
+ metadata:
+ type: string
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/sendlabels:
+ get:
+ tags:
+ - Send label
+ summary: List send labels
+ description: List all send labels for the enterprise. Address and coin parameters optional.
+ operationId: v2.sendlabels.list
+ parameters:
+ - $ref: '#/components/parameters/coin'
+ - $ref: '#/components/parameters/address'
+ - $ref: '#/components/parameters/enterpriseId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/SendLabel'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ post:
+ tags:
+ - Send label
+ summary: Create send label
+ operationId: v2.sendlabels.create
+ description: Create an address send label for an id
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateSendLabel'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SendLabel'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/sendlabels/{id}:
+ get:
+ tags:
+ - Send label
+ summary: Get send label by id
+ operationId: v2.sendlabels.get
+ description: Gets an address send label by the specified id
+ parameters:
+ - $ref: '#/components/parameters/pathId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SendLabel'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ put:
+ tags:
+ - Send label
+ summary: Update send label
+ operationId: v2.sendlabels.update
+ description: Updates an address send label by the specified id
+ parameters:
+ - $ref: '#/components/parameters/pathId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateSendLabel'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SendLabel'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ delete:
+ tags:
+ - Send label
+ summary: Delete send label
+ operationId: v2.sendlabels.delete
+ parameters:
+ - $ref: '#/components/parameters/pathId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SendLabel'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/wallet/{walletId}/txrequests/{id}/signatureshares:
+ post:
+ tags:
+ - Transaction request
+ summary: Create a signature share for the transaction request
+ description: Allows users to supply their signature share for signing. Use only with MPC wallets.
+ operationId: v2.wallet.txrequest.signatureshare.create
+ parameters:
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/pathId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateSignatureShareRequest'
+ responses:
+ '201':
+ description: Created
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SignatureShare'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ delete:
+ tags:
+ - Transaction request
+ summary: Delete signature shares on a transaction request.
+ description: Allows users to clear the signature shares on a transaction request. This will also set the state to pendingUserSignature. Use only with MPC wallets.
+ operationId: v2.wallet.txrequest.signatureshare.delete
+ parameters:
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/pathId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/SignatureShare'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/wallet/{walletId}/txrequests/{id}/transactions/{transactionIdx}/signatureshares:
+ post:
+ tags:
+ - Transaction request
+ summary: Create a signature share for a transaction on a transaction request
+ description: |
+ Allows users to supply their signature share for signing.
+
+ This route is only valid for transaction request full. Use only with MPC wallets.
+ operationId: v2.wallet.txrequest.transaction.signatureshare.create
+ parameters:
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/pathId'
+ - $ref: '#/components/parameters/transactionIdx'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateSignatureShareRequest'
+ responses:
+ '201':
+ description: Created
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SignatureShare'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/wallet/{walletId}/txrequests/{id}/transfers:
+ post:
+ tags:
+ - Transaction request
+ summary: Create transfer for transaction request
+ description: Create a transfer for a transaction request and return that transfer. Use only with MPC wallets.
+ operationId: v2.wallet.txrequest.transfers.create
+ parameters:
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/pathId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Transfer'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/{coin}/wallet/{walletId}/tx/build:
+ post:
+ tags:
+ - Wallet
+ summary: Build a transaction
+ operationId: v2.wallet.tx.build
+ description: |
+ Build a transaction from the wallet using provided options. Use only with multisignature wallets. For MPC wallets, use [Create transaction request](https://developers.bitgo.com/api/v2.wallet.txrequest.create). If you want to build, sign, and send all in one call, use [Send transaction](https://developers.bitgo.com/api/express.wallet.sendcoins).
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/destinationTag'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/TransactionBuildRequest'
+ - $ref: '#/components/schemas/NonParticipationTransactionBuildRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TransactionBuildResult'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidAddress1'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/buildTransaction.js
+ /api/v2/{coin}/wallet/{walletId}/consolidateUnspents:
+ post:
+ tags:
+ - Wallet
+ summary: Consolidate unspents (advanced)
+ operationId: v2.wallet.consolidateunspents
+ description: Build a transaction to consolidate unspents in a wallet. Once built, you must sign and sent the transaction. Consolidating unspents is only for UTXO-based assets.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ConsolidateUnspentsRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletConsolidateUnspentsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ /api/v2/{coin}/wallet/{walletId}/tx/initiate:
+ post:
+ tags:
+ - Wallet
+ summary: Initiate a transaction
+ operationId: v2.wallet.tx.initiate
+ description: Initiate an unsigned transaction to create a pending approval. This is useful to request funds to be sent from custodial wallets. Use only with custodial wallets.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - $ref: '#/components/schemas/TransactionInitiateRequest'
+ - type: object
+ properties:
+ videoApprovers:
+ $ref: '#/components/schemas/VideoApprovers'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval1'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ /api/v2/{coin}/wallet/{walletId}/tx/send:
+ post:
+ tags:
+ - Wallet
+ summary: Send a half-signed transaction
+ operationId: v2.wallet.tx.send
+ description: |
+ Send a half-signed transaction from the specified wallet.
+ Instead of this endpoint, you likely want to use [send transaction](https://developers.bitgo.com/api/express.wallet.sendcoins)
+ in the SDK.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SendTransaction'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TransactionResponse'
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval1'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ - $ref: '#/components/schemas/InvalidOFAC'
+ '423':
+ description: Locked
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformErrorNoName3'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/sendTransaction.js
+ /api/v2/{coin}/wallet/{walletId}/trustline/initiate:
+ post:
+ tags:
+ - Wallet
+ summary: Initiate a trustline transaction
+ operationId: v2.wallet.trustline.initiate
+ description: Initiate an unsigned trustline transaction to create a pending approval. Trustline transactions manage trusted tokens on the account. Available for Stellar. Use only with custodial wallets.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/InitiateTrustlineParams'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval1'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ /api/v2/{coin}/requiredReserve:
+ get:
+ tags:
+ - Wallet
+ summary: Get balance reserve data
+ description: Returns information about reserve requirements for an account. Currently only available for Stellar.
+ operationId: v2.tx.fetchReserve
+ parameters:
+ - name: coin
+ in: path
+ required: true
+ schema:
+ type: string
+ enum:
+ - txlm
+ - xlm
+ - tcspr
+ - cspr
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BalanceReserve'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/bankaccounts:
+ post:
+ tags:
+ - Bank account
+ summary: Create a bank account
+ operationId: v2.bankaccount.create
+ description: ''
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BankAccountRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BankAccountResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ get:
+ tags:
+ - Bank account
+ summary: List bank accounts
+ operationId: v2.bankaccount.list
+ description: |
+ This route is potentially useful for finding the 'idHash' of the desired account to use for fiat withdrawals. The 'idHash' field
+ is used as the recipient address along with an optional hyphen separator and memo (example: '5812dcaa9a285aa6-memohere').
+ parameters:
+ - name: verificationState
+ in: query
+ schema:
+ $ref: '#/components/schemas/BankAccountVerificationState'
+ - name: bankAccountIdHash
+ in: query
+ schema:
+ $ref: '#/components/schemas/BankAccountIdHash'
+ - name: bankAccountId
+ in: query
+ schema:
+ $ref: '#/components/schemas/BankAccountId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListBankAccountsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ /api/v2/bankaccounts/{bankAccountId}:
+ get:
+ tags:
+ - Bank account
+ summary: Get bank account
+ description: |
+ This route is potentially useful for finding the 'idHash' of the desired account to use for fiat withdrawals. The 'idHash' field
+ is used as the recipient address along with an optional hyphen separator and memo (example: '5812dcaa9a285aa6-memohere').
+ operationId: v2.bankaccount.get
+ parameters:
+ - $ref: '#/components/parameters/pathBankAccountId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BankAccountResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ put:
+ tags:
+ - Bank account
+ summary: Update bank account
+ operationId: v2.bankaccount.update
+ parameters:
+ - $ref: '#/components/parameters/pathBankAccountId'
+ description: ''
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateBankAccountRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BankAccountResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ delete:
+ tags:
+ - Bank account
+ summary: Delete bank account
+ operationId: v2.bankaccount.delete
+ parameters:
+ - $ref: '#/components/parameters/pathBankAccountId'
+ description: Removes a bank account
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BankAccountResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/ErrorPayload'
+ /api/v2/pingexpress:
+ get:
+ tags:
+ - Express
+ summary: Ping BitGo Express
+ operationId: express.ping
+ description: |
+ Ping bitgo express to ensure that it is still running. Unlike /ping, this does not try connecting to bitgo.com.
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressPingResponse'
+ /api/v2/{coin}/wallet/{walletId}/sendcoins:
+ post:
+ tags:
+ - Express
+ summary: Send transaction
+ operationId: express.wallet.sendcoins
+ description: This call allows you to create and send cryptocurrency to a destination address.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSendCoinsRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSendCoinsResponse'
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSendCoinsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/expressSendCoins.js
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/expressSendCoinsEth.js
+ /api/v2/{coin}/wallet/{walletId}/sendmany:
+ post:
+ tags:
+ - Express
+ summary: Send to many
+ operationId: express.wallet.sendmany
+ description: |
+ Send coins or tokens to one or more recipients. You can use this endpoint to schedule outgoing transactions in bulk, lowering your aggregate amount of blockchain fees.
+
+
+ Works with both multisignature and MPC wallets. Also supports external-signer mode.
+
+ Works with most BitGo-supported assets, but currently unavailable for: ALGO, ARBETH, AVAXC, CELO, CELO:CUSD, CSPR, DOT, EOS, HTETH:BGERCH, NEAR, OPETH, STX, TON, TRX, TRX:USDC, XLM, XRP, XTZ
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSendManyRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSendCoinsResponse'
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSendCoinsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/expressSendMany.js
+ /api/v2/encrypt:
+ post:
+ tags:
+ - Express
+ summary: Encrypt messages
+ operationId: express.encrypt
+ description: Symmetrically encrypt an arbitrary message with provided password
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressEncryptRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressEncryptResponse'
+ /api/v2/decrypt:
+ post:
+ tags:
+ - Express
+ summary: Decrypt messages
+ operationId: express.decrypt
+ description: Decrypt a ciphertext generated by encrypt route with provided password
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressDecryptRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressDecryptResponse'
+ '500':
+ description: Internal Server Error
+ /api/v2/calculateminerfeeinfo:
+ post:
+ tags:
+ - Express
+ summary: Calculate mining fee
+ operationId: express.calculateminerfeeinfo
+ description: Calculate the fee and estimated size in bytes for a Bitcoin transaction
+ deprecated: true
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressCalculateMinerFeeInfoRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressCalculateMinerFeeInfoResponse'
+ /api/v2/{coin}/keychain/local:
+ post:
+ tags:
+ - Express
+ summary: Create key
+ operationId: express.keychain.local
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ description: |
+ Local client-side function to create a new keychain.
+
+ Creating your keychains is a critical step for safely securing your Bitcoin. When generating new keychains, this API uses a random number generator that adheres to industry standards. If you provide your own seed, you must take extreme caution when creating it.
+ Returns an object containing the xprv and xpub for the new chain. The created keychain is not known to the BitGo service. To use it with the BitGo service, use the ‘Store Keychain’ API call.
+
+ For security reasons, it is highly recommended that you encrypt and destroy the original xprv immediately to prevent theft.
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressCreateKeychainResponse'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/expressCreateKey.js
+ /api/v2/{coin}/wallet/generate:
+ post:
+ tags:
+ - Express
+ summary: Generate wallet
+ operationId: express.wallet.generate
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - name: includeKeychains
+ in: query
+ schema:
+ type: boolean
+ default: false
+ description: Include user, backup and bitgo keychains along with generated wallet
+ description: |
+ This API call creates a new wallet. Under the hood, the SDK (or BitGo Express) does the following:
+
+ 1. Creates the user keychain locally on the machine, and encrypts it with the provided passphrase (skipped if userKey is provided).
+ 2. Creates the backup keychain locally on the machine.
+ 3. Uploads the encrypted user keychain and public backup keychain.
+ 4. Creates the BitGo key (and the backup key if backupXpubProvider is set) on the service.
+ 5. Creates the wallet on BitGo with the 3 public keys above.
+
+ ⓘ Ethereum wallets can only be created under an enterprise. Pass in the id of the enterprise to associate the wallet with. Your enterprise id can be seen by clicking on the “Manage Organization” link on the enterprise dropdown. Each enterprise has a fee address which will be used to pay for transaction fees on all Ethereum wallets in that enterprise. The fee address is displayed in the dashboard of the website, please fund it before creating a wallet.
+
+ ⓘ You cannot generate a wallet by passing in a subtoken as the coin. Subtokens share wallets with their parent coin and it is not possible to create a wallet specific to one token.
+
+ ⓘ This endpoint should be called through BitGo Express if used without the SDK, such as when using cURL.
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressGenerateWalletRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressGenerateWalletResponse'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/expressGenerateWallet.js
+ //api/v2/{coin}/wallet/{walletId}/share:
+ post:
+ tags:
+ - Express
+ summary: Share wallet
+ operationId: express.wallet.share
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ description: Share wallet with an existing BitGo user
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressShareWalletRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ShareWalletResponse'
+ /api/v2/{coin}/walletshare/{walletId}/acceptshare:
+ post:
+ tags:
+ - Express
+ summary: Accept wallet share
+ operationId: express.wallet.acceptshare
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ description: Accept a wallet share, adding the wallet to the user's list
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressAcceptShareRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressAcceptShareResponse'
+ /api/v2/{coin}/signtx:
+ post:
+ tags:
+ - Express
+ summary: Sign transaction
+ operationId: express.signtx
+ description: This route is for users who would like to maintain their own keys, or otherwise would not like BitGo to decrypt their key, and instead provide it in the clear themselves
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSignTxRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSignTxResponse'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/expressSignTransaction.js
+ /api/v2/{coin}/wallet/{walletId}/signtx:
+ post:
+ tags:
+ - Express
+ summary: Sign wallet transaction
+ operationId: express.wallet.signtx
+ description: Sign transactions for multisignature wallets using external-signing mode. You must maintain your keys, in the clear, on a separate Express server. BitGo doesn't decrypt your private keys.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressWalletSignTxRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSignTxResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/expressSignWalletTransaction.js
+ /api/v2/{coin}/wallet/{walletId}/signtxtss:
+ post:
+ tags:
+ - Express
+ summary: Sign MPC transaction
+ operationId: express.wallet.signtxtss
+ description: Sign transactions for MPC wallets. If using external-signer mode, you must maintain your keys, in the clear, on a separate Express server - BitGo doesn't decrypt your private MPC key shares.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSignTssTx'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TransactionRequest1'
+ /api/v2/{coin}/wallet/{walletId}/recovertoken:
+ post:
+ tags:
+ - Express
+ summary: Recover ETH token
+ operationId: express.wallet.recovertoken
+ description: Recover an unsupported Ethereum token from a BitGo multisig wallet
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressWalletRecoverTokenRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressWalletRecoverTokenResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ /api/v2/{coin}/wallet/{walletId}/consolidateAccount/build:
+ post:
+ tags:
+ - Wallet
+ summary: Consolidate account (advanced)
+ operationId: v2.wallet.consolidateaccount.build
+ description: Build a consolidation transaction for an account-based asset. Once built, you must sign and send the transaction. For account-based assets, consolidating the balances in the receive addresses to the base address maximizes the spendable balance of a wallet.
+ parameters:
+ - $ref: '#/components/parameters/pathAlgorand'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ConsolidateAccountBuildRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ConsolidateAccountBuildResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidAddress1'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/consolidateAccountBuild.js
+ /api/v2/{coin}/wallet/{walletId}/consolidateunspents:
+ post:
+ tags:
+ - Express
+ summary: Consolidate unspents (simple)
+ operationId: express.wallet.consolidateunspents
+ description: Builds, signs, and sends a transaction to consolidate unspents all in 1 call. Consolidating unspents is only for UTXO-based assets.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressConsolidateUnspentsRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSendCoinsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/expressConsolidateUnspents.js
+ /api/v2/{coin}/wallet/{walletId}/fanoutunspents:
+ post:
+ tags:
+ - Express
+ summary: Fan out unspents
+ operationId: express.wallet.fanoutunspents
+ description: Fan out unspents on a wallet
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressFanOutUnspentsRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSendCoinsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/expressFanoutUnspents.js
+ /api/v2/{coin}/wallet/{walletId}/sweep:
+ post:
+ tags:
+ - Express
+ summary: Sweep funds
+ operationId: express.wallet.sweep
+ description: |
+ The sweep call spends the full balance of the wallet to the provided address. On UTXO coins, the sweep call will
+ fail if the wallet has any unconfirmed funds, or if there are more unspents than can be sent with a
+ single transaction.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSweepRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSendCoinsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/expressWalletSweep.js
+ /api/v2/{coin}/wallet/{walletId}/acceleratetx:
+ post:
+ tags:
+ - Express
+ summary: Accelerate Transaction
+ operationId: express.wallet.acceleratetx
+ description: |
+ Send a new transaction to accelerate the targeted unconfirmed transaction either by using Child-Pays-For-Parent (CPFP) or Replace-By-Fee (RBF).
+
+ **Background**:
+ 1. In Bitcoin, a transaction can only be included in a block when all its inputs are confirmed.
+ This requirement can be used to increase the effective fee rate of a stuck low-fee transaction.
+ One of the stuck transaction's outputs is spent in a child transaction with a much higher fee.
+ Miners include the transactions with the highest fees first to maximize their revenue,
+ but the high-fee child transaction can only be included once the parent transaction is confirmed.
+ The miners are therefore incentivized to include both the parent and the child transaction together in a block.
+ A Child-Pays-For-Parent transaction can be created by a recipient of the transaction or by the sender if the
+ target transaction has a change output.
+ 2. In Bitcoin, a transaction can be replaced by a new transaction with a higher fee as long as the new transaction spends few or all of the same inputs used by the original transaction that's being replaced. Unlike CPFP, only the sender of the transaction can create a Replace-By-Fee transaction, and only either of the transactions can be confirmed. More often than not, the replacement transaction with the higher fee will be accepted by the miners.
+
+ **Notes**:
+ 1. As other coins do not have a blockspace market, this route is only available for Bitcoin at this time.
+ 2. Using CPFP, if a target transaction depends on other unconfirmed transactions, this route also adds sufficient fees to elevate the entire transaction ancestry's effective fee rate to the 'cpfpFeeRate'.
+ parameters:
+ - $ref: '#/components/parameters/pathBitcoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressAccelerateTxRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSendCoinsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ /api/v2/{coin}/wallet/{walletId}/transfer/{transferId}/comment:
+ post:
+ tags:
+ - Transfer
+ summary: Update comment
+ operationId: v2.transfer.comment
+ description: |
+ Update the comment of a transfer
+ Requirements:
+ - Transaction must be generated from a BitGo wallet
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ - $ref: '#/components/parameters/pathTransferId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateCommentRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Transfer'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ - $ref: '#/components/schemas/InvalidTransferId'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/{coin}/canonicaladdress:
+ post:
+ tags:
+ - Express
+ summary: Canonicalize address
+ operationId: express.canonicaladdress
+ description: Canonicalize an LTC or BCH address.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressCanonicalAddressRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AddressString3'
+ /api/v2/{coin}/verifyaddress:
+ post:
+ tags:
+ - Express
+ summary: Verify address
+ operationId: express.verifycoinaddress
+ description: Verify address for a given coin
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressVerifyCoinAddressRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ isValid:
+ type: boolean
+ /api/v2/{coin}/wallet/{walletId}/balances/staked:
+ get:
+ tags:
+ - Wallet
+ summary: Get staked balance data
+ description: Returns staking information about validator and staked amount for the current wallet. Currently only available for Casper and Stacks.
+ operationId: v2.wallet.staked
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BalanceStaked'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/{coin}/wallet/{walletId}/balances/totalrewards:
+ get:
+ tags:
+ - Wallet
+ summary: Get total rewards data
+ description: Returns staking information receiving address and the total rewards received for the current wallet. Currently only available for Stacks.
+ operationId: v2.wallet.totalrewards
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BalanceTotalRewards'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError3'
+ /api/v2/{coin}/wallet/{walletId}/consolidateAccount:
+ post:
+ tags:
+ - Express
+ summary: Consolidate account (simple)
+ operationId: express.wallet.consolidateAccount
+ description: Build, sign, and send a consolidation transaction for an account-based asset all in 1 call. For account-based assets, consolidating the balances in the receive addresses to the base address maximizes the spendable balance of a wallet.
+ parameters:
+ - $ref: '#/components/parameters/pathCoin'
+ - $ref: '#/components/parameters/pathWalletId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressConsolidateAccountRequest'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExpressSendConsolidationResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError3'
+ - $ref: '#/components/schemas/InvalidWalletId1'
+ x-code-samples:
+ - lang: javascript
+ x-external-text:
+ - property: source
+ path: ../shared/code-samples/consolidateAccountBuild.js
+ /api/policy/v1/enterprises/{enterpriseId}/rules:
+ get:
+ tags:
+ - Policy Builder
+ summary: List policy rules
+ description: Lists all policy rules for an enterprise.
+ operationId: v1.policy.rules.list
+ parameters:
+ - $ref: '#/components/parameters/CreatedDateGte'
+ - $ref: '#/components/parameters/CreatedDateLte'
+ - $ref: '#/components/parameters/Enterprise'
+ - $ref: '#/components/parameters/EvaluationId'
+ - $ref: '#/components/parameters/EvaluationStatus'
+ - $ref: '#/components/parameters/PolicyRuleName'
+ - $ref: '#/components/parameters/PolicyRuleStatus'
+ - $ref: '#/components/parameters/ScopeName'
+ - $ref: '#/components/parameters/Touchpoints'
+ - $ref: '#/components/parameters/PolicyRuleIdQuery'
+ - $ref: '#/components/parameters/Limit'
+ - $ref: '#/components/parameters/PrevId'
+ - $ref: '#/components/parameters/FilteringConditionParameterNameAndValue'
+ responses:
+ '200':
+ description: Paginated list of policy rules.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PolicyRulesResults'
+ examples:
+ PolicyRulesResultExample:
+ $ref: '#/components/examples/PolicyRulesResultsExample1'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '500':
+ $ref: '#/components/responses/ServerError'
+ /api/policy/v1/enterprises/{enterpriseId}/rules/{id}:
+ get:
+ tags:
+ - Policy Builder
+ summary: Get policy rule
+ description: Returns a policy rule by its ID. If version is passed, returns the most recent 'INACTIVE' policy rule. If version isn't passed, returns the currently 'ACTIVE' policy rule.
+ operationId: v1.policy.rules.get
+ parameters:
+ - $ref: '#/components/parameters/Enterprise'
+ - $ref: '#/components/parameters/PolicyRuleId'
+ - $ref: '#/components/parameters/PolicyRuleVersion'
+ responses:
+ '200':
+ description: A successful policy rule details response
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PolicyRule2'
+ examples:
+ example:
+ $ref: '#/components/examples/PolicyRuleExample'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '500':
+ $ref: '#/components/responses/ServerError'
+ delete:
+ tags:
+ - Policy Builder
+ summary: Deactivate policy rule
+ description: Deactivates a policy rule.
+ operationId: v1.policy.rules.delete
+ parameters:
+ - $ref: '#/components/parameters/Enterprise'
+ - $ref: '#/components/parameters/PolicyRuleId'
+ responses:
+ '200':
+ description: The 'INACTIVE' policy rule
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PolicyRule2'
+ examples:
+ example:
+ $ref: '#/components/examples/InactivePolicyRuleExample'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '500':
+ $ref: '#/components/responses/ServerError'
+ /api/policy/v1/enterprises/{enterpriseId}/rules/{id}/versions:
+ get:
+ tags:
+ - Policy Builder
+ summary: List policy-rule versions
+ description: List all versions of a policy rule.
+ operationId: v1.policy.rule.versions.list
+ parameters:
+ - $ref: '#/components/parameters/Enterprise'
+ - $ref: '#/components/parameters/PolicyRuleId'
+ responses:
+ '200':
+ description: All versions of the given policy rule
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PolicyRuleVersions'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '500':
+ $ref: '#/components/responses/ServerError'
+ /api/policy/v1/enterprises/{enterpriseId}/touchpoints/{touchpointName}/rules:
+ post:
+ tags:
+ - Policy Builder
+ summary: Create policy rule
+ description: Creates a new policy rule.
+ operationId: v1.policy.rule.create
+ parameters:
+ - $ref: '#/components/parameters/Enterprise'
+ - $ref: '#/components/parameters/TouchpointName'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreatePolicyRuleRequest'
+ examples:
+ example:
+ $ref: '#/components/examples/CreatePolicyRuleExample'
+ responses:
+ '201':
+ description: The newly created policy rule
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PolicyRule2'
+ examples:
+ example:
+ $ref: '#/components/examples/PolicyRuleExample'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '500':
+ $ref: '#/components/responses/ServerError'
+ /api/policy/v1/enterprises/{enterpriseId}/touchpoints/{touchpointName}/rules/{id}:
+ put:
+ tags:
+ - Policy Builder
+ summary: Update policy rule
+ description: Updates a policy rule, resulting in a new version number that's equal to the highest existing version plus 1. The ID of the policy rule remains the unchanged.
+ operationId: v1.policy.rule.update
+ parameters:
+ - $ref: '#/components/parameters/Enterprise'
+ - $ref: '#/components/parameters/TouchpointName'
+ - $ref: '#/components/parameters/PolicyRuleId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreatePolicyRuleRequest'
+ examples:
+ example:
+ $ref: '#/components/examples/CreatePolicyRuleExample'
+ responses:
+ '201':
+ description: The updated policy rule
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PolicyRule2'
+ examples:
+ example:
+ $ref: '#/components/examples/PolicyRuleExample'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '500':
+ $ref: '#/components/responses/ServerError'
+ /api/policy/v1/enterprises/{enterpriseId}/scopes:
+ get:
+ tags:
+ - Policy Builder
+ summary: List scopes
+ description: Lists all scopes for a given policy rule.
+ operationId: v1.policy.scope.list
+ parameters:
+ - $ref: '#/components/parameters/Enterprise'
+ responses:
+ '200':
+ description: All available scopes for your enterprise.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/scopes'
+ examples:
+ example:
+ $ref: '#/components/examples/ScopesExample'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '500':
+ $ref: '#/components/responses/ServerError'
+ /api/policy/v1/enterprises/{enterpriseId}/scopes/{scopeId}/conditions:
+ get:
+ tags:
+ - Policy Builder
+ summary: List conditions for scope
+ description: Lists all conditions for a given scope.
+ operationId: v1.policy.scope.condition.list
+ parameters:
+ - $ref: '#/components/parameters/Enterprise'
+ - $ref: '#/components/parameters/scope'
+ responses:
+ '200':
+ description: All available Filtering Conditions for a scope.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/FilteringConditions'
+ examples:
+ example:
+ $ref: '#/components/examples/FilteringConditionsExample'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '500':
+ $ref: '#/components/responses/ServerError'
+ /api/policy/v1/enterprises/{enterpriseId}/scopes/{scopeId}/touchpoints:
+ get:
+ tags:
+ - Policy Builder
+ summary: List touchpoints
+ description: Lists all touchpoints for a given scope.
+ operationId: v1.policy.scope.touchpoint.list
+ parameters:
+ - $ref: '#/components/parameters/Enterprise'
+ - $ref: '#/components/parameters/scope'
+ responses:
+ '200':
+ description: Paginated list of available Touchpoints for a given scope
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TouchpointsResults'
+ examples:
+ example:
+ $ref: '#/components/examples/ScopeTouchpointsExample'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '500':
+ $ref: '#/components/responses/ServerError'
+ /api/policy/v1/enterprises/{enterpriseId}/touchpoints/{touchpointId}/conditions:
+ get:
+ tags:
+ - Policy Builder
+ summary: List conditions for touchpoint
+ description: Lists all conditions available for a given touchpoint.
+ operationId: v1.policy.touchpoint.condition.list
+ parameters:
+ - $ref: '#/components/parameters/Enterprise'
+ - $ref: '#/components/parameters/TouchpointId'
+ responses:
+ '200':
+ description: All available Conditions on a given Touchpoint.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Conditions'
+ examples:
+ example:
+ $ref: '#/components/examples/TouchpointConditionsExample'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '500':
+ $ref: '#/components/responses/ServerError'
+ /api/policy/v1/enterprises/{enterpriseId}/touchpoints/{touchpointId}/filteringconditions/{filteringCondition}/actions:
+ get:
+ tags:
+ - Policy Builder
+ summary: List actions
+ description: Lists all available actions for a given touchpoint and scope.
+ operationId: v1.policy.touchpoint.action.list
+ parameters:
+ - $ref: '#/components/parameters/Enterprise'
+ - $ref: '#/components/parameters/TouchpointId'
+ - $ref: '#/components/parameters/FilteringConditionName'
+ responses:
+ '200':
+ description: All available Actions on a given Touchpoint.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Actions'
+ examples:
+ example:
+ $ref: '#/components/examples/ActionsExample'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '500':
+ $ref: '#/components/responses/ServerError'
+ /api/prime/trading/v1/user/current:
+ get:
+ summary: Get Current User
+ description: Get the current user’s public information.
+ operationId: trade.user.current
+ tags:
+ - Trade REST API
+ responses:
+ '200':
+ description: A user
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TradeUser'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ /api/prime/trading/v1/accounts:
+ get:
+ summary: List Accounts
+ description: Get the list of trading accounts that the current user belongs to.
+ operationId: trade.accounts
+ tags:
+ - Trade REST API
+ responses:
+ '200':
+ description: An array of accounts
+ content:
+ application/json:
+ schema:
+ required:
+ - data
+ type: object
+ properties:
+ data:
+ $ref: '#/components/schemas/Accounts'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ /api/prime/trading/v1/accounts/{accountId}/balances:
+ get:
+ summary: Get Account Balance
+ description: Get balance information about a single trading account.
+ operationId: trade.accounts.balances
+ tags:
+ - Trade REST API
+ parameters:
+ - name: accountId
+ in: path
+ description: The id of the trading account to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ '200':
+ description: An array of account balances
+ content:
+ application/json:
+ schema:
+ required:
+ - data
+ type: object
+ properties:
+ data:
+ $ref: '#/components/schemas/AccountBalances'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ /api/prime/trading/v1/accounts/{accountId}/orders:
+ get:
+ summary: List Orders
+ description: Lists all orders from the given trading account.
+ operationId: trade.orders.detail
+ tags:
+ - Trade REST API
+ parameters:
+ - name: accountId
+ in: path
+ description: The id of the trading account to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ - name: offset
+ in: query
+ required: false
+ style: form
+ explode: true
+ schema:
+ type: integer
+ - name: limit
+ in: query
+ required: false
+ style: form
+ explode: true
+ schema:
+ type: integer
+ - name: clientOrderId
+ in: query
+ description: The clientOrderId of the order to retrieve
+ required: false
+ style: form
+ explode: true
+ schema:
+ type: string
+ - name: dateGte
+ in: query
+ description: Return client orders with a 'creationDate' that is greater than or equal to the given timestamp
+ required: false
+ style: form
+ explode: true
+ schema:
+ type: string
+ format: date-time
+ - name: dateLt
+ in: query
+ description: Return client orders with a 'creationDate' that is less than the given timestamp
+ required: false
+ style: form
+ explode: true
+ schema:
+ type: string
+ format: date-time
+ - name: status
+ in: query
+ description: Return client orders with an order 'status' that is equal to the given string
+ required: false
+ style: form
+ explode: true
+ schema:
+ $ref: '#/components/schemas/OrderStatus'
+ responses:
+ '200':
+ description: An array of orders
+ content:
+ application/json:
+ schema:
+ required:
+ - data
+ type: object
+ properties:
+ data:
+ $ref: '#/components/schemas/Orders'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ post:
+ summary: Place Order
+ description: Places a new order. There are several types of orders available - Market, Limit, and TWAP (with or without a limit). Orders can only be placed if your account has a sufficient balance. When an order is placed, funds will be reserved for the amount of the order.
+ operationId: trade.orders.add
+ tags:
+ - Trade REST API
+ parameters:
+ - name: accountId
+ in: path
+ description: The id of the trading account to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NewOrderRequest'
+ required: true
+ responses:
+ '200':
+ description: An order
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Order'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ /api/prime/trading/v1/accounts/{accountId}/orders/{orderId}:
+ get:
+ summary: Get Order
+ description: Get a single order by order id.
+ operationId: trade.orders.order
+ tags:
+ - Trade REST API
+ parameters:
+ - name: accountId
+ in: path
+ description: The id of the trading account to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ - name: orderId
+ in: path
+ description: The id of the order to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ '200':
+ description: An order
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Order'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ /api/prime/trading/v1/accounts/{accountId}/orders/{orderId}/cancel:
+ put:
+ summary: Cancel Order
+ description: Attempt to cancel an order that was previously placed. The response will return successful if the cancel request is submitted. Use Get Order endpoint or subscribe to the orders websocket to get the order details.
+ operationId: trade.orders.order.cancel
+ tags:
+ - Trade REST API
+ parameters:
+ - name: accountId
+ in: path
+ description: The id of the trading account to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ - name: orderId
+ in: path
+ description: The id of the order to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ '200':
+ description: OK
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ /api/prime/trading/v1/accounts/{accountId}/trades:
+ get:
+ summary: List Trades
+ description: Lists trades from the trading account. This will include trades that have not yet settled.
+ operationId: trade.trades
+ tags:
+ - Trade REST API
+ parameters:
+ - name: accountId
+ in: path
+ description: The id of the trading account to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ - name: offset
+ in: query
+ required: false
+ style: form
+ explode: true
+ schema:
+ type: integer
+ - name: limit
+ in: query
+ required: false
+ style: form
+ explode: true
+ schema:
+ type: integer
+ - name: orderId
+ in: query
+ description: The orderId of the trades to retrieve
+ required: false
+ style: form
+ explode: true
+ schema:
+ type: string
+ format: uuid
+ - name: dateGte
+ in: query
+ description: Return exchange trades with a trade date that is greater than or equal to the given timestamp
+ required: false
+ style: form
+ explode: true
+ schema:
+ type: string
+ format: date-time
+ - name: dateLt
+ in: query
+ description: Return exchange trades with a trade date that is less than the given timestamp
+ required: false
+ style: form
+ explode: true
+ schema:
+ type: string
+ format: date-time
+ responses:
+ '200':
+ description: An array of trades
+ content:
+ application/json:
+ schema:
+ required:
+ - data
+ type: object
+ properties:
+ data:
+ $ref: '#/components/schemas/Trades'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ /api/prime/trading/v1/accounts/{accountId}/trades/{tradeId}:
+ get:
+ summary: Get Trade
+ description: Get the details of a single trade by trade id.
+ operationId: trade.trades.trade
+ tags:
+ - Trade REST API
+ parameters:
+ - name: accountId
+ in: path
+ description: The id of the trading account to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ - name: tradeId
+ in: path
+ description: The id of the trade to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ '200':
+ description: A trade
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PrimeTrade'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ /api/prime/trading/v1/accounts/{accountId}/currencies:
+ get:
+ summary: List Currencies
+ description: Gets a list of all available currencies.
+ operationId: trade.currencies
+ tags:
+ - Trade REST API
+ parameters:
+ - name: accountId
+ in: path
+ description: The id of the trading account to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ '200':
+ description: An array of currencies
+ content:
+ application/json:
+ schema:
+ required:
+ - data
+ type: object
+ properties:
+ data:
+ $ref: '#/components/schemas/Currencies'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ /api/prime/trading/v1/accounts/{accountId}/products:
+ get:
+ summary: List Products
+ description: Gets a list of all available products.
+ operationId: trade.products
+ tags:
+ - Trade REST API
+ parameters:
+ - name: accountId
+ in: path
+ description: The id of the trading account to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ '200':
+ description: An array of products
+ content:
+ application/json:
+ schema:
+ required:
+ - data
+ type: object
+ properties:
+ data:
+ $ref: '#/components/schemas/Products'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ /api/prime/trading/v1/accounts/{accountId}/products/{product}/level1:
+ get:
+ summary: Get Level1 Order Book
+ description: Gets a snapshot of the level1 order book for product
+ operationId: trade.products.product.level1
+ tags:
+ - Trade REST API
+ parameters:
+ - name: accountId
+ in: path
+ description: The id of the trading account to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ - name: product
+ in: path
+ description: The name of the product
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ '200':
+ description: A Level1OrderBookSnapshot
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Level1OrderBookSnapshot'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ /api/prime/trading/v1/accounts/{accountId}/products/{product}/level2:
+ get:
+ summary: Get Level2 Order Book
+ description: Gets a snapshot of the order book for product
+ operationId: products.product.level2
+ tags:
+ - Trade REST API
+ parameters:
+ - name: accountId
+ in: path
+ description: The id of the trading account to retrieve
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ - name: product
+ in: path
+ description: The name of the product
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ '200':
+ description: A Level2OrderBookSnapshot
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Level2OrderBookSnapshot'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ /api/staking/v1/{coin}/wallets/{walletId}/requests:
+ post:
+ tags:
+ - Staking Request
+ summary: Create staking request
+ description: Create a staking request of type STAKE or UNSTAKE.
+ operationId: v1.staking.request.create
+ parameters:
+ - $ref: '#/components/parameters/pathCoin1'
+ - $ref: '#/components/parameters/pathWalletId1'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/AtomStakingRequestPOSTBody'
+ - $ref: '#/components/schemas/AtomUnStakingRequestPOSTBody'
+ - $ref: '#/components/schemas/CosmosLikeStakingRequestPOSTBody'
+ - $ref: '#/components/schemas/CosmosLikeUnStakingRequestPOSTBody'
+ - $ref: '#/components/schemas/AvaxPStakingRequestPOSTBody'
+ - $ref: '#/components/schemas/DotStakingRequestPOSTBody'
+ - $ref: '#/components/schemas/DotUnStakingRequestPOSTBody'
+ - $ref: '#/components/schemas/EthStakingRequestPOSTBody'
+ - $ref: '#/components/schemas/MaticStakingRequestPOSTBody'
+ - $ref: '#/components/schemas/MaticUnStakingRequestPOSTBody'
+ - $ref: '#/components/schemas/NearStakingRequestPOSTBody'
+ - $ref: '#/components/schemas/NearUnStakingRequestPOSTBody'
+ - $ref: '#/components/schemas/SolStakingRequestPOSTBody'
+ - $ref: '#/components/schemas/SolUnStakingRequestPOSTBody'
+ examples:
+ AvaxPStakingRequestPOSTBodyExample:
+ $ref: '#/components/examples/AvaxPStakingRequestPOSTBodyExample'
+ DotStakingRequestPOSTBodyExample:
+ $ref: '#/components/examples/DotStakingRequestPOSTBodyExample'
+ DotUnStakingRequestPOSTBodyExample:
+ $ref: '#/components/examples/DotUnStakingRequestPOSTBodyExample'
+ EthStakingRequestPOSTBodyExample:
+ $ref: '#/components/examples/EthStakingRequestPOSTBodyExample'
+ MaticStakingRequestPOSTBodyExample:
+ $ref: '#/components/examples/MaticStakingRequestPOSTBodyExample'
+ MaticUnstakingRequestPOSTBodyExample:
+ $ref: '#/components/examples/MaticUnstakingRequestPOSTBodyExample'
+ NearStakingRequestPOSTBodyExample:
+ $ref: '#/components/examples/NearStakingRequestPOSTBodyExample'
+ NearUnStakingRequestPOSTBodyExample:
+ $ref: '#/components/examples/NearUnStakingRequestPOSTBodyExample'
+ SolStakingRequestPOSTBodyExample:
+ $ref: '#/components/examples/SolStakingRequestPOSTBodyExample'
+ SolUnStakingRequestPOSTBodyExample:
+ $ref: '#/components/examples/SolUnStakingRequestPOSTBodyExample'
+ responses:
+ '202':
+ description: Successful Staking Request Accepted and Needs Approval
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/AvaxPStakingRequest'
+ - $ref: '#/components/schemas/DotStakingRequest'
+ - $ref: '#/components/schemas/EthStakingRequest'
+ - $ref: '#/components/schemas/MaticStakingRequest'
+ - $ref: '#/components/schemas/NearStakingRequest'
+ - $ref: '#/components/schemas/CosmosLikeStakingRequest'
+ - $ref: '#/components/schemas/AtomStakingRequest'
+ - $ref: '#/components/schemas/SolStakingRequest'
+ examples:
+ AvaxPStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/AvaxPStakingRequestWithoutDelegationsExample'
+ EthStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/EthStakingRequestWithoutDelegationsExample'
+ MaticStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/MaticStakingRequestWithoutDelegationsExample'
+ MaticUnStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/MaticUnStakingRequestWithoutDelegationsExample'
+ NearStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/NearStakingRequestWithoutDelegationsExample'
+ NearUnStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/NearUnStakingRequestWithoutDelegationsExample'
+ SolStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/SolStakingRequestWithoutDelegationsExample'
+ SolUnStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/SolUnStakingRequestWithoutDelegationsExample'
+ DotStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/DotStakingRequestWithoutDelegationsExample'
+ DotUnStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/DotUnStakingRequestWithoutDelegationsExample'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: Wallet not found
+ status: 404
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ get:
+ tags:
+ - Staking Request
+ summary: List staking requests by asset
+ description: Retrieve staking requests for a user's wallet.
+ operationId: v1.user.staking.request
+ parameters:
+ - $ref: '#/components/parameters/pathCoin1'
+ - $ref: '#/components/parameters/pathWalletId1'
+ responses:
+ '200':
+ description: Successful Retrieving Staking Requests
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingRequestsListResponse'
+ examples:
+ EthStakingRequestsExample:
+ $ref: '#/components/examples/EthStakingRequestsListResponseExample'
+ MaticStakingRequestsExample:
+ $ref: '#/components/examples/MaticStakingRequestsListResponseExample'
+ MaticUnStakingRequestsExample:
+ $ref: '#/components/examples/MaticUnStakingRequestsListResponseExample'
+ NearStakingRequestsExample:
+ $ref: '#/components/examples/NearStakingRequestsListResponseExample'
+ NearUnStakingRequestsExample:
+ $ref: '#/components/examples/NearUnStakingRequestsListResponseExample'
+ SolStakingRequestsExample:
+ $ref: '#/components/examples/SolStakingRequestsListResponseExample'
+ SolUnStakingRequestsExample:
+ $ref: '#/components/examples/SolUnStakingRequestsListResponseExample'
+ DotStakingRequestsExample:
+ $ref: '#/components/examples/DotStakingRequestsListResponseExample'
+ DotUnStakingRequestsExample:
+ $ref: '#/components/examples/DotUnStakingRequestsListResponseExample'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: Wallet not found
+ status: 404
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/wallets/{walletId}/requests:
+ get:
+ tags:
+ - Staking Request
+ summary: List Staking Requests for a Wallet
+ description: List staking requests for a wallet.
+ operationId: v1.staking.request.list
+ parameters:
+ - $ref: '#/components/parameters/pathWalletId1'
+ - name: coin
+ in: query
+ description: The staking asset.
+ required: false
+ schema:
+ type: array
+ items:
+ type: string
+ - name: requestType
+ in: query
+ description: Filter by Staking Request Type
+ required: false
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/StakingRequestType'
+ - name: requestStatus
+ in: query
+ description: Filter by Staking Request Status
+ required: false
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/StakingRequestStatus'
+ - name: createdDateGte
+ in: query
+ description: Filter by created date greater than or equal to
+ required: false
+ schema:
+ type: string
+ format: date-time
+ - name: createdDateLt
+ in: query
+ description: Filter by created date less than
+ required: false
+ schema:
+ type: string
+ format: date-time
+ - name: ID
+ in: query
+ description: Filter by staking request ID
+ required: false
+ schema:
+ type: array
+ items:
+ type: string
+ format: uuid
+ - $ref: '#/components/parameters/queryPage'
+ - $ref: '#/components/parameters/queryPageSize'
+ - $ref: '#/components/parameters/querySortByCreatedDate'
+ responses:
+ '200':
+ description: Successful Listing Staking Requests for Wallet
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingRequestsResponse'
+ examples:
+ EthStakingRequestResultsExample:
+ $ref: '#/components/examples/EthStakingResultsExample'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: Wallet not found
+ status: 404
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/requests/{stakingRequestId}:
+ get:
+ tags:
+ - Staking Request
+ summary: List staking requests by ID
+ description: Retrieve A Specific Staking Request.
+ operationId: v1.staking.request
+ parameters:
+ - name: stakingRequestId
+ in: path
+ description: The ID for the staking request
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: Successful Retrieving a Staking Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/AtomStakingRequest'
+ - $ref: '#/components/schemas/CosmosLikeStakingRequest'
+ - $ref: '#/components/schemas/AvaxPStakingRequest'
+ - $ref: '#/components/schemas/DotStakingRequest'
+ - $ref: '#/components/schemas/EthStakingRequest'
+ - $ref: '#/components/schemas/MaticStakingRequest'
+ - $ref: '#/components/schemas/NearStakingRequest'
+ - $ref: '#/components/schemas/SolStakingRequest'
+ examples:
+ AvaxPStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/AvaxPStakingRequestWithTransactionsExample'
+ EthStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/EthStakingRequestWithTransactionsExample'
+ MaticStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/MaticStakingRequestWithTransactionsExample'
+ MaticUnStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/MaticUnStakingRequestWithTransactionsExample'
+ NearStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/NearStakingRequestWithTransactionsExample'
+ NearUnStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/NearUnStakingRequestWithTransactionsExample'
+ SolStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/SolStakingRequestWithTransactionsExample'
+ SolUnStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/SolUnStakingRequestWithTransactionsExample'
+ DotStakingRequestExample:
+ $ref: '#/components/examples/DotStakingRequestWithTransactionsExample'
+ DotUnStakingRequestWithoutDelegationsExample:
+ $ref: '#/components/examples/DotUnStakingRequestWithTransactionsExample'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: Wallet not found
+ status: 404
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/enterprises/{enterpriseId}/requests/transactions:
+ get:
+ deprecated: false
+ tags:
+ - Staking Request
+ summary: List staking requests by enterprise
+ description: Retrieve staking requests and staking transactions for a given enterprise and query params.
+ operationId: v1.staking.transactions
+ parameters:
+ - name: enterpriseId
+ in: path
+ description: The enterprise ID.
+ required: true
+ schema:
+ type: string
+ - $ref: '#/components/parameters/coin1'
+ - name: walletType
+ in: query
+ description: Filter by Wallet Type (e.g. custodial, hot)
+ required: false
+ schema:
+ type: string
+ - name: walletIds
+ in: query
+ description: Wallet Ids
+ required: false
+ schema:
+ type: array
+ items:
+ type: string
+ - name: requestType
+ in: query
+ description: Filter by Staking Request Type
+ required: false
+ schema:
+ $ref: '#/components/schemas/StakingRequestType'
+ - name: requestStatus
+ in: query
+ description: Filter by Staking Request status
+ required: false
+ schema:
+ $ref: '#/components/schemas/StakingRequestStatus'
+ - name: expandBuildParams
+ in: query
+ description: True, if to include staking build params
+ required: false
+ schema:
+ type: boolean
+ - $ref: '#/components/parameters/queryPage'
+ - $ref: '#/components/parameters/queryPageSize'
+ - $ref: '#/components/parameters/querySortByCreatedDate'
+ responses:
+ '200':
+ description: Successful Retrieving Staking Requests with Transactions
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingRequestsResponse'
+ examples:
+ EthStakingRequestResultsExample:
+ $ref: '#/components/examples/EthStakingResultsExample'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: Wallet not found
+ status: 404
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/{coin}/wallets/{walletId}/requests/{stakingRequestId}/transactions/{stakingTransactionId}:
+ post:
+ tags:
+ - Staking Request
+ summary: Sign staking transaction
+ description: Use to act on a transaction like sending a transaction
+ operationId: v1.staking.transaction.act
+ parameters:
+ - $ref: '#/components/parameters/pathCoin1'
+ - $ref: '#/components/parameters/pathWalletId1'
+ - name: stakingRequestId
+ in: path
+ description: The ID for the staking request.
+ required: true
+ schema:
+ type: string
+ - name: stakingTransactionId
+ in: path
+ description: The ID for the staking request transaction.
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/EthStakingTransactionSendRequest'
+ responses:
+ '200':
+ description: Successful Acting on a Transaction
+ content:
+ application/json:
+ schema:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/EthStakingTransaction'
+ example:
+ - stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ amount: '3200000000000000000'
+ transactionType: delegate
+ buildParams:
+ recipients:
+ amount: '3200000000000000000'
+ address: '0xff50ed3d0ec03aC01D4C79aAd74928BFF48a7b2b'
+ data: fds0934rnnio390nw
+ stakingParams:
+ requestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '3200000000000000000'
+ validator: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ actionType: delegate
+ gasPrice: '1000000000000000'
+ gasLimit: '3000000000000000'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: Wallet not found
+ status: 404
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/{coin}/wallets/{walletId}:
+ get:
+ tags:
+ - Staking State Information
+ summary: List staking details by wallet
+ description: Get staking wallet information including staking delegated balance, rewards accrued, and rewards accrual annual percentage rate.
+ operationId: v1.stakingWallet.get
+ parameters:
+ - $ref: '#/components/parameters/pathCoin1'
+ - $ref: '#/components/parameters/pathWalletId1'
+ responses:
+ '200':
+ description: Successful Get a Staking Wallet
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingWallet'
+ example:
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ walletType: custodial
+ label: My Staking Wallet
+ coin: eth
+ delegated: '6400000000000000000'
+ pendingUnstake: '0'
+ pendingStake: '0'
+ spendableAttributes:
+ min: '0'
+ max: '0'
+ fee: '0'
+ isStakingDurationNeeded: false
+ rewards: '1000000000000000'
+ apy: '8.2'
+ createdDate: '2022-01-10T14:32:28.000Z'
+ modifiedDate: '2022-01-10T14:32:28.000Z'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: Wallet not found
+ status: 404
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/{coin}/wallets/{walletId}/delegations:
+ get:
+ tags:
+ - Staking State Information
+ summary: List staking delegations
+ description: Retrieve staking wallet delegation information.
+ operationId: v1.staking.wallet.delegations
+ parameters:
+ - $ref: '#/components/parameters/pathCoin1'
+ - $ref: '#/components/parameters/pathWalletId1'
+ - name: delegationIds
+ in: query
+ description: The delegation IDs.
+ required: false
+ schema:
+ type: string
+ - name: delegationStatus
+ in: query
+ description: The status of the delegation.
+ required: false
+ schema:
+ type: string
+ - name: unstakeable
+ in: query
+ description: Unsupported for staking
+ required: false
+ schema:
+ type: boolean
+ - name: delegationAddress
+ in: query
+ description: The address of of the delegation.
+ required: false
+ schema:
+ type: string
+ - name: delegationAddresses
+ in: query
+ description: The list of delegation addresses to query for.
+ required: false
+ schema:
+ type: array
+ items:
+ type: string
+ - name: provider
+ in: query
+ description: The validator provider used for staking.
+ required: false
+ schema:
+ type: string
+ - $ref: '#/components/parameters/queryPage'
+ - $ref: '#/components/parameters/queryPageSize'
+ - $ref: '#/components/parameters/querySortByCreatedDate'
+ responses:
+ '200':
+ description: Successful Retrieving a Staking Wallet Delegations
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DelegationResults'
+ examples:
+ EthDelegationResultsExample:
+ $ref: '#/components/examples/EthDelegationResultsExample'
+ AvaxPDelegationResultsExample:
+ $ref: '#/components/examples/AvaxPDelegationResultsExample'
+ DotDelegationResultsExample:
+ $ref: '#/components/examples/DotDelegationResultsExample'
+ MaticDelegationResultsExample:
+ $ref: '#/components/examples/MaticDelegationResultsExample'
+ NearDelegationResultsExample:
+ $ref: '#/components/examples/NearDelegationResultsExample'
+ SolDelegationResultsExample:
+ $ref: '#/components/examples/SolDelegationResultsExample'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: Wallet not found
+ status: 404
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/{coin}/enterprises/{enterpriseId}:
+ get:
+ tags:
+ - Staking State Information
+ summary: List staking details by enterprise
+ description: Retrieve staking information such as delegated balance, rewards accrued, and rewards accrual annual percentage rate.
+ operationId: v1.staking.enterprise
+ parameters:
+ - $ref: '#/components/parameters/pathCoin1'
+ - name: enterpriseId
+ in: path
+ description: The enterprise ID representing the enterprise a user staked from.
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: Successful Retrieving Staking Information For An Enterprise
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingEnterprise'
+ example:
+ enterpriseId: 1032e75c451052000436831deb797af1
+ coin: eth
+ delegated: '6400000000000000000'
+ rewards: '1000000000000000'
+ apy: '8.2'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: Wallet not found
+ status: 404
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/{coin}/reward-accrual-report:
+ get:
+ tags:
+ - Staking History
+ summary: Get staking reward history
+ description: Retrieve staking reward history.
+ operationId: v1.staking.reward.history
+ parameters:
+ - $ref: '#/components/parameters/pathCoin1'
+ - name: enterpriseId
+ in: query
+ description: The enterprise ID of the enterprise a user staked from.
+ required: false
+ schema:
+ type: string
+ - name: walletId
+ in: query
+ description: The wallet ID of the wallet a user staked from. Either the enterpriseId or walletId need to be passed in.
+ required: false
+ schema:
+ $ref: '#/components/schemas/WalletId'
+ - name: range
+ in: query
+ description: The time range for the data, either hourly or daily.
+ required: false
+ schema:
+ type: string
+ - name: startDate
+ in: query
+ description: The start date to search from.
+ required: false
+ schema:
+ type: string
+ format: date-time
+ - name: endDate
+ in: query
+ description: The end date to search from.
+ required: false
+ schema:
+ type: string
+ format: date-time
+ - $ref: '#/components/parameters/queryPage'
+ - $ref: '#/components/parameters/queryPageSize'
+ - $ref: '#/components/parameters/querySortByDate'
+ responses:
+ '200':
+ description: Successful Retrieving Staking History
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingRewards'
+ example:
+ rewards:
+ - reward: '1000000000000000'
+ enterpriseId: 1032e75c451052000436831deb797af1
+ date: '2022-01-10T14:32:28.000Z'
+ nextBatchPrevDate: '2022-01-11T14:32:28.000Z'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: Wallet not found
+ status: 404
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/{coin}/wallets/{walletId}/delegations/accruals:
+ get:
+ tags:
+ - Staking History
+ summary: Get staking accrual history
+ description: Retrieve staking delegation accrual history.
+ operationId: v1.staking.reward.accrual
+ parameters:
+ - $ref: '#/components/parameters/pathCoin1'
+ - name: walletId
+ in: path
+ description: The wallet ID of the wallet a user staked from. Either the enterpriseId or walletId need to be passed in.
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletId'
+ - name: delegationIds
+ in: query
+ description: Delegation IDs
+ required: false
+ schema:
+ type: string
+ - name: range
+ in: query
+ description: The time range for the data, either hourly or daily.
+ required: false
+ schema:
+ type: string
+ - name: startDate
+ in: query
+ description: The start date to search from.
+ required: false
+ schema:
+ type: string
+ format: date-time
+ - name: endDate
+ in: query
+ description: The end date to search from.
+ required: false
+ schema:
+ type: string
+ format: date-time
+ - $ref: '#/components/parameters/queryPage'
+ - $ref: '#/components/parameters/queryPageSize'
+ - $ref: '#/components/parameters/querySortByCreatedDate'
+ responses:
+ '200':
+ description: Successful Retrieving Delegation Accrual History
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DelegationAccruals'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: Wallet not found
+ status: 404
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/{coin}/wallets/{walletId}/attributes:
+ get:
+ tags:
+ - Staking State Information
+ summary: Get staking requirements
+ description: Retrieve staking wallet state attribute information.
+ operationId: v1.staking.wallet.attributes
+ parameters:
+ - $ref: '#/components/parameters/pathCoin1'
+ - $ref: '#/components/parameters/pathWalletId1'
+ responses:
+ '200':
+ description: Successful Retrieving a Staking Wallet State Attribute Information
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - allOf:
+ - title: AVAXP
+ - $ref: '#/components/schemas/AvaxpWalletStakingStateAttributes'
+ - allOf:
+ - title: DOT
+ - $ref: '#/components/schemas/DotWalletStakingStateAttributes'
+ - allOf:
+ - title: General
+ - $ref: '#/components/schemas/WalletStakingStateAttributes'
+ examples:
+ WalletStakingStateAttributesExamples:
+ $ref: '#/components/examples/WalletStakingStateAttributesExamples'
+ DotWalletStakingStateAttributesExamples:
+ $ref: '#/components/examples/DotWalletStakingStateAttributesExamples'
+ AvaxPWalletStakingStateAttributesExamples:
+ $ref: '#/components/examples/AvaxPWalletStakingStateAttributesExamples'
+ SolWalletStakingStateAttributesExamples:
+ $ref: '#/components/examples/SolWalletStakingStateAttributesExamples'
+ MaticWalletStakingStateAttributesExamples:
+ $ref: '#/components/examples/MaticWalletStakingStateAttributesExamples'
+ NearWalletStakingStateAttributesExamples:
+ $ref: '#/components/examples/NearWalletStakingStateAttributesExamples'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: Wallet not found
+ status: 404
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/coins:
+ get:
+ tags:
+ - Staking State Information
+ summary: List coins available for staking
+ description: Retrieve a list of coins available for staking and additional information.
+ operationId: v1.staking.coins
+ parameters:
+ - $ref: '#/components/parameters/queryPage'
+ - $ref: '#/components/parameters/queryPageSize'
+ responses:
+ '200':
+ description: Successful Retrieving a List of Stakeable Coins
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakeableCoinsResult'
+ examples:
+ StakeableCoinsResultExample:
+ $ref: '#/components/examples/StakeableCoinsResultExample'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CoinsUnauthorizedError'
+ example:
+ error: Unauthorized
+ errorName: Error
+ reqId: some-id
+ context:
+ errorName: Error
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Internal Server Error
+ status: 500
+ /api/staking/v1/{coin}/wallets/{walletId}/validators:
+ get:
+ tags:
+ - Staking State Information
+ summary: List staking validators for a wallet
+ description: Returns a list of staking validators for a wallet, and includes the total delegated amount and the amount of accrued rewards.
+ operationId: v1.validators.list
+ parameters:
+ - $ref: '#/components/parameters/pathCoin1'
+ - $ref: '#/components/parameters/pathWalletId1'
+ - $ref: '#/components/parameters/queryPage'
+ - $ref: '#/components/parameters/queryPageSize'
+ responses:
+ '200':
+ description: Successful Retrieving Staking Validators For A Wallet
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingValidatorsResponse'
+ examples:
+ SolStakingValidatorsResultsExample:
+ $ref: '#/components/examples/SolStakingValidatorsResultsExample'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: Wallet not found
+ status: 404
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/validators:
+ get:
+ tags:
+ - Staking State Information
+ summary: List staking partnered validators
+ description: Returns a list of staking partnered validators.
+ operationId: v1.partneredValidators.list
+ parameters:
+ - name: coin
+ in: query
+ description: The staking asset.
+ required: false
+ schema:
+ type: string
+ - name: enterpriseId
+ in: query
+ description: The enterprise ID.
+ required: false
+ schema:
+ type: string
+ - name: walletId
+ in: query
+ description: The wallet ID.
+ required: false
+ schema:
+ type: string
+ - name: delegationStatus
+ in: query
+ description: The delegation status.
+ required: false
+ schema:
+ type: string
+ - name: onlyActive
+ in: query
+ description: True only if validators with active delegations are requested
+ required: false
+ schema:
+ type: boolean
+ - name: defaultValidator
+ in: query
+ description: True only if the default validator is requested
+ required: false
+ schema:
+ type: boolean
+ - name: isOperator
+ in: query
+ description: True only if the operators for restaking are requested (i.e Eigen layer restaking)
+ required: false
+ schema:
+ type: boolean
+ - $ref: '#/components/parameters/queryPage'
+ - $ref: '#/components/parameters/queryPageSize'
+ responses:
+ '200':
+ description: Successful Retrieving Staking Partnered Validators
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingPartneredValidatorsResponse'
+ examples:
+ SuiStakingPartneredValidatorsResultsExample:
+ $ref: '#/components/examples/SuiStakingPartneredValidatorsResultsExample'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: Staking license not added for enterprise
+ status: 403
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Conflict
+ message: Conflicting clientID
+ status: 409
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/enterprises/{enterpriseId}/license:
+ get:
+ tags:
+ - Staking State Information
+ summary: Get staking license
+ description: Returns a staking license for the given enterprise.
+ operationId: v1.license
+ parameters:
+ - name: enterpriseId
+ in: path
+ description: The enterprise ID.
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: Successful Retrieving Staking License For An Enterprise
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingLicenseResponse'
+ examples:
+ SolStakingValidatorsResultsExample:
+ $ref: '#/components/examples/LicenseResultsExample'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/StakingError'
+ - $ref: '#/components/schemas/ValidationError1'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: User is not a member of the enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: License not found
+ status: 404
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/staking/v1/enterprises/{enterpriseId}/wallets:
+ get:
+ tags:
+ - Staking State Information
+ summary: List staking rewards
+ description: Returns total rewards per staking wallet for an enterprise.
+ operationId: v1.enterprise.stakingWallets.list
+ parameters:
+ - name: enterpriseId
+ in: path
+ description: The enterprise ID.
+ required: true
+ schema:
+ type: string
+ - $ref: '#/components/parameters/queryCoin'
+ - $ref: '#/components/parameters/queryLabel'
+ - $ref: '#/components/parameters/queryPage'
+ - $ref: '#/components/parameters/queryPageSize'
+ responses:
+ '200':
+ description: Successful List Enterprise Staking Wallets Rewards
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingWalletsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: AccessDenied
+ message: User is not a member of the enterprise
+ status: 403
+ '404':
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: NotFound
+ message: License not found
+ status: 404
+ '500':
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ /api/v1/user/login:
+ post:
+ summary: Login Request
+ operationId: user.login
+ tags:
+ - User
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ email:
+ type: string
+ description: The email address of the user
+ extensible:
+ type: boolean
+ otp:
+ type: string
+ description: The one-time password
+ password:
+ type: string
+ description: The password
+ required:
+ - email
+ - otp
+ - password
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LoginResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/{coin}/key/{id}:
+ get:
+ summary: Get key
+ description: |-
+ Get Key using either the key id or the pub. When using the public key, it will only
+ return the mandatory fields.
+ operationId: v2.key.get
+ tags:
+ - Key
+ parameters:
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinString'
+ - name: id
+ description: The key ID or the public key
+ in: path
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Key1'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/{coin}/tss/pubkey:
+ get:
+ summary: Get Bitgo MPC GPG public key
+ description: 'It is necessary to use correct MPC BitGo public GPG key when performing MPC operations. Different public keys might be necessary in different cases. This endpoint returns a valid GPG public key taking into account all factors, including: coin, user and enterprise feature flags. Using incorrect key may cause signing and wallet creation errors.'
+ operationId: v2.tsspubkey.getbycoin
+ tags:
+ - Key
+ parameters:
+ - name: enterpriseId
+ description: Filter by enterprise. Allows to take enterprise settings into consideration.
+ in: query
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BitgoTSSPublicKeyResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/{coin}/wallet/{walletId}/address:
+ post:
+ summary: Create address
+ description: |-
+ Creates a new receive address for a wallet. If you create a forwarder address, whenever it receives assets, BitGo automatically deploys a forwarder smart contract to flush the balance to the base address. See [Blockchain Reference](/coins/Agoric) topics to learn more about address management, fees, and consolidations for specific assets.
+ **Note:** New Ethereum addresses require blockchain confirmation before you can consolidate from them.
+ operationId: v2.wallet.newaddress
+ tags:
+ - Address
+ parameters:
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinString'
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdString'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ type:
+ type: string
+ chain:
+ type: number
+ default: 1
+ example: 1
+ forwarderVersion:
+ type: number
+ description: (ETH only) Specify forwarder version to use in address creation. To reduce the cost of creating ETH forwarders, BitGo uses a set of forwarder contracts that deploy as a simple proxy to a single implementation (https://eips.ethereum.org/EIPS/eip-1167). Additionally, forwarders deploy using opcode, CREATE2, enabling them to deploy only when needed (https://eips.ethereum.org/EIPS/eip-1014). These forwarders otherwise operate identically to prior ETH forwarders. Use this flag to specify the forwarder contract version when deploying a forwarder contract. Use 0 for the older forwarder (https://github.com/BitGo/eth-multisig-v2). Use 1 for the new fee-improved forwarder (https://github.com/BitGo/eth-multisig-v4). Use 2 for NFT-supported forwarders and version 2 wallets. Use 3 for MPC wallets. Use 4 for forwarders with the same functionality as v2 but with some changes. v4 is applicable for Arbitrum, Optimism, ZkSync, and other EVM-compatible chains that we will onboard in the future. Use 5 for new MPC based wallets with wallet-version 6
+ minimum: 0
+ maximum: 5
+ onToken:
+ type: string
+ description: Create an address for the given token
+ example: ofcbtc
+ label:
+ type: string
+ description: A human-readable label for the address
+ example: Bob's Hot Wallet Address
+ maxLength: 250
+ lowPriority:
+ type: boolean
+ default: false
+ description: Whether the deployment of the address forwarder contract should use a low priority fee key (ETH only)
+ gasPrice:
+ oneOf:
+ - type: string
+ - type: number
+ description: Explicit gas price to use when deploying the forwarder contract (ETH only). If not given, defaults to the current estimated network gas price.
+ eip1559:
+ type: object
+ description: '(ETH forwarderVersion: 0 wallets only) Specify eip1559 fee parameters in forwarder creation transactions.'
+ properties:
+ maxFeePerGas:
+ allOf:
+ - $ref: '#/components/schemas/NumberLike'
+ description: Max total gasPrice for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ maxPriorityFeePerGas:
+ allOf:
+ - $ref: '#/components/schemas/NumberLike'
+ description: Max priority tip price for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ required:
+ - maxFeePerGas
+ - maxPriorityFeePerGas
+ format:
+ type: string
+ description: Format to use for the new address, if the coin which supports multiple formats for an address. Currently, Bitcoin Cash is the only coin which has support for multiple address formats. For Bitcoin Cash, BitGo supports both the base58 (legacy) address format, as well as the newer CashAddr format. The default address format is base58. To request a CashAddr formatted address instead, use the value 'cashaddr' as the format.
+ example: cashaddr
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletAddress'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/{coin}/wallet/{walletId}/address/{addressId}/deployment:
+ post:
+ summary: Deploy address
+ description: This API call is to manually deploy an ETH address
+ operationId: v2.wallet.deployForwarder
+ tags:
+ - Address
+ parameters:
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinString'
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdString'
+ - name: addressId
+ description: Address or Id which will be used for information lookup
+ in: path
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ forceDeploy:
+ type: boolean
+ default: false
+ description: 'Use forceDeploy: true to deploy the forwarder even if pendingDeployment flag is set as false'
+ gasPrice:
+ type: number
+ description: Explicit gas price to use when deploying the forwarder contract (ETH only). If not given, defaults to the current estimated network gas price.
+ eip1559:
+ type: object
+ description: Specify eip1559 fee parameters in forwarder creation transactions.
+ properties:
+ maxFeePerGas:
+ allOf:
+ - $ref: '#/components/schemas/NumberLike'
+ description: Max total gasPrice for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ maxPriorityFeePerGas:
+ allOf:
+ - $ref: '#/components/schemas/NumberLike'
+ description: Max priority tip price for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ required:
+ - maxFeePerGas
+ - maxPriorityFeePerGas
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeployAddressAndForwardTokenResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/{coin}/wallet/{walletId}/address/{addressId}/tokenforward:
+ post:
+ summary: Forward tokens from address
+ description: This API call is to manually forward tokens from an ETH or CELO address
+ operationId: v2.wallet.forwardToken
+ tags:
+ - Address
+ parameters:
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinString'
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdString'
+ - name: addressId
+ description: Address or Id which will be used for information lookup
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ tokenName:
+ type: string
+ description: Name of token that needs to be forwarded from the address
+ forceFlush:
+ type: boolean
+ default: false
+ description: 'Use forceFlush: true to flush the tokens from forwarder irrespective of the balance of the forwarders'
+ gasPrice:
+ type: number
+ description: Explicit gas price to use when forwarding token from the forwarder contract (ETH and Celo only). If not given, defaults to the current estimated network gas price.
+ eip1559:
+ type: object
+ description: Specify eip1559 fee parameters in token forwarding transaction.
+ properties:
+ maxFeePerGas:
+ allOf:
+ - $ref: '#/components/schemas/NumberLike'
+ description: Max total gasPrice for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ maxPriorityFeePerGas:
+ allOf:
+ - $ref: '#/components/schemas/NumberLike'
+ description: Max priority tip price for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ required:
+ - maxFeePerGas
+ - maxPriorityFeePerGas
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeployAddressAndForwardTokenResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/{coin}/wallet/{walletId}/address/{addressOrId}:
+ get:
+ summary: Get address
+ description: Gets a receive address on a wallet
+ operationId: v2.wallet.singlewalletaddress
+ tags:
+ - Address
+ parameters:
+ - name: dt
+ description: For XRP addresses
+ in: query
+ schema:
+ type: string
+ - name: memoId
+ description: For XLM addresses
+ in: query
+ schema:
+ type: string
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinString'
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdString'
+ - name: addressOrId
+ description: The address or ID which will be used for information lookup
+ in: path
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletAddress'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ put:
+ summary: Update address
+ description: Update a receive address on a wallet
+ operationId: v2.wallet.updateaddress
+ tags:
+ - Address
+ parameters:
+ - name: dt
+ description: For XRP addresses
+ in: query
+ schema:
+ type: string
+ - name: memoId
+ description: For XLM addresses
+ in: query
+ schema:
+ type: string
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinString'
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdString'
+ - name: addressOrId
+ description: Address or Id which will be used for information lookup
+ in: path
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ label:
+ nullable: true
+ allOf:
+ - $ref: '#/components/schemas/AddressLabelString'
+ description: New label which should apply to this address. The caller needs admin permissions for the associated wallet if the label already has a value. Otherwise view or spend permissions are fine because the label has not been set yet. This is due to the fact that customers use address labels to associate addresses with their customers.
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletAddress'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/{coin}/wallet/{walletId}/address/{addressOrId}/proof:
+ get:
+ summary: Get proof of address ownership
+ description: |-
+ Gets proof of ownership for an address of a TRUST wallet. Returns a unique BTC proof that you can use with your
+ travel-rule solutions. Only available for BTC.
+
+ Before using this endpoint, BitGo must configure the VASP ID for your enterprise. Contact support@bitgo.com and
+ provide your enterprise ID, environment (production or testnet), role at your company, and your VASP ID.
+ operationId: v2.wallet.addressProof
+ tags:
+ - Address
+ parameters:
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinString'
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdString'
+ - name: addressOrId
+ description: Address or Id which will be used for information lookup
+ in: path
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AddressProofResult'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/{coin}/wallet/{walletId}/addresses:
+ get:
+ summary: List addresses
+ description: List receive addresses on a wallet
+ operationId: v2.wallet.addresses
+ tags:
+ - Address
+ parameters:
+ - name: includeBalances
+ description: Whether to include address balances
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ default: 'false'
+ - name: includeTokens
+ description: Whether to include token addresses
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ default: 'false'
+ - name: labelContains
+ description: A case-insensitive regular expression which will be used to filter returned addresses based on their address label.
+ in: query
+ schema:
+ type: string
+ - name: limit
+ description: Maximum number of results to return
+ in: query
+ schema:
+ type: string
+ default: '25'
+ minimum: 1
+ maximum: 500
+ - name: sort
+ description: Sort order of returned addresses. (1 for ascending, -1 for descending)
+ in: query
+ schema:
+ type: string
+ default: '1'
+ - name: sortedField
+ description: The field by which addresses will be sorted, if not provided then sort by id by default
+ in: query
+ schema:
+ type: string
+ enum:
+ - token
+ - label
+ - name: sortedFieldDirection
+ description: Sort order of the returned addresses on the sortedField
+ in: query
+ schema:
+ type: string
+ enum:
+ - '1'
+ - '-1'
+ - name: chains
+ description: Filter by address chains
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - '0'
+ - '1'
+ - '10'
+ - '11'
+ - '20'
+ - '21'
+ - '30'
+ - '31'
+ - '40'
+ - '41'
+ description: Filter by address chains
+ example: '1'
+ - name: includeTotalAddressCount
+ description: For large wallets (>100k addresses), include total count of addresses (including addresses pending on-chain) matching the query.
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ default: 'false'
+ - name: prevId
+ description: Return the next batch of results, based on the nextBatchPrevId value from the previous batch
+ in: query
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ - name: token
+ description: This param is used to query and filter addresses by token names in case of ofc wallets
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ description: This param is used to query and filter addresses by token names in case of ofc wallets
+ example: ofctbtc
+ - name: returnBalancesForToken
+ description: Name of the token that the response should include balances for. (Eth and Celo only)
+ in: query
+ schema:
+ type: string
+ - name: pendingDeployment
+ description: Filter the addresses based on their deployment status. Return the deployed addresses if this param is passed as false and return undeployed addresses if it is passed as true. (Eth only)
+ in: query
+ schema:
+ type: string
+ - name: segwit
+ description: DEPRECATED. Mutually exclusive with 'chains'. Returns only 'p2shP2wsh' unspents/addresses on true. Returns only 'p2sh' unspents/addresses on false. Equivalent to passing 10 and 11 as the only value in 'chains' on true, 0 and 1 on false.
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinString'
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AddressQueryResult'
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/{coin}/wallet/{walletId}/crossChainUnspents:
+ get:
+ summary: Get Wallet Cross Chain Unspents
+ description: |-
+ Returns atomic cross-chain unspents that can be imported by the wallet.
+ Supported coins: AVAX.
+ operationId: v2.wallet.crosschainunspents
+ tags:
+ - Wallet
+ parameters:
+ - name: sourceChain
+ description: Returns unspents exported from the source chain. If not provided, returns outputs from all chains.
+ in: query
+ schema:
+ type: string
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinNonEmptyString'
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletCrossChainUnspentResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidWalletId2'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/{coin}/wallet/{walletId}/forwarders/balances:
+ get:
+ summary: List forwarder addresses and balances
+ description: Lists all forwarder addresses and their balances for a wallet. By default, returns low-balance forwarder addresses. A forwarder address has a low balance if the number of assets in it is less than the balance times by the current gas price times the transaction gas limit.
+ operationId: v2.wallet.forwarders.balance
+ tags:
+ - Wallet
+ parameters:
+ - name: minimumBalance
+ description: Lower bound of balance range.
+ in: query
+ schema:
+ type: string
+ format: number
+ - name: maximumBalance
+ description: Upper bound of balance range.
+ in: query
+ schema:
+ type: string
+ format: number
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinString'
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/forwardersBalanceResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidWalletId2'
+ /api/v2/{coin}/wallet/{walletId}/fundforwarders:
+ post:
+ summary: Send funds to forwarder
+ description: Send funds from a fee address to forwarder. Only supports account-based coins and tokens (like ETH).
+ operationId: v2.wallet.fundforwarders
+ tags:
+ - Wallet
+ parameters:
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinNonEmptyString'
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ forwarders:
+ type: array
+ items:
+ type: object
+ properties:
+ forwarderAddress:
+ type: string
+ description: Address of the forwarder to send funds to
+ amount:
+ type: string
+ description: Amount to send to the forwarder. If not given, defaults to sending an estimate of the amount needed for a fund recovery.
+ required:
+ - forwarderAddress
+ required:
+ - forwarders
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ failed:
+ type: array
+ items:
+ type: object
+ properties:
+ forwarderAddress:
+ type: string
+ description: Failed forwarder address
+ errMsg:
+ type: string
+ required:
+ - forwarderAddress
+ - errMsg
+ successTxIds:
+ type: array
+ items:
+ type: object
+ properties:
+ forwarderAddress:
+ type: string
+ description: Successful forwarder address
+ txId:
+ type: string
+ description: On-chain transaction ID
+ required:
+ - forwarderAddress
+ - txId
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/{coin}/wallet/{walletId}/potentialStuckTxs:
+ get:
+ summary: Get list of potentially stuck transactions and their nonces for eth-like coins
+ description: |-
+ Gets a list of potentially problematic transactions, their nonces, the reason they
+ are stuck, and possible solutions for a given wallet.
+ operationId: v2.wallet.getpotentialstucktxs
+ tags:
+ - Wallet
+ parameters:
+ - name: expandSendTransferMetadata
+ description: True, if expanding the send transfer for each stuck transaction if one is available.
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ default: 'false'
+ - name: txid
+ description: The transaction ID of the stuck transaction.
+ in: query
+ schema:
+ type: string
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinNonEmptyString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GetPotentialStuckTxsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/{coin}/wallet/{walletId}/sequenceIds:
+ get:
+ summary: List last 10 contract sequenceIds of a wallet
+ description: |-
+ Lists last 10 contract sequenceIds of the base address of a wallet alongwith
+ their transaction ids.
+ operationId: v2.wallet.getSequenceIds
+ tags:
+ - Wallet
+ parameters:
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinNonEmptyString'
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GetSequenceIdsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidWalletId2'
+ /api/v2/{coin}/wallet/{walletId}/tx/changeFee:
+ post:
+ summary: Change Fee
+ description: |-
+ Change the fee rate of a transaction in an attempt to accelerate its confirmation.
+ Supported by: ETH, ERC20 tokens, CELO, RSK, ETC
+
+ Requirements:
+ - Transaction gas price must increase by at least 10 Gwei or 20% higher than the original transaction fee
+ - At least 15 minutes must have passed since original send
+ operationId: v2.wallet.changefee
+ tags:
+ - Transfer
+ parameters:
+ - name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/CoinNonEmptyString'
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ txid:
+ type: string
+ description: Transaction ID of the transaction for which we are changing the fee for.
+ example: b8a828b98dbf32d9fd1875cbace9640ceb8c82626716b4a64203fdc79bb46d26
+ minLength: 1
+ fee:
+ type: number
+ description: The new fee for the transaction.
+ eip1559:
+ type: object
+ description: EIP-1559 transaction parameters
+ properties:
+ maxFeePerGas:
+ allOf:
+ - $ref: '#/components/schemas/NumberLike'
+ description: Max total gasPrice for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ maxPriorityFeePerGas:
+ allOf:
+ - $ref: '#/components/schemas/NumberLike'
+ description: Max priority tip price for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ required:
+ - maxFeePerGas
+ - maxPriorityFeePerGas
+ required:
+ - txid
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ChangeFeeResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/auditlog:
+ get:
+ summary: List audit logs
+ operationId: v2.auditlog.list
+ tags:
+ - Audit log
+ parameters:
+ - name: allTokens
+ description: Whether to include all tokens
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: dateGte
+ description: Date greater than or equal to
+ in: query
+ schema:
+ type: string
+ - name: dateLt
+ description: Date less than or equal to
+ in: query
+ schema:
+ type: string
+ - name: enterpriseId
+ description: The enterprise ID to filter by
+ in: query
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ - name: includeV1
+ description: Whether to include v1 audit logs
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: limit
+ description: Limit the number of results
+ in: query
+ schema:
+ type: string
+ format: number
+ - name: prevId
+ description: The ID of the previous audit log
+ in: query
+ schema:
+ type: string
+ - name: type
+ description: The types of audit log to filter by
+ in: query
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/AuditLogType1'
+ - type: array
+ items:
+ type: string
+ enum:
+ - createTransaction
+ - approveTransaction
+ - rejectTransaction
+ - bitgoSigned
+ - addPolicy
+ - addPolicyServicePolicy
+ - addPolicyServiceSettlement
+ - changePolicy
+ - changePolicyServicePolicy
+ - removePolicy
+ - removePolicyServicePolicy
+ - approvePolicy
+ - approvePolicyServicePolicy
+ - approvePolicyServiceSettlement
+ - rejectPolicy
+ - rejectPolicyServicePolicy
+ - rejectPolicyServiceSettlement
+ - policyUpdated
+ - policyServicePolicyUpdated
+ - updatePolicyMutability
+ - freezeUser
+ - adminFreezeUser
+ - addUser
+ - removeUser
+ - shareUser
+ - shareUserAccept
+ - shareUserCancel
+ - shareUserDecline
+ - approveUser
+ - rejectUser
+ - userSignup
+ - userLogin
+ - userFailedLogin
+ - oAuthAuthorize
+ - userSourceVerified
+ - userSettingsChange
+ - userPasswordChange
+ - userPasswordReset
+ - user2FARemove
+ - user2FAAdd
+ - adminUnblockUserEmail
+ - adminUpdateUserActive
+ - adminResetUserOTP
+ - adminSetFeatureFlagsForUser
+ - adminAllowCoinForUser
+ - adminModifyRateLimit
+ - createWallet
+ - removeWallet
+ - freezeWallet
+ - unfreezeWallet
+ - deleteWallet
+ - undeleteWallet
+ - renameWallet
+ - redeployWallet
+ - updateWalletV1
+ - updateWalletType
+ - fixWalletType
+ - addWalletUser
+ - removeWalletUser
+ - initializeWallet
+ - updateWalletCoinSpecific
+ - adminAddCustomNodeForWallet
+ - deleteCustomNodeForWallet
+ - recoverNonKRSWallet
+ - cloneCustodialWallet
+ - addWalletFlag
+ - deleteWalletFlag
+ - updateWalletFlag
+ - addWebhook
+ - adminAddWebhook
+ - removeWebhook
+ - getWebhookSecret
+ - createWebhookSecret
+ - updateNotificationSettings
+ - labelAddress
+ - unlabelAddress
+ - updateComment
+ - createSendLabel
+ - updateSendLabel
+ - deleteSendLabel
+ - updateTag
+ - updateApprovalsRequired
+ - createEnterprise
+ - starterSignupCreateEnterprise
+ - institutionalSignupCreateEnterprise
+ - updateEnterpriseUser
+ - approveEnterpriseUser
+ - rejectEnterpriseUser
+ - freezeEnterprise
+ - adminRenameEnterprise
+ - createAccessToken
+ - modifyAccessToken
+ - deleteAccessToken
+ - adminUpdateAccessToken
+ - createBankAccount
+ - updateBankAccount
+ - adminUpdateBankAccount
+ - removeBankAccount
+ - createPasswordReset
+ - deletePasswordReset
+ - adminUpdatePasswordReset
+ - adminAddCustomNode
+ - deleteCustomNode
+ - removeVideoId
+ - externalWithdrawalDetected
+ - adminUpdateKycState
+ - updateKycState
+ - updateEnterprise
+ - approveOrganizationUser
+ - rejectOrganizationUser
+ - bulkCreateOfcWallet
+ - upsertRecoveryCodes
+ - viewRecoveryCodes
+ - createReset2FA
+ - verifyReset2FA
+ - completeReset2FA
+ - retrofitToMPCv2
+ - adminInternalTokenCreate
+ - adminInternalUnverifiedEmailStateReset
+ - routedTransactionCreate
+ - routedTransactionUpdate
+ - routedTransactionRead
+ - routedTransactionNoop
+ - transactionRouteCreate
+ - transactionRouteSignature
+ - transactionRouteDeactivate
+ - bitgoAdminRolesUpdate
+ - bitgoAdminRolesDelete
+ - resetWebhookNotifications
+ - makeUnspentReservation
+ - removeUnspentReservation
+ - createCustodialKey
+ - deleteCustodialKey
+ - createNonceAccounts
+ - validateReorg
+ - adminCreateQuery
+ - adminUpdateQuery
+ - adminRunQuery
+ - activateMultisigSafeMode
+ - activateMultisigSafeModeMultiple
+ - updatePricingPlan
+ - addPricingPlan
+ - createBillingTask
+ - handleLightningRPC
+ - addUserSignatureShare
+ - removeUserSignatureShare
+ - updateWalletSendQ
+ - fixMissingEnterpriseIdsOnTransactions
+ - fixSendAccountingOnTransfers
+ - syncMigratedKeys
+ - fixDuplicateWalletTxs
+ - fixMissingWalletTxs
+ - updateSendQTx
+ - releaseTxHold
+ - createVASP
+ - mergeVASP
+ - updateVASP
+ - cosignRecoveryTransaction
+ - cosignTokenRecovery
+ - flushTokenBalances
+ - flushCoinBalances
+ - adminRedeployAddress
+ - getUndeployedForwarders
+ - changeNonceForTx
+ - setNonceForWallet
+ - changeGasPriceForTx
+ - makeEmptyTransaction
+ - initializeAddress
+ - updateSendQItem
+ - removeSendQItem
+ - postAdminEvent
+ - adminCreateProduct
+ - adminUpdateProduct
+ - adminMergeDuplicateAddresses
+ - backfillEnterpriseCoinSpecific
+ - approveGeneric
+ - rejectGeneric
+ - name: userId
+ description: The user ID to filter by
+ in: query
+ schema:
+ type: string
+ - name: walletId
+ description: The wallet ID to filter by
+ in: query
+ schema:
+ type: string
+ - name: sharedPolicyRuleId
+ description: The shared policy rule ID to filter by
+ in: query
+ schema:
+ type: string
+ - name: vaspId
+ description: The VASPs ID to filter by
+ in: query
+ schema:
+ type: string
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListAuditLogsResponse'
+ /api/v2/enterprise/{enterpriseId}/availableassets:
+ get:
+ summary: List available assets
+ description: Lists all available assets for a given enterprise. Must have view permissions on the enterprise
+ operationId: v2.enterprise.availableassets.get
+ tags:
+ - Enterprise
+ parameters:
+ - name: includeTokens
+ description: True, if returning tokens.
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ default: 'false'
+ - name: excludeOfcCoins
+ description: True, if excluding off-chain assets.
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ default: 'false'
+ - name: enterpriseId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: array
+ example:
+ - btc
+ - eth
+ - usdt
+ - sol
+ - ton
+ items:
+ type: string
+ description: A list of cryptocurrency or token ticker symbols
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidEnterpriseId'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/enterprise/{enterpriseId}/freeze:
+ post:
+ summary: Freeze the enterprise
+ operationId: enterprise.freeze
+ tags:
+ - Enterprise
+ parameters:
+ - name: enterpriseId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ duration:
+ type: string
+ default: '3600'
+ description: Seconds to freeze the enterpise for
+ format: number
+ required:
+ - duration
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Freeze'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidEnterpriseId'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema: {}
+ /api/v2/enterprise/{enterpriseId}/pin/count:
+ get:
+ summary: Get pinned wallet count
+ description: Returns the count of pinned wallets for the current user on the specified enterprise.
+ operationId: v2.enterprise.pin.count
+ tags:
+ - Wallet
+ parameters:
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GetPinnedWalletsCountResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidEnterpriseId'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/enterprise/{enterpriseId}/tssconfig:
+ get:
+ summary: Get enterprise MPC config
+ description: This api fetches the enterprise MPC config if it exists. The caller of this API must have view permissions on the enterprise.
+ operationId: v2.enterprise.tssconfig.get
+ tags:
+ - Enterprise
+ parameters:
+ - name: enterpriseId
+ description: The enterprise ID
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TssConfig'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidEnterpriseId'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/enterprise/{enterpriseId}/tssconfig/ecdsa/challenge:
+ put:
+ summary: Update enterprise ECDSA MPC challenge
+ description: This api is used to upload a new ECDSA challenge for the enterprise. This will replace the existing challenge if one exists.
+ operationId: v2.enterprise.tssconfig.ecdsa.challenge.update
+ tags:
+ - Enterprise
+ parameters:
+ - name: enterpriseId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ enterprise:
+ $ref: '#/components/schemas/UpdateEnterpriseChallenge'
+ bitgoNitroHsm:
+ $ref: '#/components/schemas/UpdateBitgoChallenge'
+ bitgoInstitutionalHsm:
+ $ref: '#/components/schemas/UpdateBitgoChallenge'
+ required:
+ - enterprise
+ - bitgoNitroHsm
+ - bitgoInstitutionalHsm
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ChallengePartyConfig'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidEnterpriseId'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/enterprise/{enterpriseId}/txrequests:
+ get:
+ summary: Get transaction requests by enterprise
+ description: Get a paginated list of transaction requests filtered by enterprise.
+ operationId: v2.enterprise.txrequest.get
+ tags:
+ - Transaction request
+ parameters:
+ - name: txRequestIds
+ description: If provided, only transaction requests specified will be returned.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ description: If provided, only transaction requests specified will be returned.
+ - name: idempotencyKeys
+ description: If provided, only transaction requests with the matching idempotencyKeys will be returned.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ description: If provided, only transaction requests with the matching idempotencyKeys will be returned.
+ - name: sequenceIds
+ description: A "sequenceId" is a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With a "sequenceId" you can easily reference transfers and transactions—for example, to safely retry sending. Because the system only confirms one send request per "sequenceId" (and fails all subsequent attempts), you can retry sending without the risk of double spending. The "sequenceId" is only visible to users on the wallet and is not shared publicly.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ description: A "sequenceId" is a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With a "sequenceId" you can easily reference transfers and transactions—for example, to safely retry sending. Because the system only confirms one send request per "sequenceId" (and fails all subsequent attempts), you can retry sending without the risk of double spending. The "sequenceId" is only visible to users on the wallet and is not shared publicly.
+ - name: states
+ description: If provided, only transaction requests of the specified state will be returned.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - pendingApproval
+ - canceled
+ - rejected
+ - initialized
+ - pendingDelivery
+ - delivered
+ - pendingUserSignature
+ - pendingUserCommitment
+ - pendingUserRShare
+ - pendingUserGShare
+ - readyToSend
+ - signed
+ - failed
+ description: If provided, only transaction requests of the specified state will be returned.
+ - name: latest
+ description: If provided, only the latest transaction request version will be returned.
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: limit
+ description: Maximum number of results to return. If the result set is truncated, use the "nextBatchPrevId" value to get the next batch.
+ in: query
+ schema:
+ type: string
+ default: '25'
+ minimum: 1
+ maximum: 500
+ format: number
+ - name: prevId
+ description: Return the next batch of results, based on the "nextBatchPrevId" value from the previous batch.
+ in: query
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ - name: version
+ in: query
+ schema:
+ type: string
+ format: number
+ - name: sortBy
+ description: Sorts by specified field, default sorting by id.
+ in: query
+ schema:
+ type: string
+ enum:
+ - id
+ - createdDate
+ - name: sortDirection
+ description: Sorts order by field in specified sort direction, default ascending.
+ in: query
+ schema:
+ type: string
+ enum:
+ - ASC
+ - DESC
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/EnterpriseIdString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GetTransactionRequestsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/enterprise/{enterpriseId}/txrequests/bypermission:
+ get:
+ summary: Get transaction requests by enterprise filtering by wallet permissions
+ description: Only supported for transaction request full
+ operationId: v2.enterprise.txrequest.getByPermission
+ tags:
+ - Transaction request
+ parameters:
+ - name: states
+ description: If present, filters transaction requests by state
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - pendingApproval
+ - canceled
+ - rejected
+ - initialized
+ - pendingDelivery
+ - delivered
+ - pendingUserSignature
+ - pendingUserCommitment
+ - pendingUserRShare
+ - pendingUserGShare
+ - readyToSend
+ - signed
+ - failed
+ description: If present, filters transaction requests by state
+ - name: walletPermissions
+ description: If present, filters transaction requests by wallet permissions. If not present will default to view permissions
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - admin
+ - spend
+ description: If present, filters transaction requests by wallet permissions. If not present will default to view permissions
+ - name: limit
+ description: ''
+ in: query
+ schema:
+ type: string
+ example: '5'
+ format: number
+ - name: prevId
+ description: ''
+ in: query
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ - name: sortBy
+ description: Optional field to sort by.
+ in: query
+ schema:
+ type: string
+ enum:
+ - id
+ - createdDate
+ - name: sortDirection
+ description: Optional direction of sorting.
+ in: query
+ schema:
+ type: string
+ enum:
+ - ASC
+ - DESC
+ - name: enterpriseId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GetTransactionRequestsWithWalletPermissionsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/enterprise/{enterpriseId}/user/{userId}/signingkey:
+ get:
+ summary: Get enterprise user signing key
+ description: Get the signing key for an enterprise user. The signing key is used to sign arbitrary messages, which other enterprise users can verify. The caller of this API must have view permissions on the enterprise.
+ operationId: v2.enterprise.user.signingkey.get
+ tags:
+ - Enterprise
+ parameters:
+ - name: enterpriseId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ - name: userId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ pattern: ^([0-9a-f]{32}|me)$
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GetEnterpriseUserSigningKeyResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidEnterpriseId'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/enterprise/{enterpriseId}/webhook/{webhookId}:
+ delete:
+ summary: Delete enterprise webhook
+ description: |-
+ Remove a webhook from the enterprise. This will permanently delete the webhook.
+ To call this endpoint, you must have the user_manage scope on a short-lived
+ access token created either in the web app or programmatically using
+ the [Login](/api/user.login) endpoint.
+ operationId: v2.enterprise.webhook.delete
+ tags:
+ - Enterprise Webhooks
+ parameters:
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/EnterpriseIdString'
+ - name: webhookId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '204':
+ description: No Content
+ content:
+ application/json: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/enterprise/{enterpriseId}/webhook/{webhookId}/bankaccount/{bankaccountId}/simulate:
+ get:
+ summary: Simulate bank account webhook
+ description: Simulate a bank account webhook for testing purposes. To call this endpoint, you must have the user_manage scope on a short-lived access token created either in the web app or programmatically using the [Login](/api/user.login) endpoint.
+ operationId: v2.enterprise.webhook.bankaccount.simulate
+ tags:
+ - Enterprise Webhooks
+ parameters:
+ - name: enterpriseId
+ description: ''
+ in: path
+ required: true
+ schema:
+ allOf:
+ - $ref: '#/components/schemas/EnterpriseIdString'
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ - name: webhookId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ - name: bankaccountId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SimulateEnterpriseWebhookResponseBody'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/enterprise/{enterpriseId}/webhook/{webhookId}/simulate:
+ get:
+ summary: Simulate enterprise webhook
+ description: Simulate a webhook for testing purposes. To call this endpoint, you must have the user_manage scope on a short-lived access token created either in the web app or programmatically using the [Login](/api/user.login) endpoint.
+ operationId: v2.enterprise.webhook.simulate
+ tags:
+ - Enterprise Webhooks
+ parameters:
+ - name: enterpriseId
+ description: ''
+ in: path
+ required: true
+ schema:
+ allOf:
+ - $ref: '#/components/schemas/EnterpriseIdString'
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ - name: webhookId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - type: object
+ description: Simulate Enterprise Webhook Types
+ properties:
+ bankAccountId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - bankAccountId
+ - type: object
+ properties:
+ accessTokenId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - accessTokenId
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SimulateEnterpriseWebhookResponseBody'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/enterprise/{enterpriseId}/webhooks:
+ get:
+ summary: List enterprise webhooks
+ description: List all webhooks for the specified enterprise.
+ operationId: v2.enterprise.webhook.list
+ tags:
+ - Enterprise Webhooks
+ parameters:
+ - name: type
+ in: query
+ schema:
+ type: string
+ enum:
+ - bankAccount
+ - accessToken
+ - policyBalanceChange
+ - name: prevId
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ - name: limit
+ in: query
+ schema:
+ type: string
+ format: number
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/EnterpriseIdString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListEnterpriseWebhooksResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ post:
+ summary: Create enterprise webhook
+ description: |-
+ Create a webhook that will fire for any bank account associated with the enterprise.
+ Must be an organization or enterprise admin to perform this action. To call this
+ endpoint, you must have the user_manage scope on a short-lived access token created
+ either in the web app or programmatically using the [Login](/api/user.login) endpoint.
+ operationId: v2.enterprise.webhook.add
+ tags:
+ - Enterprise Webhooks
+ parameters:
+ - name: enterpriseId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/EnterpriseIdString'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ type:
+ $ref: '#/components/schemas/EnterpriseWebhookType'
+ url:
+ type: string
+ minLength: 1
+ label:
+ type: string
+ required:
+ - type
+ - url
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Webhook'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/organization/{organizationId}/enterprise:
+ post:
+ summary: Create an enterprise for an organization
+ description: Create an enterprise in the specified organization. Also create a user if it doesn't already exist.
+ operationId: v2.organization.enterprise.create
+ tags:
+ - Enterprise Management
+ parameters:
+ - name: organizationId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/OrganizationIdString'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ email:
+ type: string
+ minLength: 1
+ idempotencyKey:
+ type: string
+ description: A unique identifier for the enterprise creation request. Multiple enterprises with the same organizationId and idempotencyKey will not be created.
+ title: uuid
+ additionalAdmins:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ example: 59cd72485007a239fb00282ed480da1f
+ thirdPartyIdentifier:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ description: Identifier of the third party
+ minLength: 1
+ label:
+ type: string
+ description: Label for the third party
+ minLength: 1
+ required:
+ - id
+ - label
+ required:
+ - email
+ - idempotencyKey
+ - additionalAdmins
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateOrganizationEnterpriseResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ get:
+ summary: List enterprises for an organization
+ description: List all enterprises in the specified organization.
+ operationId: v2.organization.enterprise.list
+ tags:
+ - Enterprise Management
+ parameters:
+ - name: idempotencyKey
+ description: A unique identifier used when creating the enterprise. Adding this query parameter will return the enterprise created with the given idempotency key.
+ in: query
+ schema:
+ type: string
+ title: uuid
+ - name: limit
+ description: Maximum number of results to return. If the result set is truncated, use the "nextBatchPrevId" value to get the next batch.
+ in: query
+ schema:
+ type: string
+ default: '25'
+ minimum: 1
+ maximum: 500
+ format: number
+ - name: prevId
+ description: Return the next batch of results, based on the "nextBatchPrevId" value from the previous batch.
+ in: query
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ - name: organizationId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/OrganizationIdString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/EnterprisesPaginatedResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/organization/{organizationId}/user:
+ post:
+ summary: Add a user to an organization
+ description: |-
+ Add a user in the organization with a specified role.
+ Must be an organization manager to perform this action.
+ operationId: v2.organization.user.create
+ tags:
+ - User Management
+ parameters:
+ - name: organizationId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/OrganizationIdString'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ username:
+ type: string
+ example: user@email.com
+ format: email
+ role:
+ type: string
+ enum:
+ - admin
+ - member
+ description: Role of the user in the organization
+ example: admin
+ required:
+ - username
+ - role
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema: {}
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidOrganizationId'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ put:
+ summary: Update users role in organization
+ description: Modify a users role in the organization. Must be an organization manager to perform this action.
+ operationId: v2.organization.user.update
+ tags:
+ - User Management
+ parameters:
+ - name: userId
+ description: ''
+ in: query
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ - name: role
+ in: query
+ required: true
+ schema:
+ $ref: '#/components/schemas/OrganizationRole'
+ - name: organizationId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/OrganizationIdString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema: {}
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidOrganizationId'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ delete:
+ summary: Remove a user from an organization
+ description: Remove a user from an organization. Must be an organization manager to perform this action.
+ operationId: v2.organization.user.remove
+ tags:
+ - User Management
+ parameters:
+ - name: userId
+ description: ''
+ in: query
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ - name: organizationId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/OrganizationIdString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema: {}
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PendingApproval'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/PlatformError'
+ - $ref: '#/components/schemas/InvalidOrganizationId'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/organization/{organizationId}/webhook:
+ get:
+ summary: List webhooks for an organization
+ description: List all webhooks for the specified organization.
+ operationId: v2.organization.webhook.list
+ tags:
+ - Organization Webhooks
+ parameters:
+ - name: type
+ in: query
+ schema:
+ type: string
+ enum:
+ - txRequest
+ - txRequestTransaction
+ - transfer
+ - transaction
+ - transactionRemoved
+ - transactionExpire
+ - pendingapproval
+ - block
+ - admin
+ - address_confirmation
+ - lowFee
+ - circuitBreaker
+ - wallet_confirmation
+ - bankAccount
+ - userKycState
+ - enterpriseKycState
+ - identityStatus
+ - accessToken
+ - policyBalanceChange
+ - transaction_finality_on_l1
+ - name: prevId
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ - name: limit
+ in: query
+ schema:
+ type: string
+ format: number
+ - name: organizationId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListOrganizationWebhookResponseC'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ post:
+ summary: Create a webhook for multiple assets
+ description: |-
+ Create a webhook that will fire for any transfer across the organization. Must be
+ an organization manager to perform this action. To call this endpoint, you must
+ have the user_manage scope on a short-lived access token created either in the
+ web app or programmatically using the [Login](/api/user.login) endpoint.
+ operationId: v2.organization.webhook.add
+ tags:
+ - Organization Webhooks
+ parameters:
+ - name: organizationId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - type: object
+ title: AddOrgnizationTransferWebhookBody
+ properties:
+ allToken:
+ type: boolean
+ coin:
+ type: string
+ includeRbf:
+ type: boolean
+ label:
+ type: string
+ listenToFailureStates:
+ type: boolean
+ numConfirmations:
+ type: number
+ type:
+ type: string
+ enum:
+ - transfer
+ url:
+ type: string
+ minLength: 1
+ required:
+ - type
+ - url
+ - type: object
+ title: AddOrganizationTxRequestWebhookBody
+ properties:
+ label:
+ type: string
+ txRequestStates:
+ type: array
+ items:
+ type: string
+ enum:
+ - pendingApproval
+ - canceled
+ - rejected
+ - initialized
+ - pendingDelivery
+ - delivered
+ - pendingUserSignature
+ - pendingUserCommitment
+ - pendingUserRShare
+ - pendingUserGShare
+ - readyToSend
+ - signed
+ - failed
+ description: If supplied, only transaction request state changes from the provided list will trigger notifications. If not provided, all transaction request state changes will trigger notifications.
+ type:
+ type: string
+ enum:
+ - txRequest
+ url:
+ type: string
+ minLength: 1
+ required:
+ - type
+ - url
+ - type: object
+ title: AddOrganizationTxRequestTransactionWebhookBody
+ properties:
+ label:
+ type: string
+ txRequestTransactionStates:
+ type: array
+ items:
+ type: string
+ enum:
+ - initialized
+ - pendingSignature
+ - eddsaPendingCommitment
+ - eddsaPendingRShare
+ - eddsaPendingGShare
+ - ecdsaMPCv2Round1
+ - ecdsaMPCv2Round2
+ - ecdsaMPCv2Round3
+ - readyToCombineShares
+ - signed
+ - held
+ - delivered
+ - invalidSignature
+ - rejected
+ description: If supplied, only transaction request transaction state changes from the provided list will trigger notifications. If not provided, all transaction request transaction state changes will trigger notifications.
+ type:
+ type: string
+ enum:
+ - txRequestTransaction
+ url:
+ type: string
+ minLength: 1
+ required:
+ - type
+ - url
+ - type: object
+ title: AddOrganizationPendingApprovalWebhookBody
+ properties:
+ allToken:
+ type: boolean
+ coin:
+ type: string
+ label:
+ type: string
+ type:
+ type: string
+ enum:
+ - pendingapproval
+ url:
+ type: string
+ minLength: 1
+ required:
+ - type
+ - url
+ - type: object
+ title: AddOrganizationBankAccountWebhookBody
+ properties:
+ label:
+ type: string
+ type:
+ type: string
+ enum:
+ - bankAccount
+ url:
+ type: string
+ minLength: 1
+ required:
+ - type
+ - url
+ - type: object
+ title: AddOrganizationIdentityStatusWebhookBody
+ properties:
+ label:
+ type: string
+ status:
+ type: array
+ items:
+ type: string
+ enum:
+ - created
+ - approved
+ - declined
+ - needs review
+ - input error
+ - ssn error
+ - gov id error
+ - ssn verified
+ - gov id verified
+ - enrichment
+ - awaiting document upload
+ - records uploaded
+ - in review
+ - incomplete verifications
+ - records uploaded 2
+ - awaiting signature
+ - signature submitted
+ - initiating
+ - additional information submitted
+ type:
+ type: string
+ enum:
+ - identityStatus
+ url:
+ type: string
+ minLength: 1
+ required:
+ - type
+ - url
+ - type: object
+ title: AddOrganizationUserKycStateWebhookBody
+ properties:
+ kycState:
+ type: array
+ items:
+ type: string
+ enum:
+ - approved
+ - rejected
+ - pending
+ label:
+ type: string
+ type:
+ type: string
+ enum:
+ - userKycState
+ url:
+ type: string
+ minLength: 1
+ required:
+ - type
+ - url
+ - type: object
+ title: AddOrganizationEnterpriseKycStateWebhookBody
+ properties:
+ kycState:
+ type: array
+ items:
+ type: string
+ enum:
+ - approved
+ - rejected
+ - pending
+ label:
+ type: string
+ type:
+ type: string
+ enum:
+ - enterpriseKycState
+ url:
+ type: string
+ minLength: 1
+ required:
+ - type
+ - url
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Webhook'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/organization/{organizationId}/webhook/{webhookId}:
+ get:
+ summary: Get webhook by id
+ description: Get an organization webhook by its id.
+ operationId: v2.organization.webhook.get
+ tags:
+ - Organization Webhooks
+ parameters:
+ - name: organizationId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ - name: webhookId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Webhook'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ delete:
+ summary: Delete an organization webhook by id
+ description: |-
+ Remove a webhook from the organization. This will permanently delete the webhook.
+ To call this endpoint, you must have the user_manage scope on a short-lived access
+ token created either in the web app or programmatically using the
+ [Login](/api/user.login) endpoint.
+ operationId: v2.organization.webhook.delete
+ tags:
+ - Organization Webhooks
+ parameters:
+ - name: organizationId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ - name: webhookId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '204':
+ description: No Content
+ content:
+ application/json: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/organization/{organizationId}/webhook/{webhookId}/simulate:
+ post:
+ summary: Simulate a webhook
+ description: |-
+ Simulate a webhook for testing purposes. To call this endpoint, you must have
+ the user_manage scope on a short-lived access token created either in the web
+ app or programmatically using the [Login](/api/user.login) endpoint.
+ operationId: v2.organization.webhook.simulate
+ tags:
+ - Organization Webhooks
+ parameters:
+ - name: organizationId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ - name: webhookId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - type: object
+ description: Simulate Organization Webhook Types
+ properties:
+ transferId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - transferId
+ - type: object
+ properties:
+ txRequestId:
+ $ref: '#/components/schemas/TransactionRequestId'
+ required:
+ - txRequestId
+ - type: object
+ properties:
+ pendingApprovalId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - pendingApprovalId
+ - type: object
+ properties:
+ bankAccountId:
+ type: string
+ required:
+ - bankAccountId
+ - type: object
+ properties:
+ enterpriseId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ kycState:
+ $ref: '#/components/schemas/VerifiedKycState1'
+ required:
+ - enterpriseId
+ - kycState
+ - type: object
+ properties:
+ kycState:
+ $ref: '#/components/schemas/VerifiedKycState1'
+ userId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - kycState
+ - userId
+ - type: object
+ properties:
+ identityId:
+ type: string
+ format: UUID
+ identityStatus:
+ $ref: '#/components/schemas/IdentityStatusEnum'
+ required:
+ - identityId
+ - identityStatus
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SimulateOrganizationWebhookResponseBody'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/pendingapprovals/count:
+ get:
+ summary: List counts of pending approvals
+ description: List counts of pending approvals by enterprises that the current user is a part of.
+ operationId: v2.pendingapprovals.count.list
+ tags:
+ - Pending approval
+ parameters:
+ - name: actionable
+ description: True, if returning pending approvals that are actionable by the current user.
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: byOrganization
+ description: True, if returning counts of pending approvals by organizations that the current user is a part of.
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListPendingApprovalsCountByEnterpriseResponse'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/reports:
+ post:
+ summary: Generate report
+ description: Creates a new report in pending status.
+ operationId: v2.reports.create
+ tags:
+ - Reports
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ type:
+ $ref: '#/components/schemas/SnowflakeReportType'
+ format:
+ $ref: '#/components/schemas/ReportFormatType'
+ holdings:
+ type: object
+ description: Holdings report
+ properties:
+ byWallet:
+ type: boolean
+ enterprise:
+ type: string
+ description: ID of the enterprise
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ includeStaking:
+ type: boolean
+ snapshotDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ required:
+ - enterprise
+ - snapshotDate
+ transactions:
+ type: object
+ description: Transactions report
+ properties:
+ assets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ endDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ enterprise:
+ $ref: '#/components/schemas/EnterpriseIdNonEmptyString'
+ isAddressReport:
+ type: boolean
+ isDetailed:
+ type: boolean
+ startDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ wallets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ example: 59cd72485007a239fb00282ed480da1f
+ walletTypes:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ required:
+ - endDate
+ - enterprise
+ - startDate
+ quarterly:
+ type: object
+ description: Quarterly report
+ properties:
+ endDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ enterprise:
+ $ref: '#/components/schemas/EnterpriseIdNonEmptyString'
+ startDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ required:
+ - endDate
+ - enterprise
+ - startDate
+ trades:
+ type: object
+ description: Trades report
+ properties:
+ assets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ endDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ enterprise:
+ $ref: '#/components/schemas/EnterpriseIdNonEmptyString'
+ isFillsReport:
+ type: boolean
+ startDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ required:
+ - endDate
+ - enterprise
+ - startDate
+ staking:
+ type: object
+ description: Staking report
+ properties:
+ assets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ endDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ enterprise:
+ $ref: '#/components/schemas/EnterpriseIdNonEmptyString'
+ isBalanceReport:
+ type: boolean
+ startDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ wallets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ example: 59cd72485007a239fb00282ed480da1f
+ walletTypes:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ required:
+ - endDate
+ - enterprise
+ - startDate
+ holdingsByAddress:
+ type: object
+ description: Address-level Holdings report
+ properties:
+ assets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ enterprise:
+ type: string
+ minLength: 1
+ snapshotDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ wallets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ example: 59cd72485007a239fb00282ed480da1f
+ walletTypes:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ required:
+ - enterprise
+ - snapshotDate
+ required:
+ - type
+ - format
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ReportJSON'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ get:
+ summary: List reports
+ description: Lists generated reports.
+ operationId: v2.reports.list
+ tags:
+ - Reports
+ parameters:
+ - name: limit
+ description: Number of reports to return
+ in: query
+ schema:
+ type: string
+ default: '25'
+ maximum: 500
+ format: number
+ - name: createdAtGt
+ description: Only return reports created after this date
+ in: query
+ schema:
+ type: string
+ format: date-time
+ title: ISO Date String
+ - name: enterprise
+ description: Only return reports for this enterprise
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ - name: wallet
+ description: Only return reports for this wallet
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ - name: walletType
+ description: Only return reports for this wallet type
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ - name: reportType
+ description: Only return reports for this report type
+ in: query
+ schema:
+ type: string
+ enum:
+ - holdings
+ - transactions
+ - quarterly
+ - trades
+ - staking
+ - holdingsByAddress
+ - name: status
+ description: Only return rports for this report status
+ in: query
+ schema:
+ type: string
+ enum:
+ - pending
+ - processing
+ - completed
+ - failed
+ - name: prevId
+ description: Only return reports created after this ID
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ - name: format
+ description: Only return reports for this report format
+ in: query
+ schema:
+ type: string
+ enum:
+ - csv
+ - pdf
+ - name: asset
+ description: Only return reports for this report asset
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ - name: reportParams
+ description: Only return reports for this report asset
+ in: query
+ schema: {}
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListReportsJSON'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/reports/{reportId}:
+ get:
+ summary: Get report
+ description: Returns a single report by report ID.
+ operationId: v2.reports.getById
+ tags:
+ - Reports
+ parameters:
+ - name: reportId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ReportJSON'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/reports/{reportId}/document:
+ get:
+ summary: Download report
+ description: Returns binary data encoded based on report format (pdf/csv).
+ operationId: v2.reports.download
+ tags:
+ - Reports
+ parameters:
+ - name: reportId
+ description: ''
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema: {}
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/tss/settings:
+ get:
+ summary: Get MPC settings.
+ description: Get the MPC settings for the user.
+ operationId: v2.tss.setting
+ tags:
+ - Transaction request
+ parameters: []
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TssSettings'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/tssconfigs/ecdsa:
+ get:
+ summary: List ECDSA MPC configurations per enterprise
+ description: List all ECDSA MPC configurations from all enterprises for a user. Returns an empty array if the user's enterprise doesn't have any ECDSA MPC configurations.
+ operationId: v2.tssconfigs.ecdsa.get
+ tags:
+ - Transaction request
+ parameters:
+ - name: createdBy
+ description: Filter by the user who created the config. Pass in "me" to filter by the current user's id.
+ in: query
+ schema:
+ type: string
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ properties:
+ enterpriseId:
+ type: string
+ description: The enterprise ID
+ example: 5d1a61a5c30ae10025f9b2b3
+ ecdsa:
+ $ref: '#/components/schemas/EcdsaConfig'
+ required:
+ - enterpriseId
+ - ecdsa
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ delete:
+ summary: Delete ECDSA MPC configurations
+ description: Deletes the ECDSA MPC configurations from all enterprises the user is an admin of.
+ operationId: v2.tssconfigs.ecdsa.delete
+ tags:
+ - Transaction request
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ createdBy:
+ type: string
+ description: The user who created the configurations
+ minLength: 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ deletedCount:
+ type: number
+ description: The number of deleted configurations
+ required:
+ - deletedCount
+ /api/v2/user/freeze:
+ post:
+ summary: Freeze User
+ description: |-
+ Route for users to freeze their account. Requires the 'user_manage' scope.
+ Session must be unlocked using the [unlock](https://developers.bitgo.com/api/user.unlock) endpoint, prior to hitting this route.
+ In the UI, call to this route is followed by a call to [logout](https://developers.bitgo.com/api/user.logout) endpoint.
+ operationId: v2.user.freeze
+ tags:
+ - User
+ parameters: []
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/user/login:
+ post:
+ summary: Login
+ description: Creates a short-lived (1 hour) access token for use with the API. BitGo doesn't recommend using this endpoint for scripting. Instead, use the SDK or the web UI to create long-lived access tokens. However, short-lived access tokens are the only access tokens with the "user_manage" scope that enables you to programmatically add users to your enterprise using the [Add User to Enterprise](/api/v2.enterprise.user.add) endpoint.
+ operationId: v2.user.login
+ tags:
+ - User
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ email:
+ type: string
+ description: The email address of the user.
+ example: user@email.com
+ format: email
+ extensible:
+ type: boolean
+ description: '"true" if the session is extensible beyond a one-hour duration'
+ example: false
+ otp:
+ type: string
+ description: Second factor authentication token.
+ example: '123456'
+ password:
+ type: string
+ example: secret
+ required:
+ - email
+ - otp
+ - password
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LoginResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/user/logout:
+ get:
+ summary: Logout
+ description: Disables an access token
+ operationId: user.logout
+ tags:
+ - User
+ parameters: []
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/user/recoverycodes/{recoveryCodeSetId}:
+ get:
+ summary: Get Recovery Codes
+ description: |-
+ Get the recovery codes for the given recovery code set ID. Requires the 'user_manage' scope.
+ Session must be unlocked using the [unlock](https://developers.bitgo.com/api/user.unlock)
+ endpoint, prior to hitting this route.
+ operationId: v2.user.recoveryCodes.getById
+ tags:
+ - User
+ parameters:
+ - name: recoveryCodeSetId
+ description: The ID of the recovery code set
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RecoveryCodesResponse'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/pin:
+ put:
+ summary: Pin or unpin a wallet
+ description: Pins or unpins a wallet and returns updated pinned wallets for the current user's enterprise.
+ operationId: v2.wallet.pin
+ tags:
+ - Wallet
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ isPinned:
+ type: boolean
+ required:
+ - isPinned
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdatePinnedWalletsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/tss/updatereadiness:
+ get:
+ summary: Check if a GG18 Wallet is ready to update to DKLS.
+ operationId: v2.wallet.mpcv2migrationstatus
+ tags:
+ - Wallet
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletMPCv2MigrationStatus'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/txrequests/{txRequestId}:
+ put:
+ summary: Update Transaction Request For Wallet
+ description: Route to update transaction request for wallet
+ operationId: v2.wallet.txrequest.update
+ tags:
+ - Transaction request
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdString'
+ - name: txRequestId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/TransactionRequestId'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - canceled
+ description: For transaction request full, the current state must be "pendingApproval" or "pendingDelivery". For transaction request lite, the current state must be "pendingApproval", "pendingUserCommitment", "pendingUserGShare", "pendingUserRShare", or "pendingUserSignature".
+ required:
+ - state
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TransactionRequest2'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/txrequests/{txRequestId}/{resource}/{resourceIndex}/send:
+ post:
+ summary: Send a transaction request.
+ description: For MPC wallets - Combine all signature shares and submit the signed transaction for broadcast.
+ operationId: v2.wallet.txrequest.send
+ tags:
+ - Transaction request
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ - name: txRequestId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/TransactionRequestIdNonEmptyString'
+ - name: resource
+ in: path
+ required: true
+ schema:
+ type: string
+ enum:
+ - messages
+ - transactions
+ - name: resourceIndex
+ in: path
+ required: true
+ schema:
+ type: string
+ format: number
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TransactionRequest2'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/txrequests/{txRequestId}/{resource}/{resourceIndex}/sign:
+ post:
+ summary: Sign transaction request
+ description: Request BitGo to co-sign a resource (message or transaction) in a transaction request.
+ operationId: v2.wallet.txrequest.sign
+ tags:
+ - Transaction request
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ - name: txRequestId
+ description: The transaction request ID
+ in: path
+ required: true
+ schema:
+ allOf:
+ - $ref: '#/components/schemas/TransactionRequestIdNonEmptyString'
+ - name: resource
+ description: The resource type (messages or transactions)
+ in: path
+ required: true
+ schema:
+ type: string
+ enum:
+ - messages
+ - transactions
+ - name: resourceIndex
+ description: The index of the resource
+ in: path
+ required: true
+ schema:
+ type: string
+ format: number
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - type: object
+ properties:
+ signatureShares:
+ type: array
+ items:
+ type: object
+ properties:
+ from:
+ allOf:
+ - $ref: '#/components/schemas/SignatureShareType'
+ description: The source of the signature share.
+ share:
+ type: string
+ description: The signature share
+ to:
+ allOf:
+ - $ref: '#/components/schemas/SignatureShareType'
+ description: The recipient of the signature share.
+ required:
+ - from
+ - share
+ - to
+ description: The array of signature shares without VSS proof
+ signerGpgPublicKey:
+ type: string
+ description: The GPG public key of the signer
+ minLength: 1
+ type:
+ type: string
+ enum:
+ - ecdsaMpcV2
+ description: The type of the request body
+ required:
+ - signatureShares
+ - signerGpgPublicKey
+ - type
+ - type: object
+ properties:
+ signatureShares:
+ type: array
+ items:
+ type: object
+ properties:
+ from:
+ allOf:
+ - $ref: '#/components/schemas/SignatureShareType'
+ description: The source of the signature share.
+ share:
+ type: string
+ description: The signature share
+ to:
+ allOf:
+ - $ref: '#/components/schemas/SignatureShareType'
+ description: The recipient of the signature share.
+ required:
+ - from
+ - share
+ - to
+ description: The array of signature shares without VSS proof
+ signerGpgPublicKey:
+ type: string
+ description: The GPG public key of the signer
+ minLength: 1
+ signerShare:
+ type: string
+ description: The share of the signer
+ type:
+ type: string
+ enum:
+ - eddsaMpcV1
+ description: The type of the request body
+ required:
+ - signatureShares
+ - signerGpgPublicKey
+ - type
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TransactionRequest2'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/txrequests/{txRequestId}/commit:
+ post:
+ summary: Exchange commitments for EdDSA transactions (lite)
+ description: |-
+ Exchange commitments for signing EdDSA transactions. This route is only valid
+ for transaction request lite. You must call this endpoint before calling
+ [Create a signature share for the transaction request](/api/v2.wallet.txrequest.signatureshare.create).
+ operationId: v2.wallet.txrequest.commitment.exchange
+ tags:
+ - Transaction request
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ - name: txRequestId
+ description: The ID of the transaction request
+ in: path
+ required: true
+ schema:
+ allOf:
+ - $ref: '#/components/schemas/TransactionRequestIdNonEmptyString'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ commitmentShare:
+ allOf:
+ - $ref: '#/components/schemas/CommitmentShare1'
+ description: The user or backup to the commitment share.
+ encryptedSignerShare:
+ allOf:
+ - $ref: '#/components/schemas/EncryptedShare'
+ description: The encrypted signer share.
+ required:
+ - commitmentShare
+ - encryptedSignerShare
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExchangeEddsaCommitmentsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/txrequests/{txRequestId}/messages/{messageIdx}/challenge:
+ post:
+ summary: Create ECDSA MPC challenge for message
+ description: |-
+ Create the challenge required for signing ECDSA transactions. You must call this
+ endpoint before calling [Create a signature share for the transaction request](/api/v2.wallet.txrequest.signatureshare.create).
+ operationId: v2.wallet.txrequest.message.challenge.create
+ tags:
+ - Transaction request
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ - name: txRequestId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/TransactionRequestIdNonEmptyString'
+ - name: messageIdx
+ in: path
+ required: true
+ schema:
+ type: string
+ format: number
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ paillierModulus:
+ type: string
+ description: The 'n' value from an ECDSA wallets paillier public key. Retrieved from xShare.n.
+ minLength: 1
+ required:
+ - paillierModulus
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateBitgoChallengeResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/txrequests/{txRequestId}/transactions/{transactionIdx}/challenge:
+ post:
+ summary: Create ECDSA MPC challenge for transaction
+ description: |-
+ Create the challenge required for signing ECDSA transactions. You must call this
+ endpoint before calling [Create a signature share for the transaction request](/api/v2.wallet.txrequest.signatureshare.create).
+ operationId: v2.wallet.txrequest.transaction.challenge.create
+ tags:
+ - Transaction request
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ - name: txRequestId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/TransactionRequestIdNonEmptyString'
+ - name: transactionIdx
+ in: path
+ required: true
+ schema:
+ type: string
+ format: number
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ paillierModulus:
+ type: string
+ description: The 'n' value from an ECDSA wallets paillier public key. Retrieved from xShare.n.
+ minLength: 1
+ required:
+ - paillierModulus
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateBitgoChallengeResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/txrequests/{txRequestId}/transactions/{transactionIdx}/commit:
+ post:
+ summary: Exchange commitments for EdDSA transactions (full)
+ description: |-
+ Exchange commitments for signing EdDSA transactions. This route is only valid for
+ transaction request full. You must call this endpoint before calling [Create a signature share for the transaction request](/api/v2.wallet.txrequest.signatureshare.create).
+ operationId: v2.wallet.txrequest.transaction.commitment.exchange
+ tags:
+ - Transaction request
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ - name: txRequestId
+ description: The ID of the transaction request
+ in: path
+ required: true
+ schema:
+ allOf:
+ - $ref: '#/components/schemas/TransactionRequestIdNonEmptyString'
+ - name: transactionIdx
+ in: path
+ required: true
+ schema:
+ type: string
+ format: number
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ commitmentShare:
+ allOf:
+ - $ref: '#/components/schemas/CommitmentShare1'
+ description: The user or backup to the commitment share.
+ encryptedSignerShare:
+ allOf:
+ - $ref: '#/components/schemas/EncryptedShare'
+ description: The encrypted signer share.
+ required:
+ - commitmentShare
+ - encryptedSignerShare
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExchangeEddsaCommitmentsResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/txrequests/awaitingsignature:
+ get:
+ summary: Get transaction requests ready for signature
+ operationId: v2.wallet.txrequest.awaitingsignature.list
+ tags:
+ - Transaction request
+ parameters:
+ - name: limit
+ description: Maximum number of results to return. If the result set is truncated, use the "nextBatchPrevId" value to get the next batch.
+ in: query
+ schema:
+ oneOf:
+ - type: string
+ - type: string
+ format: number
+ default: '25'
+ minimum: 1
+ maximum: 500
+ - name: txRequestIds
+ description: If provided, only transaction requests specified will be returned.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ description: If provided, only transaction requests specified will be returned.
+ - name: walletPermissions
+ description: If provided, the result will be filtered by the users wallet permissions.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - admin
+ - spend
+ description: If provided, the result will be filtered by the users wallet permissions.
+ - name: signingStage
+ description: If provided, only transaction requests in a particular signing stage will be returned.
+ in: query
+ schema:
+ type: string
+ enum:
+ - 1-eddsa
+ - 2-eddsa
+ - 3-eddsa
+ - 1-ecdsa
+ - 2-ecdsa
+ - 3-ecdsa
+ - 1-ecdsa-mpcv2
+ - 2-ecdsa-mpcv2
+ - 3-ecdsa-mpcv2
+ - name: prevId
+ description: Return the next batch of results, based on the "nextBatchPrevId" value from the previous batch.
+ in: query
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ - name: sortBy
+ description: Sorts by specified field, default sorting by id.
+ in: query
+ required: true
+ schema:
+ nullable: true
+ type: string
+ enum:
+ - id
+ - createdDate
+ - name: sortDirection
+ description: Sorts order by field in specified sort direction, default ascending.
+ in: query
+ required: true
+ schema:
+ nullable: true
+ type: string
+ enum:
+ - ASC
+ - DESC
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListTxRequestAwaitingSignatureForWalletResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/txrequests/rebuild:
+ post:
+ summary: Rebuild transaction requests
+ description: Rebuild multiple transaction requests for a wallet. This is for convenience. The txRequests rebuild in sequential order based on creation date.
+ operationId: v2.wallet.txrequests.rebuild
+ tags:
+ - Transaction request
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdString'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ txRequestIds:
+ type: array
+ items:
+ type: string
+ description: Rebuilds all transaction requests for the given txRequestIds.
+ required:
+ - txRequestIds
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/TransactionRequestLite'
+ - $ref: '#/components/schemas/TransactionRequestFull'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/wirewithdrawals/{transferId}/confirm:
+ put:
+ summary: Update wire withdrawal
+ description: |-
+ Approve or reject a pending wire withdrawal. If approving, the 'state' updates to 'confirmed', enabling
+ BitGo Trust to wire transfer the funds. If rejecting, the 'state' updates to 'rejected', canceling
+ the pending wire transfer.
+ operationId: v2.wallet.wireWithdrawals.confirm
+ tags:
+ - Transfer
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ - name: transferId
+ in: path
+ required: true
+ schema:
+ type: string
+ minLength: 1
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ action:
+ allOf:
+ - $ref: '#/components/schemas/WireWithdrawalConfirmationAction'
+ description: The action to take on a wire withdrawal confirmation. "approve" to confirm the withdrawal, "reject" to reject it.
+ coin:
+ type: string
+ enum:
+ - tfiatusd
+ - tfiateuro
+ - tfiatgbp
+ - fiatusd
+ - fiateuro
+ - fiatgbp
+ amount:
+ type: string
+ description: String representation of the amount to send in base units of the currency.
+ example: '2000000'
+ pattern: ^-?\d+$
+ address:
+ type: string
+ description: The address to send to.
+ example: 2MvrwRYBAuRtPTiZ5MyKg42Ke55W3fZJfZS
+ maxLength: 250
+ required:
+ - action
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Transfer1'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallet/{walletId}/wirewithdrawals/confirm:
+ get:
+ summary: List account wire withdrawals
+ description: List wire withdrawals for a specific Go Account wallet.
+ operationId: v2.wallet.wireWithdrawals.get
+ tags:
+ - Transfer
+ parameters:
+ - name: state
+ description: Filter by wire withdrawal state.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - confirmationPending
+ - confirmationApproved
+ - confirmationRejected
+ description: Filter by wire withdrawal state.
+ - name: coin
+ description: Filter by supported fiat currency.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - tfiatusd
+ - tfiateuro
+ - tfiatgbp
+ - fiatusd
+ - fiateuro
+ - fiatgbp
+ description: Filter by supported fiat currency.
+ - name: limit
+ description: Maximum number of results to return. If the result set is truncated, use the "nextBatchPrevId" value to get the next batch.
+ in: query
+ schema:
+ type: string
+ default: '25'
+ minimum: 1
+ maximum: 500
+ format: number
+ - name: prevId
+ description: Return the next batch of results, based on the "nextBatchPrevId" value from the previous batch.
+ in: query
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WireWithdrawalsPaginatedResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '500':
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallets:
+ get:
+ summary: List wallets
+ description: |-
+ Lists all wallets you can access, including:
+ - Wallets you have a role on (admin, spender, or viewer).
+ - Wallets in enterprises you belong to that have the 'View All Wallets' option enabled
+ from the enterprise settings.
+ operationId: v2.wallet.list
+ tags:
+ - Wallet
+ parameters:
+ - name: id
+ description: Filter by ID
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ description: Filter by ID
+ pattern: ^[0-9a-f]{32}$
+ example: '"59cd72485007a239fb00282ed480da1f"'
+ - name: coin
+ description: Filter by coin
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ description: Filter by coin
+ example: '"btc"'
+ - name: enterprise
+ description: Filter by enterprise.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ description: Filter by enterprise.
+ pattern: ^[0-9a-f]{32}$
+ example: '"59cd72485007a239fb00282ed480da1f"'
+ - name: type
+ description: Filter by wallet type
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ description: Filter by wallet type
+ - name: deleted
+ description: Filter by deleted state
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: prevId
+ description: Return the next batch of results, based on the "nextBatchPrevId" value from the previous batch.
+ in: query
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ - name: labelContains
+ description: Filter by label substring.
+ in: query
+ schema:
+ type: string
+ - name: expandBalance
+ description: Add "balanceString", "confirmedBalanceString" and "spendableBalanceString" to each wallet
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ default: 'false'
+ - name: excludeSpendableBalance
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: expandPolicy
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: expandCustodialWallet
+ description: Whether linked custodial wallets should be expanded inline
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: ignoreErrors
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: limit
+ description: Maximum number of results to return. If the result set is truncated, use the "nextBatchPrevId" value to get the next batch.
+ in: query
+ schema:
+ type: string
+ default: '25'
+ format: number
+ - name: offset
+ description: Number of documents to skip for offset-based pagination.
+ in: query
+ schema:
+ type: string
+ default: '0'
+ format: number
+ - name: skipReceiveAddress
+ description: Do not add "receiveAddress" to each wallet
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ default: 'false'
+ - name: permission
+ description: Return only wallets for which the user has the given permission
+ in: query
+ schema:
+ type: string
+ enum:
+ - admin
+ - view
+ - spend
+ - name: pinnedWallets
+ description: Return only pinned wallets ("pinnedOnly") or only unpinned wallets ("pinnedExcluded"), exclude to return both
+ in: query
+ schema:
+ type: string
+ enum:
+ - pinnedOnly
+ - pinnedExcluded
+ - name: bitgoOrg
+ description: Return only wallets belong to the BitGo trust org
+ in: query
+ schema:
+ type: string
+ enum:
+ - BitGo Trust
+ - BitGo New York
+ - BitGo Germany
+ - BitGo Switzerland
+ - Frankfurt DE Trust
+ - BitGo Singapore
+ - BitGo Korea
+ - BitGo Sister Trust 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletListResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/wallets/count:
+ get:
+ summary: Get wallets count
+ description: |-
+ Get a count of all wallets you can access, including:
+ - Wallets you have a role on (admin, spender, or viewer).
+ - Wallets in enterprises you belong to that have the 'View All Wallets' option
+ enabled from the enterprise settings.
+
+ You can use this endpoint in conjunction with the List wallets endpoint to
+ enable paginating a list of wallets. For example, once you get the wallets count,
+ you can use the total count to calculate the number of pages you need in order to
+ display all the wallets.
+ operationId: v2.wallet.count
+ tags:
+ - Wallet
+ parameters:
+ - name: id
+ description: Filter by ID.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ description: Filter by ID.
+ pattern: ^[0-9a-f]{32}$
+ example: 59cd72485007a239fb00282ed480da1f
+ - name: coin
+ description: Filter by coin
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ description: Filter by coin
+ example: btc
+ - name: enterprise
+ description: Filter by enterprise
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ description: Filter by enterprise
+ pattern: ^[0-9a-f]{32}$
+ example: 59cd72485007a239fb00282ed480da1f
+ - name: type
+ description: Filter by wallet type.
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - backing
+ - cold
+ - custodial
+ - custodialPaired
+ - hot
+ - trading
+ description: Filter by wallet type.
+ - name: deleted
+ description: Filter by deleted state.
+ in: query
+ schema:
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ - name: labelContains
+ description: Filter by label substring
+ in: query
+ schema:
+ type: string
+ - name: bitgoOrg
+ description: Return only wallets belong to the BitGo trust org
+ in: query
+ schema:
+ type: string
+ enum:
+ - BitGo Trust
+ - BitGo New York
+ - BitGo Germany
+ - BitGo Switzerland
+ - Frankfurt DE Trust
+ - BitGo Singapore
+ - BitGo Korea
+ - BitGo Sister Trust 1
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WalletCountResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/walletsharerequests:
+ get:
+ summary: List wallet share requests
+ description: |-
+ Lists all wallet share requests:
+ - List of the wallets and the users for which wallet share request is present.
+ operationId: v2.walletsharerequests.list
+ tags:
+ - Wallet
+ parameters: []
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListWalletShareRequestResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/walletshares/count:
+ get:
+ summary: List counts of wallet shares
+ description: List counts of wallet shares by enterprises that the current user is the receiver
+ operationId: v2.walletshares.count.list
+ tags:
+ - Wallet share
+ parameters:
+ - name: state
+ in: query
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletShareState'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListWalletSharesCountByEnterpriseResponse'
+ '401':
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/webhook/{webhookId}/verify:
+ post:
+ summary: Verify Webhook Notification
+ description: |-
+ Verify that a webhook notification comes from BitGo based on webhook signature and payload.
+ If X-Signature-SHA256 header is not present in the notification, please use the [v2.webhook.secret.create](https://developers.bitgo.com/api/v2.webhook.secret.create) endpoint to generate a secret for your enterprise or organization.
+ The requester must be an admin of the specified enterprise or organization.
+ operationId: v2.webhook.notification.verify
+ tags:
+ - Webhook
+ parameters:
+ - name: webhookId
+ description: Webhook public id
+ in: path
+ required: true
+ schema:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ signature:
+ type: string
+ description: Webhook notification signature calculated based on the payload and webhook secret. Found in the HTTP header X-Signature-SHA256 of the notification.
+ example: f34538037a1ae6f79bd7cee9d9a5552f21bee3027983d7730f424d94d9bab04a
+ pattern: ^[0-9a-f]{64}$
+ notificationPayload:
+ type: string
+ description: Webhook notification payload as JSON string
+ example: '{"userId":"66cd72485007a239fb00282ed480da1f","username":"username@email.com","tokenCreateTime":"2024-09-18T14:36:41.793Z","59cd72485007a239fb00282ed480da1f"}"'
+ required:
+ - signature
+ - notificationPayload
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/VerifyWebhookNotificationResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ /api/v2/webhook/secret:
+ post:
+ summary: Create webhook secret
+ description: |-
+ Create a webhook secret for a specified enterprise or organization.
+ This secret will be used to generate webhook notification signatures so that you can verify that the notification comes from BitGo using the v2.webhook.notification.verify endpoint.
+ The secret can be rotated by calling this endpoint again at a cadence of once every 5 minutes.
+ You must specify exactly one of 'enterpriseId' or 'organizationId'.
+ The requester must be an admin of the specified enterprise or organization.
+ operationId: v2.webhook.secret.create
+ tags:
+ - Webhook
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ enterpriseId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ organizationId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateWebhookSecretResponse'
+ '400':
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+ '404':
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PlatformError'
+components:
+ schemas:
+ InvalidWalletId:
+ title: Invalid wallet id
+ allOf:
+ - $ref: '#/components/schemas/InvalidId'
+ - properties:
+ name:
+ type: string
+ description: Error code
+ enum:
+ - InvalidWalletId
+ required:
+ - name
+ InvalidId:
+ title: InvalidId
+ allOf:
+ - type: object
+ properties:
+ context:
+ type: object
+ properties:
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - id
+ required:
+ - context
+ - $ref: '#/components/schemas/PlatformErrorNoName'
+ Id:
+ title: ID
+ type: string
+ pattern: ^[0-9a-f]{32}$
+ example: 59cd72485007a239fb00282ed480da1f
+ PlatformErrorNoName:
+ title: PlatformErrorNoName
+ type: object
+ properties:
+ error:
+ type: string
+ description: Human-readable error message
+ requestId:
+ type: string
+ description: Client request id
+ required:
+ - error
+ - requestId
+ PlatformError:
+ title: Api Error
+ allOf:
+ - type: object
+ properties:
+ name:
+ type: string
+ description: Error code
+ context:
+ type: object
+ additionalProperties: {}
+ description: Properties that apply to a specific error name
+ required:
+ - context
+ - $ref: '#/components/schemas/PlatformErrorNoName'
+ Webhook:
+ title: Webhook
+ type: object
+ properties:
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ created:
+ type: string
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ coin:
+ type: string
+ description: A cryptocurrency or token ticker symbol.
+ example: btc
+ url:
+ type: string
+ example: https://your.server.com/webhook
+ format: uri
+ version:
+ type: number
+ description: 2 for coins running on API v2.
+ example: 2
+ scope:
+ $ref: '#/components/schemas/WebhookScope'
+ state:
+ $ref: '#/components/schemas/WebhookState'
+ successiveFailedAttempts:
+ type: number
+ example: 0
+ listenToFailureStates:
+ type: boolean
+ description: Whether or not to listen to failed transactions on chain.
+ label:
+ type: string
+ description: Label of the new webhook.
+ walletId:
+ type: string
+ enterpriseId:
+ type: string
+ organizationId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ userId:
+ type: string
+ type:
+ allOf:
+ - $ref: '#/components/schemas/WebhookType'
+ description: Event type to listen to.
+ numConfirmations:
+ type: number
+ example: 6
+ lastAttempt:
+ type: string
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ failingSince:
+ type: string
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ allToken:
+ type: boolean
+ txRequestStates:
+ type: array
+ items:
+ type: string
+ enum:
+ - pendingApproval
+ - canceled
+ - rejected
+ - initialized
+ - pendingDelivery
+ - delivered
+ - pendingUserSignature
+ - pendingUserCommitment
+ - pendingUserRShare
+ - pendingUserGShare
+ - readyToSend
+ - signed
+ - failed
+ description: If present, only transaction request state changes from the list will trigger notifications. If not present, all transaction request state changes will trigger notifications.
+ txRequestTransactionStates:
+ type: array
+ items:
+ type: string
+ enum:
+ - initialized
+ - pendingSignature
+ - eddsaPendingCommitment
+ - eddsaPendingRShare
+ - eddsaPendingGShare
+ - ecdsaMPCv2Round1
+ - ecdsaMPCv2Round2
+ - ecdsaMPCv2Round3
+ - readyToCombineShares
+ - signed
+ - held
+ - delivered
+ - invalidSignature
+ - rejected
+ description: If present, only transaction request transaction state changes from the list will trigger notifications. If not present, all transaction request transaction state changes will trigger notifications.
+ required:
+ - id
+ - created
+ - coin
+ - url
+ - version
+ - scope
+ - state
+ - successiveFailedAttempts
+ - listenToFailureStates
+ VerifiedKycState:
+ type: string
+ enum:
+ - approved
+ - pending
+ - rejected
+ IdentityStatus:
+ type: string
+ enum:
+ - approved
+ - declined
+ - input error
+ - ssn error
+ - gov id error
+ - ssn verified
+ - gov id verified
+ - evaluating submission
+ - awaiting document upload
+ - records uploaded
+ - in review
+ - incomplete verifications
+ - awaiting signature
+ - signature submitted
+ - initiating
+ - additional information submitted
+ TransactionState:
+ title: TransactionState
+ type: string
+ enum:
+ - initialized
+ - pendingSignature
+ - eddsaPendingCommitment
+ - eddsaPendingRShare
+ - eddsaPendingGShare
+ - ecdsaMPCv2Round1
+ - ecdsaMPCv2Round2
+ - ecdsaMPCv2Round3
+ - readyToCombineShares
+ - signed
+ - held
+ - delivered
+ - invalidSignature
+ - rejected
+ description: If supplied, only transaction request transaction state changes from the provided list will trigger notifications. If not provided, all transaction request transaction state changes will trigger notifications.
+ TransactionRequestState:
+ title: TransactionRequestState
+ type: string
+ enum:
+ - pendingApproval
+ - canceled
+ - rejected
+ - initialized
+ - pendingDelivery
+ - delivered
+ - pendingUserSignature
+ - pendingUserCommitment
+ - pendingUserRShare
+ - pendingUserGShare
+ - readyToSend
+ - signed
+ - failed
+ DateTime:
+ type: string
+ format: date-time
+ example: {}
+ WebhookTypeWallet:
+ type: string
+ enum:
+ - txRequest
+ - txRequestTransaction
+ - transfer
+ - transaction
+ - transactionRemoved
+ - transactionExpire
+ - pendingapproval
+ - address_confirmation
+ - lowFee
+ - block
+ - admin
+ - circuitBreaker
+ - transaction_finality_on_l1
+ example: transfer
+ description: Event type to listen to.
+ Coin:
+ title: Coin
+ description: A cryptocurrency or token ticker symbol.
+ type: string
+ example: btc
+ PendingApproval:
+ title: PendingApproval
+ type: object
+ properties:
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ coin:
+ type: string
+ description: A cryptocurrency or token ticker symbol.
+ example: btc
+ wallet:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ wallets:
+ type: array
+ items:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ description: The wallets of the pending approval
+ enterprise:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ organization:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ organizationName:
+ type: string
+ description: The organization name
+ bitgoOrg:
+ type: string
+ description: The BitGo organization
+ creator:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ createDate:
+ type: string
+ description: The creation date of the pending approval
+ format: date-time
+ title: ISO Date String
+ approvedDate:
+ type: string
+ description: The date when the approval was granted
+ format: date-time
+ title: ISO Date String
+ info:
+ allOf:
+ - $ref: '#/components/schemas/PendingApprovalInfo'
+ description: Information about the pending approval
+ state:
+ allOf:
+ - $ref: '#/components/schemas/PendingApprovalState'
+ description: The state of the pending approval
+ scope:
+ type: string
+ enum:
+ - enterprise
+ - wallet
+ - organization
+ description: What kind of entity the Pending Approval is tied to
+ userIds:
+ type: array
+ items:
+ type: string
+ description: All the Users who should see this Pending Approval
+ approvalsRequired:
+ type: number
+ example: 1
+ minimum: 1
+ walletLabel:
+ type: string
+ description: Label for the wallet
+ addressLabels:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/AddressString'
+ label:
+ type: string
+ description: The label
+ walletLabel:
+ type: string
+ description: The wallet label
+ required:
+ - address
+ - label
+ description: Address labels of recipients in this Pending Approval
+ resolvers:
+ type: array
+ items:
+ type: object
+ description: Resolvers for the pending approval
+ properties:
+ date:
+ type: string
+ description: The date of resolution
+ format: date-time
+ title: ISO Date String
+ resolutionAction:
+ type: string
+ enum:
+ - approve
+ - reject
+ description: Action taken during resolution
+ resolutionMemo:
+ type: string
+ description: Memo regarding the resolution
+ resolutionType:
+ allOf:
+ - $ref: '#/components/schemas/PendingApprovalStatePending'
+ description: The type of resolution
+ user:
+ type: string
+ description: The user who resolved the approval
+ videoApprover:
+ type: string
+ description: The approver of the video resolution
+ videoException:
+ type: string
+ description: Exception details for the video
+ videoLink:
+ type: string
+ description: Link to the resolution video
+ required:
+ - resolutionType
+ approvers:
+ type: array
+ items:
+ type: string
+ description: List of approvers
+ singleRunResults:
+ type: array
+ items:
+ type: object
+ properties:
+ ruleId:
+ type: string
+ description: The rule ID
+ triggered:
+ type: boolean
+ description: Whether the rule was triggered
+ description: Results from single run checks
+ txRequestId:
+ type: string
+ description: Transaction request ID
+ example: 123e4567-e89b-12d3-a456-426614174000
+ format: uuid
+ videoId:
+ type: object
+ description: ID for the video related to the approval
+ properties:
+ date:
+ type: string
+ description: The date of the video ID
+ format: date-time
+ title: ISO Date String
+ user:
+ type: string
+ description: The user associated with the video ID
+ videoApprover:
+ type: string
+ description: The approver of the video
+ videoException:
+ type: string
+ description: The exception related to the video
+ videoLink:
+ type: string
+ description: The link to the video
+ version:
+ type: number
+ description: Version of the pending approval
+ groupApprovalRequirement:
+ type: object
+ description: Requirements for providing group approval.
+ properties:
+ items:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ description: The ID of the group
+ minimumApprovals:
+ type: number
+ description: The name of the group
+ type:
+ type: string
+ description: The type of the group
+ required:
+ - id
+ - type
+ operator:
+ $ref: '#/components/schemas/GroupApprovalRequirementOperator'
+ required:
+ - items
+ - operator
+ policyEvaluationId:
+ type: string
+ description: ID for the policy evaluation
+ actions:
+ type: array
+ items:
+ type: object
+ properties:
+ approvers:
+ type: array
+ items:
+ type: string
+ description: The approvers of the action
+ id:
+ type: string
+ description: The ID of the action
+ name:
+ type: string
+ description: The name of the action
+ operator:
+ type: string
+ enum:
+ - AND
+ - OR
+ description: The operator of the action
+ parameters:
+ allOf:
+ - $ref: '#/components/schemas/PolicyActionParameters'
+ description: The parameters of the action
+ resolvers:
+ type: array
+ items:
+ type: object
+ description: The resolvers of the action
+ properties:
+ date:
+ type: string
+ description: The date of resolution
+ format: date-time
+ title: ISO Date String
+ resolutionAction:
+ type: string
+ enum:
+ - approve
+ - reject
+ description: Action taken during resolution
+ resolutionMemo:
+ type: string
+ description: Memo regarding the resolution
+ resolutionType:
+ allOf:
+ - $ref: '#/components/schemas/PendingApprovalStatePending'
+ description: The type of resolution
+ user:
+ type: string
+ description: The user who resolved the approval
+ videoApprover:
+ type: string
+ description: The approver of the video resolution
+ videoException:
+ type: string
+ description: Exception details for the video
+ videoLink:
+ type: string
+ description: Link to the resolution video
+ required:
+ - resolutionType
+ status:
+ allOf:
+ - $ref: '#/components/schemas/EvaluatedPolicyActionStatus'
+ description: The status of the action
+ required:
+ - id
+ - name
+ - parameters
+ - status
+ description: List of actions taken
+ resolutionOrder:
+ type: array
+ items:
+ type: object
+ properties:
+ actions:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ required:
+ - actions
+ description: Order of resolution
+ useLegacyPolicyEngine:
+ type: boolean
+ description: Flag to use legacy policy engine
+ videoCallId:
+ type: string
+ description: ID for the video call
+ required:
+ - id
+ - creator
+ - createDate
+ - info
+ - state
+ - scope
+ WalletLabel:
+ type: string
+ example: My Wallet
+ AddressLabel:
+ type: string
+ nullable: true
+ example: Bob's Hot Wallet Address
+ maxLength: 250
+ description: A human-readable label for the address.
+ AddressString:
+ title: AddressString
+ type: string
+ example: 2MvrwRYBAuRtPTiZ5MyKg42Ke55W3fZJfZS
+ maxLength: 250
+ ApprovalsRequired:
+ type: integer
+ minimum: 1
+ example: 1
+ PendingApprovalState:
+ title: PendingApprovalState
+ oneOf:
+ - $ref: '#/components/schemas/PendingApprovalStatePending'
+ - $ref: '#/components/schemas/PendingApprovalStateResolved'
+ - $ref: '#/components/schemas/PendingApprovalStateTrust'
+ - $ref: '#/components/schemas/PendingApprovalStateProtected'
+ PendingApprovalStateResolved:
+ title: Resolved
+ type: string
+ enum:
+ - approved
+ - processing
+ - rejected
+ PendingApprovalStatePending:
+ title: Pending
+ type: string
+ enum:
+ - pending
+ - awaitingSignature
+ - pendingFinalApproval
+ - pendingCustodianApproval
+ - pendingVideoApproval
+ - pendingIdVerification
+ PendingApprovalEnterpriseInviteRequest:
+ title: Enterprise Invite Request
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - enterpriseInviteRequest
+ enterpriseInviteRequest:
+ type: object
+ properties:
+ action:
+ type: string
+ enum:
+ - add
+ email:
+ type: string
+ description: The email address of the user being invited
+ userId:
+ $ref: '#/components/schemas/Id'
+ description: The ID of the user being invited
+ isVideoIdUser:
+ type: boolean
+ enterpriseInfo:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ description: The ID of the enterprise the user is being invited to
+ name:
+ type: string
+ description: The name of the enterprise the user is being invited to
+ requiredVerificationStep:
+ type: string
+ description: The required verification step needed (if any) before the user can join the enterprise
+ invitedBy:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ description: The ID of the user who invited the user
+ fullName:
+ type: string
+ description: The full name of the user who invited the user
+ email:
+ type: string
+ description: The email address of the user who invited the user
+ PendingApprovalEnterpriseModificationResponse:
+ title: Enterprise modification request
+ type: object
+ properties:
+ policyRuleRequest:
+ type: object
+ properties:
+ action:
+ type: string
+ updateEnterpriseRequest:
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - updateEnterpriseRequest
+ action:
+ type: string
+ enum:
+ - add
+ - remove
+ permission:
+ type: string
+ enum:
+ - admin
+ userId:
+ type: string
+ email:
+ allOf:
+ - $ref: '#/components/schemas/Email'
+ description: E-Mail address of newly added users
+ type:
+ type: string
+ enum:
+ - policyRuleRequest
+ Email:
+ type: string
+ format: email
+ example: user@example.com
+ PendingApprovalUpdateApprovalsRequiredRequest:
+ title: Update approvals required request
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - updateApprovalsRequiredRequest
+ updateApprovalsRequiredRequest:
+ type: object
+ properties:
+ requestedApprovalsRequired:
+ type: number
+ PendingApprovalPolicyRuleRequest:
+ title: Policy rule request
+ type: object
+ properties:
+ policyRuleRequest:
+ type: object
+ properties:
+ action:
+ type: string
+ update:
+ type: object
+ properties:
+ action:
+ $ref: '#/components/schemas/PolicyRuleActions'
+ coin:
+ $ref: '#/components/schemas/Coin'
+ condition:
+ type: object
+ properties:
+ excludeTags:
+ $ref: '#/components/schemas/IdArray'
+ groupTags:
+ $ref: '#/components/schemas/IdArray'
+ additionalProperties: true
+ id:
+ type: string
+ description: the id of the rule that is being updated
+ type:
+ $ref: '#/components/schemas/PolicyRuleTriggers'
+ type:
+ type: string
+ enum:
+ - policyRuleRequest
+ PolicyRuleTriggers:
+ type: string
+ enum:
+ - advancedWhitelist
+ - allTx
+ - bitcoinAddressWhitelist
+ - coinAddressWhitelist
+ - coinAddressBlacklist
+ - transactionLimit
+ - velocityLimit
+ - webhook
+ description: What causes this rule to trigger
+ IdArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/Id'
+ example:
+ - 585951a5df8380e0e3063e9f
+ - 585951a5df8380e0e304a553
+ PolicyRuleActions:
+ description: What happens when this rule is triggered
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - deny
+ - getApproval
+ - getGroupApproval
+ - getFinalApproval
+ - getCustodianApproval
+ - getIdVerification
+ - noop
+ approvalsRequired:
+ $ref: '#/components/schemas/ApprovalsRequired'
+ userIds:
+ description: For a final approver action, who can approve
+ type: array
+ items:
+ $ref: '#/components/schemas/Id'
+ required:
+ - type
+ PendingApprovalUserChangeRequest:
+ title: User change request
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - userChangeRequest
+ userChangeRequest:
+ type: object
+ properties:
+ action:
+ type: string
+ permissions:
+ type: string
+ userChanged:
+ $ref: '#/components/schemas/Id'
+ TransactionRequest:
+ anyOf:
+ - $ref: '#/components/schemas/TransactionRequestLite'
+ - $ref: '#/components/schemas/TransactionRequestFull'
+ required:
+ - txRequestId
+ - version
+ - latest
+ - walletId
+ - state
+ - date
+ - userId
+ - intent
+ TransactionRequestFull:
+ title: TransactionRequestFull
+ allOf:
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/TransactionState'
+ unsignedTx:
+ $ref: '#/components/schemas/UnsignedTransaction'
+ signatureShares:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ privateShareProof:
+ type: string
+ description: The private share proof
+ publicShare:
+ type: string
+ description: The public share
+ vssProof:
+ type: string
+ description: The VSS proof of the signature share
+ - $ref: '#/components/schemas/SignatureShareWithoutVssProof'
+ commitmentShares:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - commitment
+ description: The type of the commitment share
+ required:
+ - type
+ - $ref: '#/components/schemas/BaseShare'
+ txHash:
+ type: string
+ updatedDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ createdDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - state
+ - unsignedTx
+ description: The transactions associated with the transaction request
+ - $ref: '#/components/schemas/TransactionRequestBase'
+ SignatureShare:
+ type: object
+ properties:
+ from:
+ allOf:
+ - $ref: '#/components/schemas/KeyShareSource'
+ description: The source of the signature share.
+ to:
+ allOf:
+ - $ref: '#/components/schemas/KeyShareSource'
+ description: The recipient of the signature share.
+ share:
+ type: string
+ description: The signature share.
+ required:
+ - from
+ - to
+ - share
+ KeyShareSource:
+ type: string
+ enum:
+ - user
+ - backup
+ - bitgo
+ example: user
+ CommitmentShare:
+ type: object
+ properties:
+ from:
+ allOf:
+ - $ref: '#/components/schemas/KeyShareSource'
+ description: The source of the commitment share.
+ to:
+ allOf:
+ - $ref: '#/components/schemas/KeyShareSource'
+ description: The recipient of the commitment share.
+ share:
+ type: string
+ description: The commitment share.
+ type:
+ allOf:
+ - $ref: '#/components/schemas/CommitmentType'
+ - default: commitment
+ description: The type of the commitment share.
+ required:
+ - from
+ - to
+ - share
+ - type
+ CommitmentType:
+ type: string
+ enum:
+ - commitment
+ example: commitment
+ TransactionRequestUnsignedTransaction:
+ type: object
+ properties:
+ serializedTxHex:
+ type: string
+ description: The unsigned transaction as a hex string.
+ signableHex:
+ type: string
+ description: The portion of a transaction used to generate a signature (may or may not be the same as serializedTxHex) as a hex string.
+ derivationPath:
+ type: string
+ description: A bip32 path.
+ feeInfo:
+ type: object
+ properties:
+ feeString:
+ type: string
+ fee:
+ type: number
+ required:
+ - fee
+ - feeString
+ coinSpecific:
+ description: Coin specific information.
+ type: object
+ parsedTx:
+ description: The parsed transaction information.
+ type: object
+ properties:
+ minerFee:
+ type: string
+ spendAmount:
+ type: string
+ spendAmounts:
+ type: array
+ items:
+ type: object
+ properties:
+ coinName:
+ type: string
+ amountString:
+ type: string
+ payGoFee:
+ type: string
+ outputs:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ type: string
+ isPayGo:
+ type: boolean
+ value:
+ type: number
+ wallet:
+ type: string
+ walletV1:
+ type: string
+ baseAddress:
+ type: string
+ enterprise:
+ type: string
+ valueString:
+ type: string
+ data:
+ type: string
+ change:
+ type: boolean
+ coinName:
+ type: string
+ required:
+ - address
+ - valueString
+ inputs:
+ type: array
+ items:
+ type: object
+ properties:
+ derivationIndex:
+ type: number
+ value:
+ type: number
+ address:
+ type: string
+ valueString:
+ type: string
+ chain:
+ type: number
+ index:
+ type: number
+ required:
+ - valueString
+ - value
+ type:
+ type: string
+ memo:
+ type: string
+ required:
+ - minerFee
+ - outputs
+ - inputs
+ required:
+ - serializedTxHex
+ - signableHex
+ TransactionRequestBase:
+ title: TransactionRequestBase
+ type: object
+ properties:
+ apiVersion:
+ type: string
+ enum:
+ - lite
+ - full
+ description: The API version of the transaction request
+ txRequestId:
+ allOf:
+ - $ref: '#/components/schemas/TransactionRequestId'
+ description: A unique ID for the TxRequest document across all wallets. The combination of the txRequestId and version will always be unique.
+ idempotencyKey:
+ type: string
+ description: The idempotency key of the transaction request
+ walletId:
+ allOf:
+ - $ref: '#/components/schemas/WalletIdString'
+ description: The id of the Wallet the TxRequest is for.
+ walletType:
+ type: string
+ enum:
+ - backing
+ - cold
+ - custodial
+ - custodialPaired
+ - hot
+ - trading
+ description: The type describes who owns the keys to the wallet associated to the TxRequest.
+ version:
+ type: number
+ description: The version of the transaction request
+ enterpriseId:
+ type: string
+ description: If the wallet that owns the TxRequest is owned by an enterprise then this is the Id of said enterprise.
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ state:
+ $ref: '#/components/schemas/TransactionRequestState'
+ date:
+ type: string
+ description: The date and time this version of the TxRequest document was created.
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ createdDate:
+ type: string
+ description: The date and time the version 1 TxRequest document was created.
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ userId:
+ type: string
+ description: The Id of the User that produced this version of the TxRequest document. Could have created a new document or updated an existing document.
+ initiatedBy:
+ type: string
+ description: The Id of the User that originally created the TxRequest document (initiated the TxRequest).
+ updatedBy:
+ type: string
+ description: The Id of the User that last updated the TxRequest document. This is an alias for the userId field.
+ intent:
+ allOf:
+ - $ref: '#/components/schemas/TransactionIntent'
+ description: The intent of the transaction request
+ intents:
+ type: array
+ items:
+ $ref: '#/components/schemas/TransactionIntent'
+ pendingApprovalId:
+ type: string
+ description: The id of the Pending Approval that was created for the TxRequest if one was required.
+ policiesChecked:
+ type: boolean
+ latest:
+ type: boolean
+ description: Indicates if this is the latest transaction request
+ isCanceled:
+ type: boolean
+ description: True, if the transaction request is canceled.
+ required:
+ - txRequestId
+ - walletId
+ - version
+ - state
+ - date
+ - createdDate
+ - userId
+ - initiatedBy
+ - updatedBy
+ - intents
+ - latest
+ TransactionRequestIntent:
+ anyOf:
+ - $ref: '#/components/schemas/AdaStakeIntent'
+ - $ref: '#/components/schemas/ConsolidateTokenIntent'
+ - $ref: '#/components/schemas/CosmosContractCallIntent'
+ - $ref: '#/components/schemas/DOTClaimIntent'
+ - $ref: '#/components/schemas/DotPaymentIntent'
+ - $ref: '#/components/schemas/DotStakingIntent'
+ - $ref: '#/components/schemas/DotUnstakingIntent'
+ - $ref: '#/components/schemas/EthAccelerationIntent'
+ - $ref: '#/components/schemas/EthFillNonceIntent'
+ - $ref: '#/components/schemas/EthPaymentIntent'
+ - $ref: '#/components/schemas/ETHSignMessageIntent'
+ - $ref: '#/components/schemas/EthStakingIntent'
+ - $ref: '#/components/schemas/NearStakeIntent'
+ - $ref: '#/components/schemas/NearUnstakeIntent'
+ - $ref: '#/components/schemas/NearWithdrawIntent'
+ - $ref: '#/components/schemas/SolClaimIntent'
+ - $ref: '#/components/schemas/SolCreateAssociatedTokenAccountIntent'
+ - $ref: '#/components/schemas/SOLPaymentIntent'
+ - $ref: '#/components/schemas/SolStakeIntent'
+ - $ref: '#/components/schemas/SolUnstakeIntent'
+ - $ref: '#/components/schemas/TransferTokenIntent'
+ - $ref: '#/components/schemas/UnstakeIntent2'
+ - $ref: '#/components/schemas/WalletRecoveryIntent'
+ - $ref: '#/components/schemas/WithdrawIntent2'
+ WithdrawIntent2:
+ title: Generic claim unstake
+ allOf:
+ - $ref: '#/components/schemas/BaseStakeIntent2'
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - claim
+ required:
+ - intentType
+ BaseStakeIntent2:
+ allOf:
+ - $ref: '#/components/schemas/BaseIntent2'
+ - type: object
+ properties:
+ stakingRequestId:
+ type: string
+ required:
+ - stakingRequestId
+ BaseIntent2:
+ type: object
+ properties:
+ intentType:
+ type: string
+ sequenceId:
+ type: string
+ description: |
+ A 'sequenceId' is a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With a 'sequenceId' you can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request per 'sequenceId' (and fails all subsequent attempts), you can retry sending without the risk of double spending. The 'sequenceId' is only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID.
+ example: abc123
+ comment:
+ type: string
+ description: The 'comment' is only visible to users on the wallet and is not shared publicly.
+ nonce:
+ type: string
+ description: The 'nonce' of a transaction (optional)
+ memo:
+ type: string
+ description: |
+ A 'memo' is an additional address feature necessary for identifying a transaction recipient beyond wallet address.
+ required:
+ - intentType
+ WalletRecoveryIntent:
+ title: Wallet Recovery Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - walletRecovery
+ required:
+ - intentType
+ - $ref: '#/components/schemas/BaseIntent'
+ UnstakeIntent2:
+ title: Generic Unstake
+ allOf:
+ - $ref: '#/components/schemas/BaseStakeIntent2'
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - unstake
+ required:
+ - intentType
+ TransferTokenIntent:
+ title: TransferTokenIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - transferToken
+ recipients:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ tokenData:
+ $ref: '#/components/schemas/TokenData'
+ required:
+ - tokenData
+ - $ref: '#/components/schemas/RecipientEntry'
+ required:
+ - intentType
+ - recipients
+ - $ref: '#/components/schemas/BaseIntent'
+ RecipientEntry:
+ title: RecipientEntry
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/Address'
+ amount:
+ $ref: '#/components/schemas/Amount'
+ data:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - address
+ - amount
+ TokenData:
+ title: TokenData
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/TokenRecipientEntryItem'
+ - $ref: '#/components/schemas/SupportedTokenRecipientEntryItem'
+ - $ref: '#/components/schemas/UnsupportedTokenRecipientEntryItem'
+ Amount2:
+ type: object
+ properties:
+ value:
+ type: string
+ description: The value should be a valid number.
+ example: '100'
+ symbol:
+ type: string
+ description: The coin or token the value is referring to.
+ example: usdc
+ required:
+ - value
+ - symbol
+ TxAddress:
+ type: object
+ properties:
+ address:
+ type: string
+ options:
+ type: object
+ required:
+ - address
+ SolUnstakeIntent:
+ title: SOL Unstake Intent
+ allOf:
+ - type: object
+ properties:
+ stakingAddress:
+ type: string
+ amount:
+ type: object
+ properties:
+ symbol:
+ type: string
+ value:
+ type: string
+ required:
+ - symbol
+ - value
+ remainingStakingAmount:
+ type: object
+ properties:
+ symbol:
+ type: string
+ value:
+ type: string
+ required:
+ - symbol
+ - value
+ required:
+ - stakingAddress
+ - $ref: '#/components/schemas/UnstakeIntent'
+ - $ref: '#/components/schemas/SolBuildOptions'
+ SolBuildOptions:
+ title: SolBuildOptions
+ allOf:
+ - type: object
+ properties:
+ memo:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - memo
+ - $ref: '#/components/schemas/AccountBaseBuildOptions'
+ optionalString:
+ title: optionalString
+ type: string
+ UnstakeIntent1:
+ title: UnstakeIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - unstake
+ required:
+ - intentType
+ - $ref: '#/components/schemas/BaseStakeIntent1'
+ BaseStakeIntent1:
+ title: BaseStakeIntent
+ allOf:
+ - type: object
+ properties:
+ stakingRequestId:
+ type: string
+ required:
+ - stakingRequestId
+ - $ref: '#/components/schemas/BaseIntent1'
+ BaseIntent1:
+ title: Intent
+ type: object
+ properties:
+ intentType:
+ $ref: '#/components/schemas/IntentType'
+ sequenceId:
+ $ref: '#/components/schemas/optionalString'
+ comment:
+ $ref: '#/components/schemas/optionalString'
+ nonce:
+ oneOf:
+ - type: string
+ - type: number
+ required:
+ - intentType
+ IntentType:
+ title: IntentType
+ type: string
+ enum:
+ - payment
+ - transferToken
+ - consolidate
+ - consolidateToken
+ - fanout
+ - stake
+ - unstake
+ - delegate
+ - undelegate
+ - switchValidator
+ - claim
+ - stakeClaimRewards
+ - pledge
+ - vote
+ - createAccount
+ - updateAccount
+ - addTrustLine
+ - removeTrustLine
+ - signMessage
+ - signTypedStructuredData
+ - enableToken
+ - authorize
+ - acceleration
+ - fillNonce
+ - walletRecovery
+ - contractCall
+ - deactivate
+ - customTx
+ - closeAssociatedTokenAccount
+ SolStakeIntent:
+ title: SOL Stake Intent
+ allOf:
+ - type: object
+ properties:
+ validatorAddress:
+ type: string
+ amount:
+ $ref: '#/components/schemas/Amount'
+ required:
+ - validatorAddress
+ - amount
+ - $ref: '#/components/schemas/StakeIntent'
+ - $ref: '#/components/schemas/SolBuildOptions'
+ StakeIntent1:
+ title: StakeIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - stake
+ required:
+ - intentType
+ - $ref: '#/components/schemas/BaseStakeIntent1'
+ Amount1:
+ title: Amount
+ type: object
+ properties:
+ value:
+ type: string
+ symbol:
+ type: string
+ required:
+ - value
+ - symbol
+ SOLPaymentIntent:
+ title: Sol Payment
+ allOf:
+ - $ref: '#/components/schemas/SolBuildOptions'
+ - $ref: '#/components/schemas/PaymentIntent2'
+ PaymentIntent2:
+ allOf:
+ - $ref: '#/components/schemas/BaseIntent2'
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - payment
+ recipients:
+ type: array
+ items:
+ $ref: '#/components/schemas/RecipientEntry1'
+ amount:
+ type: object
+ properties:
+ value:
+ type: string
+ description: The value of the transaction in base units of the asset.
+ symbol:
+ type: string
+ description: A cryptocurrency or token ticker symbol.
+ SolCreateAssociatedTokenAccountIntent:
+ title: SOL Create Associated Token Account Intent
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/EnableTokenIntent'
+ - $ref: '#/components/schemas/SolBuildOptions'
+ EnableTokenIntent:
+ title: EnableTokenIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - enableToken
+ enableTokens:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ address:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - name
+ required:
+ - intentType
+ - enableTokens
+ - $ref: '#/components/schemas/BaseIntent'
+ SolClaimIntent:
+ title: SOL Claim Intent
+ allOf:
+ - type: object
+ properties:
+ stakingAddress:
+ type: string
+ amount:
+ $ref: '#/components/schemas/Amount'
+ required:
+ - stakingAddress
+ - amount
+ - $ref: '#/components/schemas/WithdrawIntent'
+ - $ref: '#/components/schemas/SolBuildOptions'
+ WithdrawIntent1:
+ title: WithdrawIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - claim
+ amount:
+ type: object
+ properties:
+ symbol:
+ type: string
+ value:
+ type: string
+ required:
+ - symbol
+ - value
+ required:
+ - intentType
+ - $ref: '#/components/schemas/BaseStakeIntent1'
+ NearWithdrawIntent:
+ title: Near Withdraw Intent
+ allOf:
+ - type: object
+ properties:
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/Address'
+ amount:
+ $ref: '#/components/schemas/Amount'
+ data:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - address
+ - amount
+ required:
+ - recipients
+ - $ref: '#/components/schemas/WithdrawIntent'
+ NearUnstakeIntent:
+ title: Near Unstake Intent
+ allOf:
+ - type: object
+ properties:
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/Address'
+ amount:
+ $ref: '#/components/schemas/Amount'
+ data:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - address
+ - amount
+ required:
+ - recipients
+ - $ref: '#/components/schemas/UnstakeIntent'
+ NearStakeIntent:
+ title: Near Stake Intent
+ allOf:
+ - type: object
+ properties:
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/Address'
+ amount:
+ $ref: '#/components/schemas/Amount'
+ data:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - address
+ - amount
+ required:
+ - recipients
+ - $ref: '#/components/schemas/StakeIntent'
+ StakeIntent2:
+ allOf:
+ - $ref: '#/components/schemas/BaseStakeIntent2'
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - stake
+ required:
+ - intentType
+ EthStakingIntent:
+ title: ETH Staking Intent
+ allOf:
+ - type: object
+ properties:
+ pubkey:
+ type: string
+ withdrawalCredentials:
+ type: string
+ signature:
+ type: string
+ depositDataRoot:
+ type: string
+ required:
+ - pubkey
+ - withdrawalCredentials
+ - signature
+ - depositDataRoot
+ - $ref: '#/components/schemas/StakeIntent'
+ - $ref: '#/components/schemas/EthBuildOptions'
+ EthBuildOptions:
+ title: EthBuildOptions
+ allOf:
+ - type: object
+ properties:
+ feeOptions:
+ oneOf:
+ - $ref: '#/components/schemas/FeeOption'
+ - $ref: '#/components/schemas/EIP1559FeeOptions'
+ hopParams:
+ type: object
+ properties:
+ gasPriceMax:
+ $ref: '#/components/schemas/optionalNumber'
+ paymentId:
+ $ref: '#/components/schemas/optionalString'
+ userReqSig:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - gasPriceMax
+ - paymentId
+ - userReqSig
+ receiveAddress:
+ $ref: '#/components/schemas/optionalString'
+ senderAddressIndex:
+ $ref: '#/components/schemas/optionalNumber'
+ - $ref: '#/components/schemas/AccountBaseBuildOptions'
+ optionalNumber:
+ title: optionalNumber
+ type: number
+ EIP1559FeeOptions:
+ title: EIP1559FeeOptions
+ type: object
+ properties:
+ gasLimit:
+ $ref: '#/components/schemas/optionalNumber'
+ maxFeePerGas:
+ $ref: '#/components/schemas/optionalNumber'
+ maxPriorityFeePerGas:
+ $ref: '#/components/schemas/optionalNumber'
+ FeeOption:
+ title: FeeOption
+ type: object
+ properties:
+ unit:
+ type: string
+ enum:
+ - baseUnit
+ - cpu
+ - ram
+ formula:
+ type: string
+ enum:
+ - fixed
+ - feeRate
+ - perKB
+ - custom
+ - perVKB
+ feeType:
+ type: string
+ enum:
+ - base
+ - max
+ - tip
+ gasLimit:
+ $ref: '#/components/schemas/optionalNumber'
+ gasPrice:
+ $ref: '#/components/schemas/optionalNumber'
+ ETHSignMessageIntent:
+ title: Eth sign message
+ allOf:
+ - $ref: '#/components/schemas/BaseIntent2'
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - signMessage
+ required:
+ - intentType
+ EthPaymentIntent:
+ title: ETH Payment Intent
+ allOf:
+ - type: object
+ properties:
+ selfSend:
+ $ref: '#/components/schemas/optionalBoolean'
+ required:
+ - selfSend
+ - $ref: '#/components/schemas/PaymentIntent'
+ - $ref: '#/components/schemas/EthBuildOptions'
+ PaymentIntent1:
+ title: PaymentIntent
+ allOf:
+ - type: object
+ properties:
+ intent:
+ type: string
+ enum:
+ - payment
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/Address1'
+ amount:
+ $ref: '#/components/schemas/Amount1'
+ data:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - address
+ - amount
+ required:
+ - intent
+ - recipients
+ - $ref: '#/components/schemas/BaseIntent1'
+ Address1:
+ title: Address
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/optionalString'
+ option:
+ $ref: '#/components/schemas/optionalUnknownObject'
+ optionalUnknownObject:
+ title: optionalUnknownObject
+ type: object
+ additionalProperties: {}
+ optionalBoolean:
+ title: optionalBoolean
+ type: boolean
+ EthFillNonceIntent:
+ title: ETH Fill Nonce Intent
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/FillNonceIntent'
+ - $ref: '#/components/schemas/EthFillNonceBuildOptions'
+ EthFillNonceBuildOptions:
+ title: EthFillNonceBuildOptions
+ type: object
+ properties:
+ feeOptions:
+ oneOf:
+ - $ref: '#/components/schemas/FeeOption'
+ - $ref: '#/components/schemas/EIP1559FeeOptions'
+ receiveAddress:
+ $ref: '#/components/schemas/optionalString'
+ senderAddressIndex:
+ $ref: '#/components/schemas/optionalNumber'
+ FillNonceIntent:
+ title: FillNonceIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - fillNonce
+ nonce:
+ oneOf:
+ - type: string
+ - type: number
+ required:
+ - intentType
+ - nonce
+ - $ref: '#/components/schemas/BaseIntentWithoutNonce'
+ BaseIntentWithoutNonce:
+ title: BaseIntentWithoutNonce
+ type: object
+ properties:
+ intentType:
+ $ref: '#/components/schemas/IntentType'
+ sequenceId:
+ $ref: '#/components/schemas/optionalString'
+ comment:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - intentType
+ EthAccelerationIntent:
+ title: ETH Acceleration Intent
+ allOf:
+ - type: object
+ properties:
+ feeOptions:
+ oneOf:
+ - $ref: '#/components/schemas/FeeOption'
+ - $ref: '#/components/schemas/EIP1559FeeOptions'
+ required:
+ - feeOptions
+ - $ref: '#/components/schemas/AccelerationIntent'
+ - $ref: '#/components/schemas/EthBuildOptionsWithoutFeeOptions'
+ EthBuildOptionsWithoutFeeOptions:
+ title: EthBuildOptionsWithoutFeeOptions
+ allOf:
+ - type: object
+ properties:
+ hopParams:
+ type: object
+ properties:
+ gasPriceMax:
+ $ref: '#/components/schemas/optionalNumber'
+ paymentId:
+ $ref: '#/components/schemas/optionalString'
+ userReqSig:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - gasPriceMax
+ - paymentId
+ - userReqSig
+ receiveAddress:
+ $ref: '#/components/schemas/optionalString'
+ senderAddressIndex:
+ $ref: '#/components/schemas/optionalNumber'
+ - $ref: '#/components/schemas/AccountBaseBuildOptions'
+ AccelerationIntent:
+ title: AccelerationIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - acceleration
+ txid:
+ type: string
+ required:
+ - intentType
+ - txid
+ - $ref: '#/components/schemas/BaseIntent'
+ DotUnstakingIntent:
+ title: DOT Unstaking Intent
+ allOf:
+ - type: object
+ properties:
+ amount:
+ $ref: '#/components/schemas/Amount'
+ stakingProxy:
+ type: string
+ stopStaking:
+ $ref: '#/components/schemas/optionalBoolean'
+ required:
+ - amount
+ - stakingProxy
+ - $ref: '#/components/schemas/UnstakeIntent'
+ - $ref: '#/components/schemas/DotAccountBaseBuildOptions'
+ DotAccountBaseBuildOptions:
+ title: DotAccountBaseBuildOptions
+ allOf:
+ - type: object
+ properties:
+ fee:
+ type: object
+ properties:
+ amount:
+ oneOf:
+ - type: string
+ - type: number
+ formula:
+ type: string
+ enum:
+ - fixed
+ - feeRate
+ - perKB
+ - custom
+ type:
+ type: string
+ enum:
+ - base
+ - max
+ - tip
+ unit:
+ type: string
+ enum:
+ - baseUnit
+ - cpu
+ - ram
+ required:
+ - amount
+ - $ref: '#/components/schemas/AccountBaseBuildOptions'
+ DotStakingIntent:
+ title: DOT Staking Intent
+ allOf:
+ - type: object
+ properties:
+ amount:
+ $ref: '#/components/schemas/Amount'
+ stakingProxy:
+ type: string
+ addToStake:
+ $ref: '#/components/schemas/optionalBoolean'
+ addProxy:
+ $ref: '#/components/schemas/optionalBoolean'
+ required:
+ - amount
+ - stakingProxy
+ - $ref: '#/components/schemas/StakeIntent'
+ - $ref: '#/components/schemas/DotAccountBaseBuildOptions'
+ DotPaymentIntent:
+ title: DOT Payment Intent
+ allOf:
+ - type: object
+ properties:
+ proxy:
+ $ref: '#/components/schemas/DotProxy'
+ owner:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - proxy
+ - owner
+ - $ref: '#/components/schemas/PaymentIntent'
+ - $ref: '#/components/schemas/DotAccountBaseBuildOptions'
+ DotProxy:
+ title: DotProxy
+ type: object
+ properties:
+ name:
+ $ref: '#/components/schemas/optionalString'
+ addressString:
+ $ref: '#/components/schemas/optionalString'
+ asset:
+ $ref: '#/components/schemas/optionalString'
+ amountString:
+ $ref: '#/components/schemas/optionalString'
+ DOTClaimIntent:
+ title: Dot Claim Unstake
+ allOf:
+ - $ref: '#/components/schemas/DOTBuildOptions'
+ - $ref: '#/components/schemas/WithdrawIntent2'
+ DOTBuildOptions:
+ allOf:
+ - $ref: '#/components/schemas/AccountBaseBuildOptions2'
+ - type: object
+ properties:
+ fee:
+ $ref: '#/components/schemas/DOTFeeOptions'
+ DOTFeeOptions:
+ type: object
+ properties:
+ amount:
+ type: string
+ unit:
+ type: string
+ enum:
+ - baseUnit
+ - cpu
+ - ram
+ formula:
+ type: string
+ enum:
+ - fixed
+ - feeRate
+ - perKB
+ - custom
+ type:
+ type: string
+ enum:
+ - base
+ - max
+ - tip
+ required:
+ - amount
+ AccountBaseBuildOptions2:
+ type: object
+ properties:
+ nonce:
+ type: string
+ CosmosContractCallIntent:
+ title: Cosmos Contract Call
+ allOf:
+ - $ref: '#/components/schemas/BaseIntent2'
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - contractCall
+ contract:
+ type: string
+ description: The address of the contract to call.
+ msgHex:
+ type: string
+ description: The binary message data to send to the contract in hex format.
+ required:
+ - intentType
+ - contract
+ - msgHex
+ ConsolidateTokenIntent:
+ title: Consolidate Token
+ allOf:
+ - $ref: '#/components/schemas/BaseIntent2'
+ - $ref: '#/components/schemas/EthBuildOptions'
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - consolidateToken
+ recipients:
+ type: array
+ items:
+ $ref: '#/components/schemas/RecipientEntry'
+ consolidateId:
+ type: string
+ description: Consolidation ID of this consolidation transaction
+ keepAlive:
+ type: string
+ description: True, if excluding the minimum-funding amounts in an address during consolidation.
+ required:
+ - intentType
+ - recipients
+ AdaStakeIntent:
+ title: ADA Stake Intent
+ allOf:
+ - type: object
+ properties:
+ poolKeyHash:
+ type: string
+ amount:
+ type: object
+ properties:
+ symbol:
+ type: string
+ value:
+ type: string
+ required:
+ - symbol
+ - value
+ required:
+ - poolKeyHash
+ - $ref: '#/components/schemas/StakeIntent'
+ WalletTypePublic:
+ type: string
+ description: The type describes who owns the keys to the wallet and how they are stored. 'cold' wallets are wallets where the private key of the user key is stored exclusively outside of BitGo's system. 'custodial' means that this wallet is a cold wallet where BitGo owns the keys. Only customers of the BitGo Trust can create this kind of wallet. 'custodialPaired' means that this is a hot wallet that is owned by the customer but it will be linked to a cold (custodial) wallet where BitGo owns the keys. This option is only available to customers of BitGo Inc. BitGo stores an encrypted private key for the user key of 'hot' wallets. 'trading' wallets are trading accounts where the coin is 'ofc'. 'distributedCustody' means You manage one key and another key agent manages the second key. BitGo manages the third key
+ enum:
+ - cold
+ - custodial
+ - custodialPaired
+ - hot
+ - trading
+ - distributedCustody
+ TransactionRequestLite:
+ title: TransactionRequestLite
+ allOf:
+ - type: object
+ properties:
+ intent:
+ allOf:
+ - $ref: '#/components/schemas/TransactionIntent'
+ description: The intent of the transaction request
+ unsignedTxs:
+ type: array
+ items:
+ type: object
+ properties:
+ parsedTx:
+ $ref: '#/components/schemas/ParsedTx'
+ serializedTxHex:
+ type: string
+ description: The unsigned transaction as a hex string.
+ signableHex:
+ type: string
+ description: The portion of a transaction used to generate a signature (may or may not be the same as serializedTxHex) as a hex string.
+ derivationPath:
+ type: string
+ description: A bip32 path.
+ coinSpecific:
+ allOf:
+ - type: object
+ properties:
+ nonceAddress:
+ type: string
+ stakingAddress:
+ type: string
+ - type: object
+ additionalProperties: {}
+ description: Coin specific information.
+ feeInfo:
+ type: object
+ properties:
+ fee:
+ oneOf:
+ - type: string
+ - type: number
+ feeString:
+ type: string
+ required:
+ - fee
+ - feeString
+ required:
+ - parsedTx
+ - serializedTxHex
+ - signableHex
+ description: Holds all unsigned transactions that will be used to fulfill the TxRequest for MPC wallets.
+ signatureShares:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ vssProof:
+ type: string
+ description: The VSS proof of the signature share
+ privateShareProof:
+ type: string
+ description: The private share proof
+ publicShare:
+ type: string
+ description: The public share
+ - $ref: '#/components/schemas/SignatureShareWithoutVssProof'
+ description: Only used for MPC coins. This is used to collect signature shares from and exchange them with the user.
+ commitmentShares:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - commitment
+ description: The type of the commitment share
+ required:
+ - type
+ - $ref: '#/components/schemas/BaseShare'
+ description: Only used for MPC coins on EdDSA curve. This is used to collect commitment shares from and exchange them with the user.
+ txHashes:
+ type: array
+ items:
+ type: string
+ description: The hashes of all transactions from the TxRequest that have been signed and are pending broadcast.
+ - $ref: '#/components/schemas/TransactionRequestBase'
+ PendingApprovalTransactionRequest:
+ title: Transaction request (lite)
+ type: object
+ properties:
+ transactionRequest:
+ type: object
+ properties:
+ buildParams:
+ type: object
+ coinSpecific:
+ type: object
+ comment:
+ type: string
+ fee:
+ $ref: '#/components/schemas/IntegerOrString'
+ isUnsigned:
+ type: boolean
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/AddressString3'
+ amount:
+ $ref: '#/components/schemas/IntegerOrIntegerString'
+ data:
+ type: string
+ requestedAmount:
+ $ref: '#/components/schemas/IntegerOrIntegerString'
+ sourceWallet:
+ $ref: '#/components/schemas/Id'
+ triggeredPolicy:
+ $ref: '#/components/schemas/Id'
+ validTransaction:
+ type: string
+ validTransactionHash:
+ type: string
+ type:
+ type: string
+ enum:
+ - transactionRequest
+ IntegerOrIntegerString:
+ oneOf:
+ - type: string
+ pattern: ^-?\d+$
+ example: '2000000'
+ - type: integer
+ IntegerOrString:
+ oneOf:
+ - type: string
+ example: '2000000'
+ - type: integer
+ ExpressResolvePendingApprovalRequest:
+ type: object
+ properties:
+ state:
+ type: string
+ description: New state for the pending approval
+ enum:
+ - approved
+ - rejected
+ walletPassphrase:
+ type: string
+ description: Passphrase to decrypt the user key on the wallet
+ xprv:
+ type: string
+ description: Private key in string form, if walletPassphrase is not available
+ otp:
+ $ref: '#/components/schemas/Otp'
+ Otp:
+ type: string
+ example: '123456'
+ description: Second factor authentication token
+ UpdateWalletShareResponse:
+ title: UpdateWalletShareResponse
+ type: object
+ properties:
+ state:
+ allOf:
+ - $ref: '#/components/schemas/WalletShareState'
+ description: New state of the wallet share after update
+ changed:
+ type: boolean
+ description: Whether the wallet share was changed
+ required:
+ - state
+ - changed
+ WalletShareState:
+ title: WalletShareState
+ type: string
+ enum:
+ - pendingapproval
+ - active
+ - accepted
+ - canceled
+ - rejected
+ description: The state of wallet share object
+ example: active
+ WalletShare:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ coin:
+ $ref: '#/components/schemas/Coin'
+ wallet:
+ $ref: '#/components/schemas/Id'
+ walletLabel:
+ $ref: '#/components/schemas/WalletLabel'
+ fromUser:
+ $ref: '#/components/schemas/Id'
+ toUser:
+ $ref: '#/components/schemas/Coin'
+ permission:
+ type: string
+ description: |
+ Comma-separated list of privileges for a wallet. Includes:
+
+ - 'admin' - Can manage wallet policies and users and approve or reject pending approvals.
+ - 'freeze' - Can freeze a wallet, disabling all withdrawals.
+ - 'spend' - Can initiate withdrawals and generate new receive addresses.
+ - 'trade' - Can initiate trades from a Go Account ('trading' wallet type).
+ - 'view' - Can view balances and transactions.
+
+ Permissions don't overlap. Required parameter if 'reshare' is false.
+ enum:
+ - admin
+ - spend
+ - trade
+ - view
+ example: spend,view
+ message:
+ type: string
+ description: User readable message to display to the share recipient
+ state:
+ $ref: '#/components/schemas/WalletShareState'
+ enterprise:
+ $ref: '#/components/schemas/Id'
+ pendingApprovalId:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: Only set if this wallet share is currently pending approval
+ keychain:
+ description: Only set if this wallet share has an associated keychain
+ type: object
+ properties:
+ pub:
+ description: Sharing user's root public key
+ type: string
+ encryptedPrv:
+ description: Sharing user's private key encrypted under their wallet passphrase
+ type: string
+ fromPubKey:
+ description: Sharing user's derived public key which will be used to calculate the wallet sharing secret.
+ type: string
+ toPubKey:
+ description: Shared-to user's derived public key which will be used to calculate the wallet sharing secret.
+ type: string
+ path:
+ description: BIP32 HD path of the derived public keys (fromPubKey and toPubKey)
+ example: m/1234/1/1
+ type: string
+ required:
+ - id
+ - coin
+ - wallet
+ - walletLabel
+ - fromUser
+ - toUser
+ - permissions
+ - message
+ - state
+ - enterprise
+ EnterpriseResponse:
+ allOf:
+ - $ref: '#/components/schemas/Enterprise'
+ - type: object
+ properties:
+ tags:
+ type: array
+ items:
+ $ref: '#/components/schemas/EnterpriseTag'
+ EnterpriseTag:
+ type: object
+ properties:
+ name:
+ type: string
+ id:
+ $ref: '#/components/schemas/Id'
+ Enterprise:
+ title: Enterprise
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/EnterpriseIdString'
+ name:
+ type: string
+ example: Small Company
+ additionalEnterpriseInfo:
+ $ref: '#/components/schemas/AdditionalEnterpriseInfo'
+ bitgoOrg:
+ allOf:
+ - $ref: '#/components/schemas/BitgoOrg'
+ description: BitGo Organization related to this entity
+ kycState:
+ $ref: '#/components/schemas/KycState'
+ legalIdentifiers:
+ $ref: '#/components/schemas/LegalIdentifiers'
+ type:
+ type: string
+ latestSAVersionSigned:
+ type: number
+ example: 0
+ travelRule:
+ type: boolean
+ productLicenses:
+ type: array
+ items:
+ type: string
+ canAccessBorrowing:
+ type: boolean
+ description: whether the enterprise has the licence for BitGo Prime Borrowing
+ canAccessLending:
+ type: boolean
+ description: whether the enterprise has the licence for BitGo Prime Lending
+ canAccessSettlement:
+ type: boolean
+ description: whether the enterprise has the licence to utilize settlement functionality
+ canAccessTrading:
+ type: boolean
+ description: whether the enterprise has the licence to access BitGo Trading
+ canCreateColdWallet:
+ type: boolean
+ description: whether the enterprise has the license to create cold wallets
+ canCreateHotWallet:
+ type: boolean
+ description: whether the enterprise has the license to create hot wallets
+ canCreateCustodialWallet:
+ type: boolean
+ description: whether the enterprise has the license to create custodial wallets
+ canCreateOffchainWallet:
+ type: boolean
+ description: whether the enterprise has the license to create trading accounts
+ oneTimeFees:
+ type: array
+ items:
+ type: string
+ upfrontPaymentStatus:
+ type: string
+ ethAlwaysUseHop:
+ type: boolean
+ description: Always use hop address for ETH transactions
+ usersViewAllWallets:
+ type: boolean
+ description: All users on the enterprise can view all enterprise wallets, even if they are not viewers on the wallet itself
+ example: true
+ videoIdWaived:
+ type: boolean
+ description: Whether the customer has waived the need for Video ID on low risk withdrawals.
+ example: false
+ tradeOnboardingAgreement:
+ allOf:
+ - $ref: '#/components/schemas/OnboardingAgreement'
+ description: Who & when the MPA license was ack'd
+ stakingServicesAgreement:
+ $ref: '#/components/schemas/OnboardingAgreement'
+ custodyServicesAgreement:
+ $ref: '#/components/schemas/OnboardingAgreement'
+ accountType:
+ allOf:
+ - $ref: '#/components/schemas/AccountType'
+ description: Indicates which type of KYC process the enterprise has to complete
+ businessModel:
+ $ref: '#/components/schemas/BusinessModel'
+ salesforceAccountId:
+ type: string
+ description: Opportunity ID from Salesforce
+ salesforceOpportunityId:
+ type: string
+ opportunityName:
+ type: string
+ description: Opportunity Name from Salesforce
+ salesEmail:
+ type: string
+ cheetahAccountId:
+ type: string
+ description: CheetahAccountID is the unique ID for a BitGo Trust enterprise in Cheetah, which is the accounting system used by Trust.
+ primaryContact:
+ type: string
+ description: The Id of the User who is the primary contact
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ organizationId:
+ $ref: '#/components/schemas/OrganizationIdString'
+ emergencyPhone:
+ type: string
+ description: Phone number for emergencies
+ example: '+11234567890'
+ pricingPlan:
+ type: string
+ description: The pricing plan of the enterprise
+ approvalsRequired:
+ type: number
+ description: How many Enterprise Admins are required for action to fire
+ example: 1
+ mutablePolicyWindow:
+ type: number
+ description: Time in seconds after which policies on this Enterprise cannot be updated
+ example: 172800
+ freeze:
+ $ref: '#/components/schemas/Freeze'
+ bitgoEthKey:
+ type: string
+ description: The public portion of the ethererum key generated for the enterprise fee address
+ ethFeeAddress:
+ type: string
+ description: The eth fee address used to pay for network transaction fees of this enterprise
+ walletLimit:
+ type: object
+ additionalProperties:
+ type: number
+ preferredUi:
+ allOf:
+ - $ref: '#/components/schemas/AvailableUI'
+ description: The UI that this enterprise prefers to use
+ custodialWalletLimit:
+ nullable: true
+ type: object
+ additionalProperties:
+ type: number
+ featureFlags:
+ type: array
+ items:
+ type: string
+ labels:
+ type: array
+ items:
+ type: string
+ licenses:
+ type: array
+ items:
+ type: string
+ description: New licences that are not stored as flags. Tax requires Portfolio Professional or Institutional
+ ellipticId:
+ type: string
+ description: Identifier for environment variables for a customer's Elliptic API credentials
+ ellipticHotWallets:
+ type: boolean
+ description: Hot wallet transactions on this enterprise are monitored in Elliptic
+ vaspId:
+ type: string
+ coinSpecific:
+ type: object
+ additionalProperties: {}
+ walletCounts:
+ type: object
+ description: Number of wallets per coin
+ properties:
+ enterpriseWallets:
+ type: object
+ additionalProperties:
+ type: number
+ required:
+ - enterpriseWallets
+ activePricingType:
+ nullable: true
+ allOf:
+ - $ref: '#/components/schemas/FlattenedPricingType'
+ source:
+ $ref: '#/components/schemas/AggregatorSourceType'
+ totalWalletsCount:
+ type: number
+ description: The total number of wallets in the enterprise
+ example: 1
+ internal:
+ $ref: '#/components/schemas/EnterpriseInternal'
+ distributedCustody:
+ $ref: '#/components/schemas/DistributedCustody'
+ migratedToNewPolicyService:
+ type: boolean
+ description: Whether the enterprise has been migrated to the new policy service
+ videoIdUsers:
+ type: array
+ items:
+ type: object
+ properties:
+ email:
+ type: string
+ description: The email of the user
+ minLength: 1
+ userId:
+ type: string
+ description: The user ID
+ minLength: 1
+ inviter:
+ type: string
+ description: The inviter of the user
+ minLength: 1
+ state:
+ allOf:
+ - $ref: '#/components/schemas/VideoIdUserState'
+ description: The state of the user
+ videoCallId:
+ type: string
+ description: The user's video call ID
+ approvalDate:
+ type: string
+ description: The date the user was approved
+ archivedDate:
+ type: string
+ description: The date the user was archived
+ pendingApprovalId:
+ type: string
+ description: The ID if the user is pending approval
+ videoLink:
+ type: string
+ description: The user's video link
+ enterpriseId:
+ type: string
+ description: EnterpriseId of enterprise this video users belongs to
+ enterpriseName:
+ type: string
+ description: EnterpriseName of enterprise this video users belongs to
+ required:
+ - email
+ - userId
+ - inviter
+ - state
+ description: IDs of users on the enterprise that are approved for custodial video ID
+ sourceConfigs:
+ type: array
+ items:
+ type: object
+ description: Array to store configs, upon which certain actions are taken, per source
+ properties:
+ source:
+ $ref: '#/components/schemas/AggregatorSourceType'
+ showBanner:
+ type: boolean
+ readyForDistribution:
+ type: boolean
+ showVideoIdBanner:
+ type: boolean
+ required:
+ - source
+ videoIdRequired:
+ type: boolean
+ description: Check for video ID Users
+ required:
+ - id
+ - name
+ - additionalEnterpriseInfo
+ - bitgoOrg
+ - kycState
+ - legalIdentifiers
+ - type
+ - latestSAVersionSigned
+ - travelRule
+ - productLicenses
+ - canAccessBorrowing
+ - canAccessLending
+ - canAccessSettlement
+ - canAccessTrading
+ - canCreateColdWallet
+ - canCreateHotWallet
+ - canCreateCustodialWallet
+ - canCreateOffchainWallet
+ - oneTimeFees
+ - upfrontPaymentStatus
+ - ethAlwaysUseHop
+ - usersViewAllWallets
+ - videoIdWaived
+ VideoIdWaived:
+ example: true
+ description: Whether the customer has waived the need for Video ID on low risk withdrawals.
+ type: boolean
+ ViewAllWallets:
+ example: true
+ description: All users on the enterprise can view all enterprise wallets, even if they are not viewers on the wallet itself
+ type: boolean
+ EnterpriseAvailableUI:
+ type: string
+ enum:
+ - bg23
+ EnterpriseActiveKits:
+ type: array
+ items:
+ allOf:
+ - $ref: '#/components/schemas/AuditableItem'
+ - $ref: '#/components/schemas/EnterpriseKitName'
+ EnterpriseKitName:
+ type: object
+ properties:
+ name:
+ type: string
+ enum:
+ - default
+ - wallet
+ - custody
+ - liquidity
+ - cryptoCompare
+ AuditableItem:
+ type: object
+ properties:
+ id:
+ type: string
+ description: Unique identifier for the date range.
+ startDate:
+ type: string
+ description: ISO 8601 Datetime (example at https://datatracker.ietf.org/doc/html/rfc3339#section-5.8). If present, will use as the start date of a new auditable item. If not present, will use the current date to create a new auditable item. Start date is inclusive, i.e. we will start billing/functionality at this instant and afterwards.
+ startReason:
+ type: string
+ description: An optional note describing the reason the auditable item was added/created.
+ endDate:
+ type: string
+ description: ISO 8601 Datetime (example at https://datatracker.ietf.org/doc/html/rfc3339#section-5.8). If present, will use as the end date of a new auditable item. If not present, we will set the endDate to null, and we will assume an indefinite range. endDate is exclusive, i.e. we will end billing/functionality up to but not at this particular time.
+ endReason:
+ type: string
+ description: An optional note describing the reason the auditable item was ended.
+ EnterpriseKits:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ $ref: '#/components/schemas/EnterpriseKitName'
+ datesActive:
+ type: array
+ items:
+ $ref: '#/components/schemas/AuditableItem'
+ EnterpriseActivePricingType:
+ allOf:
+ - $ref: '#/components/schemas/AuditableItem'
+ - $ref: '#/components/schemas/EnterprisePricingType'
+ EnterprisePricingType:
+ type: object
+ properties:
+ name:
+ type: string
+ enum:
+ - starter
+ - growth
+ EnterprisePricingTypes:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ $ref: '#/components/schemas/EnterprisePricingType'
+ datesActive:
+ type: array
+ items:
+ $ref: '#/components/schemas/AuditableItem'
+ Freeze:
+ title: Freeze
+ type: object
+ properties:
+ time:
+ oneOf:
+ - type: string
+ format: date
+ title: Date String
+ - type: string
+ format: date-time
+ title: ISO Date String
+ description: When the freeze started
+ format: date-time
+ expires:
+ oneOf:
+ - type: string
+ format: date
+ title: Date String
+ - type: string
+ format: date-time
+ title: ISO Date String
+ description: When the freeze will end
+ format: date-time
+ reason:
+ type: string
+ description: The reason the entity was frozen
+ frozenBy:
+ type: string
+ description: The user that froze the entity
+ unFrozenBy:
+ type: string
+ description: The user that unfroze the entity
+ EmergencyPhone:
+ type: string
+ description: Phone number for emergencies
+ example: '+11234567890'
+ EnterpriseContract:
+ type: object
+ properties:
+ startDate:
+ type: string
+ description: The contract start date for an enterprise
+ endDate:
+ type: string
+ description: The contract end date for an enterprise
+ BitgoOrg:
+ title: BitgoOrg
+ type: string
+ enum:
+ - BitGo Trust
+ - BitGo New York
+ - BitGo Germany
+ - BitGo Switzerland
+ - Frankfurt DE Trust
+ - BitGo Singapore
+ - BitGo Korea
+ - BitGo Sister Trust 1
+ - BitGo Inc
+ Policy:
+ title: Policy
+ type: object
+ properties:
+ date:
+ oneOf:
+ - type: string
+ format: date-time
+ title: ISO Date String
+ - type: string
+ format: date
+ title: Date String
+ format: date-time
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ latest:
+ type: boolean
+ version:
+ type: number
+ enterpriseId:
+ type: string
+ label:
+ type: string
+ rules:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ latest:
+ type: boolean
+ version:
+ type: number
+ type:
+ $ref: '#/components/schemas/ApiRuleType'
+ action:
+ allOf:
+ - $ref: '#/components/schemas/PolicyRuleAction'
+ description: What happens when this rule is triggered
+ lockDate:
+ type: string
+ description: The time at which this rule becomes immutable
+ format: date-time
+ title: ISO Date String
+ mutabilityConstraint:
+ allOf:
+ - $ref: '#/components/schemas/MutabilityConstraint'
+ description: Specifies whether a BitGo admin can change "lockDate" * "managed" - Not locked, but requires approval from a BitGo admin to change * "permanent" - "lockDate" cannot be changed * "sticky" - Not included in bulk unlock, but "lockDate" can be individually changed
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ condition:
+ allOf:
+ - $ref: '#/components/schemas/Condition'
+ description: Parameters for the type
+ required:
+ - id
+ - latest
+ - version
+ - type
+ - action
+ walletId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - date
+ - id
+ - latest
+ - version
+ AdvancedListRuleEntry:
+ title: AdvancedListRuleEntry
+ type: object
+ properties:
+ item:
+ type: string
+ description: Either a valid address or a wallet or enterprise id. Must be unique in this whitelist.
+ metaData:
+ type: object
+ additionalProperties: {}
+ description: Any data about this entry that is not used to determine when to enforce the policy
+ type:
+ allOf:
+ - $ref: '#/components/schemas/AdvancedListType'
+ description: the kind of resource a list rule entry refers to
+ verificationState:
+ type: string
+ enum:
+ - unverified
+ - verified
+ required:
+ - item
+ - type
+ ListRuleEntryType:
+ type: string
+ enum:
+ - address
+ - walletId
+ - enterpriseId
+ description: the kind of resource a list rule entry refers to
+ IntegerString:
+ type: string
+ pattern: ^-?\d+$
+ example: '2000000'
+ MutabilityConstraint:
+ title: MutabilityConstraint
+ type: string
+ enum:
+ - unlocked
+ - permanent
+ - sticky
+ - managed
+ AdditionalEnterpriseInfo:
+ title: AdditionalEnterpriseInfo
+ type: object
+ properties:
+ contact:
+ $ref: '#/components/schemas/GeographicAddress'
+ GeographicAddress:
+ title: GeographicAddress
+ type: object
+ properties:
+ addressType:
+ type: string
+ name:
+ type: string
+ description: Legal name of the enterprise, not necessarily the same as the display name
+ street:
+ type: string
+ description: Address line
+ street2:
+ nullable: true
+ type: string
+ description: Optional second address line
+ suite:
+ nullable: true
+ type: string
+ description: Optional suite number
+ city:
+ type: string
+ description: City name
+ state:
+ type: string
+ description: State or region
+ postalCode:
+ type: string
+ description: Postal code
+ country:
+ type: string
+ description: ISO 3166-1 Alpha-3 country code
+ EnterpriseAccountType:
+ type: string
+ description: Indicates which type of KYC process the enterprise has to complete
+ enum:
+ - individual
+ - entity
+ V1PendingApproval:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ enterprise:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: The Id of the associated enterprise
+ walletId:
+ type: string
+ example: 1G47mSr3oANXMafVrR8UC4pzV7FEAzo3r9
+ description: The base address of the associated wallet
+ creator:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: The Id of the User that created the Pending Approval
+ createDate:
+ type: string
+ format: date-time
+ info:
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - bitcoinAddressWhitelistRequest
+ - userChangeRequest
+ - policyRuleRequest
+ - dailyLimitPolicyRequest
+ - transactionRequest
+ - tagUpdateRequest
+ - updateEnterpriseRequest
+ - updateApprovalsRequiredRequest
+ updateEnterpriseRequest:
+ type: object
+ properties:
+ action:
+ type: string
+ enum:
+ - add
+ - remove
+ permissions:
+ type: array
+ items:
+ $ref: '#/components/schemas/EnterprisePermission'
+ userId:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: The Id of the User to be added to or removed from the Enterprise
+ email:
+ allOf:
+ - $ref: '#/components/schemas/Email'
+ description: E-Mail address of newly added users
+ updateApprovalsRequiredRequest:
+ type: object
+ properties:
+ requestedApprovalsRequired:
+ type: number
+ minimum: 1
+ description: the number of approvalsRequired that should be changed to
+ state:
+ type: string
+ enum:
+ - pending
+ - approved
+ - rejected
+ walletUserIds:
+ type: array
+ items:
+ $ref: '#/components/schemas/Id'
+ description: an array of all the Users on the Wallet who need to see this Pending Approval
+ approvalsRequired:
+ type: number
+ minimum: 1
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ enum:
+ - pending
+ - approved
+ - rejected
+ signatures:
+ type: array
+ items:
+ type: string
+ videoApprover:
+ type: string
+ videoLink:
+ type: string
+ videoException:
+ type: string
+ EnterprisePermission:
+ type: string
+ enum:
+ - admin
+ UpdateEnterprise:
+ type: object
+ properties:
+ legalIdentifiers:
+ $ref: '#/components/schemas/LegalIdentifiers'
+ approvalsRequired:
+ type: integer
+ minimum: 1
+ description: How many Enterprise Admins are required for action to fire
+ distributedCustody:
+ $ref: '#/components/schemas/DistributedCustodyUpdateEnterprise'
+ usersViewAllWallets:
+ type: boolean
+ description: Allow users to view all wallets
+ DistributedCustodyUpdateEnterprise:
+ type: object
+ description: Parameters associated with distributed custody enterprises. If you want to remove 'signingBitgoOrg', set it to null.
+ properties:
+ signingBitgoOrg:
+ type: string
+ description: BitGo Organization related to this entity. Allowed values are BitGo Inc, BitGo Trust, BitGo New York, BitGo Germany, BitGo Switzerland, Frankfurt DE Trust, BitGo Sister Trust 1, BitGo Korea, BitGo Singapore, null
+ nullable: true
+ LegalIdentifiers:
+ title: LegalIdentifiers
+ type: object
+ properties:
+ legalPersonNameIdentifierType:
+ $ref: '#/components/schemas/LegalPersonNameIdentifierType'
+ legalPersonName:
+ type: string
+ required:
+ - legalPersonNameIdentifierType
+ InvalidEnterpriseId:
+ title: Invalid Enterprise ID
+ allOf:
+ - type: object
+ properties:
+ name:
+ type: string
+ enum:
+ - InvalidEnterpriseId
+ required:
+ - name
+ - $ref: '#/components/schemas/InvalidId'
+ DeleteEnterpriseUser:
+ type: object
+ properties:
+ username:
+ type: string
+ format: email
+ required:
+ - username
+ CreateTransactionRequest:
+ type: object
+ properties:
+ idempotencyKey:
+ type: string
+ description: The combination of the idempotencyKey, version and walletId has to be unique. If no idempotencyKey is specified then it remains undefined for the txRequest. Note, version is an internal field that is auto incremented on every update to a txRequest.
+ intent:
+ $ref: '#/components/schemas/TransactionRequestIntent'
+ videoApprovers:
+ allOf:
+ - $ref: '#/components/schemas/IdArray'
+ description: (Custodial) Specify who should perform the Video ID with Trust if one should be required.
+ apiVersion:
+ type: string
+ description: Full or Light to differentiate between the different transaction request flows.
+ enum:
+ - lite
+ - full
+ default: full
+ preview:
+ type: boolean
+ description: |
+ When set to true, the transaction request is returned without being stored in the DB.
+ default: false
+ required:
+ - intent
+ WalletId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ Session:
+ type: object
+ properties:
+ created:
+ type: string
+ format: date-time
+ expires:
+ type: string
+ format: date-time
+ id:
+ $ref: '#/components/schemas/Id'
+ ip:
+ allOf:
+ - $ref: '#/components/schemas/Ip'
+ description: IP address of the client that requested this access token
+ ipRestrict:
+ type: array
+ items:
+ type: string
+ format: ipv4
+ description: IP addresses of clients that are allowed to use this token
+ origin:
+ type: string
+ example: test.bitgo.com
+ description: BitGo environment that issued this token
+ scope:
+ allOf:
+ - $ref: '#/components/schemas/Scope'
+ description: Session permissions
+ unlock:
+ allOf:
+ - $ref: '#/components/schemas/Unlock'
+ description: The Unlock object, returned if this session is currently unlocked.
+ user:
+ $ref: '#/components/schemas/Id'
+ required:
+ - created
+ - expires
+ - id
+ - origin
+ - scope
+ - user
+ Unlock:
+ title: Unlock
+ type: object
+ properties:
+ expires:
+ type: string
+ format: date-time
+ title: ISO Date String
+ time:
+ type: string
+ format: date-time
+ title: ISO Date String
+ txCount:
+ type: number
+ txValue:
+ type: number
+ txValueLimit:
+ type: number
+ SpendingLimits:
+ type: object
+ additionalProperties:
+ type: object
+ properties:
+ txCount:
+ type: integer
+ txValue:
+ type: integer
+ txValueLimit:
+ type: number
+ example:
+ btc:
+ txCount: 1
+ txValue: 0
+ txValueLimit: 100000000
+ eth:
+ txCount: 1
+ txValue: 0
+ txValueLimit: 50000000000
+ Scope:
+ type: array
+ items:
+ type: string
+ example:
+ - crypto_compare
+ - user_manage
+ - openid
+ - profile
+ - wallet_create
+ - wallet_manage_all
+ - wallet_approve_all
+ - wallet_spend_all
+ - wallet_edit_all
+ - wallet_view_all
+ Ip:
+ type: string
+ format: ipv4
+ example: 127.0.0.1
+ WebhookType:
+ title: WebhookType
+ type: string
+ enum:
+ - txRequest
+ - txRequestTransaction
+ - transfer
+ - transaction
+ - transactionRemoved
+ - transactionExpire
+ - pendingapproval
+ - block
+ - admin
+ - address_confirmation
+ - lowFee
+ - circuitBreaker
+ - wallet_confirmation
+ - bankAccount
+ - userKycState
+ - enterpriseKycState
+ - identityStatus
+ - accessToken
+ - policyBalanceChange
+ - transaction_finality_on_l1
+ WebhookState:
+ title: WebhookState
+ type: string
+ enum:
+ - active
+ - suspended
+ description: If 'active', indicates the webhook can trigger and send to the URL. If 'suspended', indicates the webhook can't trigger.
+ example: active
+ WebhookScope:
+ title: WebhookScope
+ type: string
+ enum:
+ - wallet
+ - enterprise
+ - organization
+ WalletWebhookType:
+ title: WalletWebhookType
+ type: string
+ enum:
+ - txRequest
+ - txRequestTransaction
+ - transfer
+ - transaction
+ - transactionRemoved
+ - transactionExpire
+ - pendingapproval
+ - block
+ - admin
+ - address_confirmation
+ - lowFee
+ - circuitBreaker
+ - transaction_finality_on_l1
+ WalletIdNonEmptyString:
+ title: WalletIdNonEmptyString
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ InvalidAddress:
+ title: Invalid Address
+ allOf:
+ - type: object
+ properties:
+ name:
+ type: string
+ enum:
+ - InvalidAddress
+ required:
+ - name
+ - $ref: '#/components/schemas/InvalidId'
+ CoinString:
+ title: CoinString
+ type: string
+ description: A cryptocurrency symbol or token ticker symbol
+ example: btc
+ EvaluatedPolicyActionStatus:
+ title: EvaluatedPolicyActionStatus
+ type: string
+ enum:
+ - PENDING
+ - COMPLETE
+ - CANCELLED
+ PolicyActionParameters:
+ title: PolicyActionParameters
+ type: object
+ properties:
+ minRequired:
+ type: string
+ minLength: 1
+ userIds:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ initiatorIsAllowedToApprove:
+ type: boolean
+ webhookId:
+ type: string
+ minLength: 1
+ GroupApprovalRequirementOperator:
+ title: GroupApprovalRequirementOperator
+ type: string
+ enum:
+ - and
+ - or
+ PendingApprovalStateProtected:
+ title: Pending Protected
+ type: string
+ enum:
+ - pendingVideoApproval
+ - pendingIdVerification
+ - awaitingSignature
+ - pendingCustodianApproval
+ PendingApprovalStateTrust:
+ title: Pending Trust
+ type: string
+ enum:
+ - pendingVideoApproval
+ - pendingIdVerification
+ - awaitingSignature
+ - pendingCustodianApproval
+ PendingApprovalInfo:
+ title: PendingApprovalInfo
+ type: object
+ properties:
+ type:
+ $ref: '#/components/schemas/PendingApprovalType'
+ userChangeRequest:
+ type: object
+ properties:
+ action:
+ type: string
+ description: The action taken
+ permissions:
+ type: array
+ items:
+ type: string
+ description: The permissions associated with the change
+ userChanged:
+ type: string
+ description: The user that changed
+ transactionRequest:
+ type: object
+ properties:
+ buildParams: {}
+ coinSpecific: {}
+ comment:
+ nullable: true
+ type: string
+ description: The comment for the transaction request
+ fee: {}
+ isUnsigned:
+ nullable: true
+ type: boolean
+ description: Indicates if the transaction is unsigned
+ policyUniqueId: {}
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ type: string
+ description: The address of the recipient
+ example: 2MvrwRYBAuRtPTiZ5MyKg42Ke55W3fZJfZS
+ maxLength: 250
+ amount: {}
+ data:
+ type: string
+ description: Additional data for the transaction
+ description: The recipients of the transaction
+ requestedAmount: {}
+ sourceWallet: {}
+ triggeredPolicy: {}
+ validTransaction:
+ type: string
+ description: Indicates if the transaction is valid
+ validTransactionHash:
+ type: string
+ description: The hash of the valid transaction
+ verificationItems:
+ nullable: true
+ type: array
+ items:
+ type: string
+ description: The verification items for the transaction
+ verificationRuleId:
+ nullable: true
+ type: string
+ description: The ID of the verification rule
+ videoApprovers:
+ type: array
+ items:
+ description: The video approvers for the transaction
+ transactionRequestFull:
+ type: object
+ properties:
+ intent:
+ allOf:
+ - $ref: '#/components/schemas/PaymentIntent'
+ description: The intent of the transaction request
+ policyUniqueId:
+ type: string
+ description: The unique ID for the policy
+ txRequest:
+ oneOf:
+ - $ref: '#/components/schemas/TransactionRequestLite'
+ - $ref: '#/components/schemas/TransactionRequestFull'
+ description: The transaction request details
+ txRequestId:
+ allOf:
+ - $ref: '#/components/schemas/TransactionRequestId'
+ description: The ID of the transaction request
+ verificationItems:
+ type: array
+ items:
+ type: string
+ description: The verification items for the transaction
+ verificationRuleId:
+ type: string
+ description: The ID of the verification rule
+ videoApprovers:
+ type: array
+ items:
+ type: string
+ description: The video approvers for the transaction
+ walletRebalanceEventId:
+ type: string
+ description: The ID of the wallet rebalance event
+ required:
+ - txRequestId
+ policyRuleRequest:
+ type: object
+ properties:
+ action:
+ type: string
+ description: The action of the policy rule request
+ update:
+ type: object
+ description: The update details of the policy rule request
+ properties:
+ action:
+ allOf:
+ - $ref: '#/components/schemas/PolicyRuleAction'
+ description: The action of the policy rule
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ condition:
+ allOf:
+ - $ref: '#/components/schemas/PolicyRuleUpdateCondition'
+ description: The condition of the policy rule
+ id:
+ type: string
+ description: The ID of the policy rule
+ type:
+ allOf:
+ - $ref: '#/components/schemas/ApiRuleType'
+ description: The type of the API rule
+ updateApprovalsRequiredRequest:
+ type: object
+ properties:
+ requestedApprovalsRequired:
+ type: number
+ description: The number of requested approvals required
+ updateEnterpriseRequest:
+ type: object
+ properties:
+ action:
+ type: string
+ enum:
+ - add
+ - update
+ - remove
+ email:
+ type: string
+ description: The email of the user
+ isVideoIdUser:
+ type: boolean
+ description: Indicates if the user is a video ID user
+ permissions:
+ type: string
+ enum:
+ - admin
+ description: The permissions associated with the update
+ userId:
+ type: string
+ description: The ID of the user
+ updateOrganizationRequest:
+ type: object
+ properties:
+ action:
+ type: string
+ enum:
+ - add
+ - update
+ - remove
+ email:
+ type: string
+ description: The email of the user
+ role:
+ type: string
+ enum:
+ - admin
+ - member
+ - customer
+ description: The role of the user in the organization
+ example: admin
+ userId:
+ type: string
+ description: The ID of the user
+ genericRequest:
+ type: object
+ properties:
+ anchors:
+ type: array
+ items:
+ type: object
+ properties:
+ anchorType:
+ allOf:
+ - $ref: '#/components/schemas/AnchorType'
+ description: The type of the anchor
+ key:
+ type: string
+ description: The key of the anchor
+ value:
+ type: string
+ description: The value of the anchor
+ required:
+ - anchorType
+ - key
+ - value
+ description: The anchors associated with the request
+ changeType:
+ allOf:
+ - $ref: '#/components/schemas/ChangeType'
+ description: The type of change requested
+ currentId:
+ type: string
+ description: The current ID associated with the request
+ description:
+ type: string
+ description: The description of the request
+ metadata:
+ type: object
+ additionalProperties:
+ oneOf:
+ - type: string
+ - type: number
+ - type: boolean
+ description: The metadata of the request
+ proposedId:
+ type: string
+ description: The proposed ID associated with the request
+ resourceType:
+ type: string
+ description: The resource type of the request
+ enterpriseInviteRequest:
+ type: object
+ properties:
+ action:
+ type: string
+ enum:
+ - add
+ - update
+ - remove
+ email:
+ type: string
+ description: The email of the user
+ enterpriseInfo:
+ type: object
+ description: Additional info used by the client accepting the invite
+ properties:
+ id:
+ type: string
+ invitedBy:
+ type: object
+ properties:
+ email:
+ type: string
+ fullName:
+ type: string
+ id:
+ type: string
+ required:
+ - email
+ - fullName
+ - id
+ name:
+ type: string
+ requiredVerificationStep:
+ type: string
+ userKycState:
+ type: string
+ required:
+ - id
+ - invitedBy
+ - name
+ - requiredVerificationStep
+ isVideoIdUser:
+ type: boolean
+ description: Indicates if the user is a video ID user
+ permissions:
+ type: string
+ enum:
+ - admin
+ description: The permissions associated with the invite
+ userId:
+ type: string
+ description: The ID of the user
+ required:
+ - type
+ ChangeType:
+ title: ChangeType
+ type: string
+ enum:
+ - create
+ - update
+ - delete
+ AnchorType:
+ title: AnchorType
+ type: string
+ enum:
+ - policyRuleId
+ - settlementId
+ ApiRuleType:
+ title: ApiRuleType
+ type: string
+ enum:
+ - advancedWhitelist
+ - allTx
+ - coinAddressWhitelist
+ - coinAddressBlacklist
+ - trustUsdVelocityLimit
+ - txUsdThreshold
+ - usdVelocityLimit
+ - velocityLimit
+ - webhook
+ PolicyRuleUpdateCondition:
+ title: PolicyRuleUpdateCondition
+ oneOf:
+ - $ref: '#/components/schemas/AddressListRuleUpdateCondition'
+ - $ref: '#/components/schemas/AdvancedListRuleUpdateCondition'
+ - $ref: '#/components/schemas/TxUsdThresholdRuleCondition'
+ - $ref: '#/components/schemas/LimitRuleCondition'
+ - $ref: '#/components/schemas/WebhookRuleCondition'
+ WebhookRuleCondition:
+ title: WebhookRuleCondition
+ type: object
+ properties:
+ url:
+ type: string
+ description: The url to query for the webhook
+ required:
+ - url
+ LimitRuleCondition:
+ title: LimitRuleCondition
+ type: object
+ properties:
+ amountString:
+ type: string
+ example: '2000000'
+ pattern: ^-?\d+$
+ timeWindow:
+ type: number
+ description: Time window in seconds for a velocity limit, between 1 and 30 days
+ minimum: 0
+ maximum: 2678400
+ groupTags:
+ type: array
+ items:
+ type: string
+ startDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - amountString
+ - timeWindow
+ TxUsdThresholdRuleCondition:
+ title: TxUsdThresholdRuleCondition
+ type: object
+ properties:
+ lowerBound:
+ type: string
+ upperBound:
+ type: string
+ required:
+ - lowerBound
+ AdvancedListRuleUpdateCondition:
+ title: AdvancedListRuleUpdateCondition
+ type: object
+ properties:
+ add:
+ $ref: '#/components/schemas/AdvancedListRuleEntry'
+ remove:
+ type: object
+ properties:
+ item:
+ type: string
+ type:
+ type: string
+ enum:
+ - address
+ - enterpriseId
+ - walletId
+ required:
+ - item
+ verifyItems:
+ type: object
+ properties:
+ items:
+ type: array
+ items:
+ type: string
+ required:
+ - items
+ AdvancedListType:
+ title: AdvancedListType
+ type: string
+ enum:
+ - address
+ - enterpriseId
+ - walletId
+ AddressListRuleUpdateCondition:
+ title: AddressListRuleUpdateCondition
+ type: object
+ properties:
+ add:
+ type: string
+ remove:
+ type: string
+ metaData:
+ type: object
+ additionalProperties:
+ type: object
+ additionalProperties: {}
+ PolicyRuleAction:
+ title: PolicyRuleAction
+ type: object
+ properties:
+ type:
+ allOf:
+ - $ref: '#/components/schemas/ActionType'
+ description: The type of the action
+ approvalsRequired:
+ type: number
+ description: The number of approvals required
+ userIds:
+ type: array
+ items:
+ type: string
+ description: The user IDs associated with the action
+ groupApprovalRequirement:
+ type: object
+ description: The group approval requirement
+ properties:
+ items:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ description: The ID of the group
+ minimumApprovals:
+ type: number
+ description: The name of the group
+ type:
+ type: string
+ description: The type of the group
+ required:
+ - id
+ - type
+ operator:
+ $ref: '#/components/schemas/GroupApprovalRequirementOperator'
+ required:
+ - items
+ - operator
+ required:
+ - type
+ ActionType:
+ title: ActionType
+ type: string
+ enum:
+ - deny
+ - getApproval
+ - getEnterpriseUserApproval
+ - getAnyApproval
+ - getGroupApproval
+ - getFinalApproval
+ - getVideoApproval
+ - getIdVerification
+ - verifyWalletRebalance
+ - getCustodianApproval
+ - getCustodialSignature
+ - noop
+ - triggerWebhookNotification
+ TransactionRequestId:
+ title: TransactionRequestId
+ type: string
+ example: 123e4567-e89b-12d3-a456-426614174000
+ format: uuid
+ TransactionIntent:
+ title: TransactionIntent
+ oneOf:
+ - $ref: '#/components/schemas/AdaConsolidateIntent'
+ - $ref: '#/components/schemas/AdaPaymentIntent'
+ - $ref: '#/components/schemas/AdaStakeClaimRewardsIntent'
+ - $ref: '#/components/schemas/AdaStakeIntent'
+ - $ref: '#/components/schemas/AdaUnstakeIntent'
+ - $ref: '#/components/schemas/AtomPaymentIntent'
+ - $ref: '#/components/schemas/AtomStakeIntent'
+ - $ref: '#/components/schemas/AtomUnstakeIntent'
+ - $ref: '#/components/schemas/AtomWithdrawIntent'
+ - $ref: '#/components/schemas/BscDelegateIntent'
+ - $ref: '#/components/schemas/BscUnDelegateIntent'
+ - $ref: '#/components/schemas/BscWithdrawUndelegateIntent'
+ - $ref: '#/components/schemas/CosmosPaymentIntent'
+ - $ref: '#/components/schemas/CosmosStakeIntent'
+ - $ref: '#/components/schemas/CosmosSwitchValidatorIntent'
+ - $ref: '#/components/schemas/CosmosUnstakeIntent'
+ - $ref: '#/components/schemas/CosmosWithdrawIntent'
+ - $ref: '#/components/schemas/DotConsolidateIntent'
+ - $ref: '#/components/schemas/DotCreateAccountIntent'
+ - $ref: '#/components/schemas/DotPaymentIntent'
+ - $ref: '#/components/schemas/DotStakingIntent'
+ - $ref: '#/components/schemas/DotUnstakingIntent'
+ - $ref: '#/components/schemas/DotWithdrawStakeIntent'
+ - $ref: '#/components/schemas/EthAccelerationIntent'
+ - $ref: '#/components/schemas/EthConsolidateIntent'
+ - $ref: '#/components/schemas/EthConsolidateTokenIntent'
+ - $ref: '#/components/schemas/EthFillNonceIntent'
+ - $ref: '#/components/schemas/EthPaymentIntent'
+ - $ref: '#/components/schemas/EthStakingIntent'
+ - $ref: '#/components/schemas/EthTransferTokenIntent'
+ - $ref: '#/components/schemas/LightningPaymentIntent'
+ - $ref: '#/components/schemas/MmiSignMessageIntent'
+ - $ref: '#/components/schemas/MmiSignTransactionIntent'
+ - $ref: '#/components/schemas/NearStakeIntent'
+ - $ref: '#/components/schemas/NearUnstakeIntent'
+ - $ref: '#/components/schemas/NearWithdrawIntent'
+ - $ref: '#/components/schemas/SolAuthorizeIntent'
+ - $ref: '#/components/schemas/SolClaimIntent'
+ - $ref: '#/components/schemas/SolCloseAssociatedTokenAccountIntent'
+ - $ref: '#/components/schemas/SolConsolidateIntent'
+ - $ref: '#/components/schemas/SolCreateAssociatedTokenAccountIntent'
+ - $ref: '#/components/schemas/SolDeactivateIntent'
+ - $ref: '#/components/schemas/SolDelegateIntent'
+ - $ref: '#/components/schemas/SolStakeIntent'
+ - $ref: '#/components/schemas/SolUnstakeIntent'
+ - $ref: '#/components/schemas/SuiConsolidateIntent'
+ - $ref: '#/components/schemas/SuiCustomTxIntent'
+ - $ref: '#/components/schemas/SuiPaymentIntent'
+ - $ref: '#/components/schemas/SuiStakingIntent'
+ - $ref: '#/components/schemas/SuiUnstakingIntent'
+ - $ref: '#/components/schemas/TonConsolidateIntent'
+ - $ref: '#/components/schemas/TonDelegateIntent'
+ - $ref: '#/components/schemas/TonPaymentIntent'
+ - $ref: '#/components/schemas/TonUndelegateIntent'
+ - $ref: '#/components/schemas/WalletRecoveryIntent'
+ - $ref: '#/components/schemas/BaseIntent'
+ BaseIntent:
+ title: Intent
+ type: object
+ properties:
+ intentType:
+ $ref: '#/components/schemas/IntentType'
+ sequenceId:
+ $ref: '#/components/schemas/optionalString'
+ comment:
+ $ref: '#/components/schemas/optionalString'
+ nonce:
+ oneOf:
+ - type: string
+ - type: number
+ required:
+ - intentType
+ TonUndelegateIntent:
+ title: TON Undelegate Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - delegate
+ validatorAddress:
+ type: string
+ required:
+ - intentType
+ - validatorAddress
+ - $ref: '#/components/schemas/BaseIntent'
+ TonPaymentIntent:
+ title: TON Payment Intent
+ allOf:
+ - type: object
+ properties:
+ memo:
+ $ref: '#/components/schemas/optionalString'
+ - $ref: '#/components/schemas/PaymentIntent'
+ PaymentIntent:
+ title: PaymentIntent
+ allOf:
+ - type: object
+ properties:
+ intent:
+ type: string
+ enum:
+ - payment
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/Address'
+ amount:
+ $ref: '#/components/schemas/Amount'
+ data:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - address
+ - amount
+ required:
+ - intent
+ - recipients
+ - $ref: '#/components/schemas/BaseIntent'
+ Amount:
+ title: Amount
+ type: object
+ properties:
+ value:
+ type: string
+ symbol:
+ type: string
+ required:
+ - value
+ - symbol
+ Address:
+ title: Address
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/optionalString'
+ option:
+ $ref: '#/components/schemas/optionalUnknownObject'
+ TonDelegateIntent:
+ title: TON Delegate Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - delegate
+ validatorAddress:
+ type: string
+ amount:
+ $ref: '#/components/schemas/Amount'
+ required:
+ - intentType
+ - validatorAddress
+ - amount
+ - $ref: '#/components/schemas/BaseIntent'
+ TonConsolidateIntent:
+ title: TON Consolidate Intent
+ allOf:
+ - $ref: '#/components/schemas/AccountBaseConsolidateIntent'
+ AccountBaseConsolidateIntent:
+ title: AccountBaseConsolidateIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - consolidate
+ receiveAddress:
+ type: string
+ senderAddressIndex:
+ $ref: '#/components/schemas/optionalNumber'
+ consolidateId:
+ $ref: '#/components/schemas/optionalString'
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/Address'
+ amount:
+ $ref: '#/components/schemas/Amount'
+ data:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - address
+ - amount
+ keepAlive:
+ $ref: '#/components/schemas/optionalBoolean'
+ required:
+ - intentType
+ - receiveAddress
+ - $ref: '#/components/schemas/AccountBaseBuildOptions'
+ AccountBaseBuildOptions:
+ title: AccountBaseBuildOptions
+ type: object
+ properties:
+ nonce:
+ oneOf:
+ - type: string
+ - type: number
+ SuiUnstakingIntent:
+ title: SUI Unstaking Intent
+ allOf:
+ - type: object
+ properties:
+ stakedSuiObjectId:
+ type: string
+ amount:
+ type: object
+ properties:
+ symbol:
+ type: string
+ value:
+ type: string
+ required:
+ - symbol
+ - value
+ required:
+ - stakedSuiObjectId
+ - $ref: '#/components/schemas/WithdrawIntent'
+ WithdrawIntent:
+ title: WithdrawIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - claim
+ amount:
+ type: object
+ properties:
+ symbol:
+ type: string
+ value:
+ type: string
+ required:
+ - symbol
+ - value
+ required:
+ - intentType
+ - $ref: '#/components/schemas/BaseStakeIntent'
+ BaseStakeIntent:
+ title: BaseStakeIntent
+ allOf:
+ - type: object
+ properties:
+ stakingRequestId:
+ type: string
+ required:
+ - stakingRequestId
+ - $ref: '#/components/schemas/BaseIntent'
+ SuiStakingIntent:
+ title: SUI Stake Intent
+ allOf:
+ - type: object
+ properties:
+ validatorAddress:
+ $ref: '#/components/schemas/optionalString'
+ amount:
+ type: object
+ properties:
+ symbol:
+ type: string
+ value:
+ type: string
+ required:
+ - symbol
+ - value
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/Address'
+ amount:
+ $ref: '#/components/schemas/Amount'
+ data:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - address
+ - amount
+ - $ref: '#/components/schemas/StakeIntent'
+ StakeIntent:
+ title: StakeIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - stake
+ required:
+ - intentType
+ - $ref: '#/components/schemas/BaseStakeIntent'
+ SuiPaymentIntent:
+ title: SUI Payment Intent
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/PaymentIntent'
+ - $ref: '#/components/schemas/SuiBuildOptions'
+ SuiBuildOptions:
+ title: SuiBuildOptions
+ allOf:
+ - type: object
+ properties:
+ feeOptions:
+ $ref: '#/components/schemas/SuiFeeOptions'
+ lockedAmount:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - feeOptions
+ - lockedAmount
+ - $ref: '#/components/schemas/BaseIntent'
+ SuiFeeOptions:
+ title: SuiFeeOptions
+ type: object
+ properties:
+ gasLimit:
+ type: number
+ required:
+ - gasLimit
+ SuiCustomTxIntent:
+ title: SUI Custom Tx Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - customTx
+ rawTx:
+ type: string
+ required:
+ - intentType
+ - rawTx
+ - $ref: '#/components/schemas/BaseIntent'
+ - $ref: '#/components/schemas/SuiBuildOptions'
+ SuiConsolidateIntent:
+ title: SUI Consolidate Intent
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/AccountBaseConsolidateIntent'
+ - $ref: '#/components/schemas/SuiBuildOptions'
+ UnstakeIntent:
+ title: UnstakeIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - unstake
+ required:
+ - intentType
+ - $ref: '#/components/schemas/BaseStakeIntent'
+ SolDelegateIntent:
+ title: SOL Delegate Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - delegate
+ validatorAddress:
+ type: string
+ stakingAddresses:
+ $ref: '#/components/schemas/optionalStringArray'
+ stakingAddress:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - intentType
+ - validatorAddress
+ - stakingAddresses
+ - stakingAddress
+ - $ref: '#/components/schemas/BaseIntent'
+ - $ref: '#/components/schemas/SolBuildOptions'
+ optionalStringArray:
+ title: optionalStringArray
+ type: array
+ items:
+ type: string
+ SolDeactivateIntent:
+ title: SOL Deactivate Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - deactivate
+ stakingAddresses:
+ $ref: '#/components/schemas/optionalStringArray'
+ stakingAddress:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - intentType
+ - stakingAddresses
+ - stakingAddress
+ - $ref: '#/components/schemas/BaseIntent'
+ - $ref: '#/components/schemas/SolBuildOptions'
+ SolConsolidateIntent:
+ title: SOL Consolidate Intent
+ allOf:
+ - $ref: '#/components/schemas/AccountBaseConsolidateIntent'
+ SolCloseAssociatedTokenAccountIntent:
+ title: SOL Close Associated Token Account Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - closeAssociatedTokenAccount
+ accountAddress:
+ type: string
+ destinationAddress:
+ type: string
+ required:
+ - intentType
+ - accountAddress
+ - destinationAddress
+ - $ref: '#/components/schemas/BaseIntent'
+ - $ref: '#/components/schemas/SolBuildOptions'
+ SolAuthorizeIntent:
+ title: SOL Authorize Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - authorize
+ transactionMessage:
+ type: string
+ stakeAccount:
+ type: string
+ oldWithdrawPublicKey:
+ type: string
+ newWithdrawPublicKey:
+ type: string
+ lockupPublicKey:
+ type: string
+ nonceAccount:
+ type: string
+ nonceAuthority:
+ type: string
+ blockhash:
+ type: string
+ required:
+ - intentType
+ - transactionMessage
+ - stakeAccount
+ - oldWithdrawPublicKey
+ - newWithdrawPublicKey
+ - lockupPublicKey
+ - nonceAccount
+ - nonceAuthority
+ - blockhash
+ - $ref: '#/components/schemas/BaseIntent'
+ - $ref: '#/components/schemas/SolBuildOptions'
+ MmiSignTransactionIntent:
+ title: MMI Sign Transaction Intent
+ allOf:
+ - type: object
+ properties:
+ custodianTransactionId:
+ type: string
+ required:
+ - custodianTransactionId
+ - $ref: '#/components/schemas/PaymentIntent'
+ MmiSignMessageIntent:
+ title: MMI Sign Message Intent
+ allOf:
+ - type: object
+ properties:
+ custodianMessageId:
+ type: string
+ required:
+ - custodianMessageId
+ - $ref: '#/components/schemas/SignMessageIntent'
+ SignMessageIntent:
+ title: SignMessageIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - signMessage
+ messageRaw:
+ type: string
+ description: A plain text message
+ example: 'for EVM: test message'
+ messageEncoded:
+ allOf:
+ - $ref: '#/components/schemas/optionalString'
+ description: An encoded string
+ example: 'for EVM: \x19Ethereum Signed Message:\n12test message'
+ required:
+ - intentType
+ - messageRaw
+ - messageEncoded
+ - $ref: '#/components/schemas/BaseIntent'
+ LightningPaymentIntent:
+ title: Lightning Payment Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - payment
+ required:
+ - intentType
+ - $ref: '#/components/schemas/BaseIntent'
+ - $ref: '#/components/schemas/LightningPaymentRequestWithSig'
+ LightningPaymentRequestWithSig:
+ title: LightningPaymentRequestWithSig
+ type: object
+ properties:
+ request:
+ $ref: '#/components/schemas/LightningPaymentRequest'
+ signature:
+ type: string
+ required:
+ - request
+ - signature
+ LightningPaymentRequest:
+ title: LightningPaymentRequest
+ type: object
+ properties:
+ invoice:
+ type: string
+ amountMsat:
+ type: string
+ format: number
+ feeLimitMsat:
+ type: string
+ format: number
+ feeLimitRatio:
+ type: number
+ required:
+ - invoice
+ EthTransferTokenIntent:
+ title: ETH Transfer Token Intent
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/TransferTokenIntent'
+ - $ref: '#/components/schemas/EthBuildOptions'
+ UnsupportedTokenRecipientEntryItem:
+ title: UnsupportedTokenRecipientEntryItem
+ type: object
+ properties:
+ tokenContractAddress:
+ $ref: '#/components/schemas/optionalString'
+ decimals:
+ $ref: '#/components/schemas/optionalNumber'
+ SupportedTokenRecipientEntryItem:
+ title: SupportedTokenRecipientEntryItem
+ type: object
+ properties:
+ tokenName:
+ type: string
+ required:
+ - tokenName
+ TokenRecipientEntryItem:
+ title: TokenRecipientEntryItem
+ type: object
+ properties:
+ tokenQuantity:
+ type: string
+ tokenType:
+ type: string
+ tokenId:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - tokenQuantity
+ - tokenType
+ EthConsolidateTokenIntent:
+ title: ETH Consolidate Token Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - consolidateToken
+ recipients:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ tokenData:
+ $ref: '#/components/schemas/TokenData'
+ required:
+ - tokenData
+ - $ref: '#/components/schemas/RecipientEntry'
+ consolidateId:
+ $ref: '#/components/schemas/optionalString'
+ keepAlive:
+ $ref: '#/components/schemas/optionalBoolean'
+ required:
+ - intentType
+ - recipients
+ - consolidateId
+ - keepAlive
+ - $ref: '#/components/schemas/BaseIntent'
+ - $ref: '#/components/schemas/EthBuildOptions'
+ EthConsolidateIntent:
+ title: ETH Consolidate Intent
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/AccountBaseConsolidateIntent'
+ - $ref: '#/components/schemas/EthBuildOptions'
+ DotWithdrawStakeIntent:
+ title: DOT Withdraw Stake Intent
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/WithdrawIntent'
+ - $ref: '#/components/schemas/DotAccountBaseBuildOptions'
+ DotCreateAccountIntent:
+ title: DOT Create Account Intent
+ allOf:
+ - type: object
+ properties:
+ delayBlocks:
+ type: string
+ proxyType:
+ type: string
+ index:
+ $ref: '#/components/schemas/optionalNumber'
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/Address'
+ amount:
+ $ref: '#/components/schemas/Amount'
+ data:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - address
+ - amount
+ required:
+ - delayBlocks
+ - proxyType
+ - $ref: '#/components/schemas/AccountBaseCreateAccountIntent'
+ - $ref: '#/components/schemas/DotAccountBaseBuildOptions'
+ AccountBaseCreateAccountIntent:
+ title: AccountBaseCreateAccountIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - createAccount
+ name:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - intentType
+ - $ref: '#/components/schemas/BaseIntent'
+ - $ref: '#/components/schemas/AccountBaseBuildOptions'
+ DotConsolidateIntent:
+ title: DOT Consolidate Intent
+ allOf:
+ - $ref: '#/components/schemas/AccountBaseConsolidateIntent'
+ CosmosWithdrawIntent:
+ title: Cosmos Withdraw Intent
+ allOf:
+ - type: object
+ properties:
+ validatorAddress:
+ type: string
+ required:
+ - validatorAddress
+ - $ref: '#/components/schemas/WithdrawIntent'
+ CosmosUnstakeIntent:
+ title: Cosmos Unstake Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - undelegate
+ validatorAddress:
+ type: string
+ amount:
+ $ref: '#/components/schemas/Amount'
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/Address'
+ amount:
+ $ref: '#/components/schemas/Amount'
+ data:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - address
+ - amount
+ required:
+ - intentType
+ - validatorAddress
+ - amount
+ - $ref: '#/components/schemas/BaseStakeIntent'
+ CosmosSwitchValidatorIntent:
+ title: Cosmos Switch Validator Intent
+ allOf:
+ - $ref: '#/components/schemas/StakeSwitchValidatorIntent'
+ StakeSwitchValidatorIntent:
+ title: StakeSwitchValidatorIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - switchValidator
+ amount:
+ $ref: '#/components/schemas/Amount'
+ validatorAddress:
+ type: string
+ destValidatorAddress:
+ type: string
+ required:
+ - intentType
+ - amount
+ - validatorAddress
+ - destValidatorAddress
+ - $ref: '#/components/schemas/BaseStakeIntent'
+ CosmosStakeIntent:
+ title: Cosmos Stake Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - delegate
+ validatorAddress:
+ type: string
+ amount:
+ $ref: '#/components/schemas/Amount'
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/Address'
+ amount:
+ $ref: '#/components/schemas/Amount'
+ data:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - address
+ - amount
+ required:
+ - intentType
+ - validatorAddress
+ - amount
+ - $ref: '#/components/schemas/BaseStakeIntent'
+ CosmosPaymentIntent:
+ title: Cosmos Payment Intent
+ allOf:
+ - type: object
+ properties:
+ memo:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - memo
+ - $ref: '#/components/schemas/PaymentIntent'
+ BscWithdrawUndelegateIntent:
+ title: BSC Withdraw Intent
+ allOf:
+ - type: object
+ properties:
+ validatorAddress:
+ type: string
+ requestNumber:
+ type: number
+ required:
+ - validatorAddress
+ - requestNumber
+ - $ref: '#/components/schemas/WithdrawIntent'
+ BscUnDelegateIntent:
+ title: BSC UnDelegate Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - undelegate
+ validatorAddress:
+ type: string
+ amount:
+ $ref: '#/components/schemas/Amount'
+ relayerFee:
+ type: string
+ required:
+ - intentType
+ - validatorAddress
+ - amount
+ - $ref: '#/components/schemas/BaseStakeIntent'
+ BscDelegateIntent:
+ title: BSC Delegate Intent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - delegate
+ validatorAddress:
+ type: string
+ amount:
+ $ref: '#/components/schemas/Amount'
+ relayerFee:
+ type: string
+ delegateVotePower:
+ type: string
+ required:
+ - intentType
+ - validatorAddress
+ - amount
+ - $ref: '#/components/schemas/BaseStakeIntent'
+ AtomWithdrawIntent:
+ title: Atom Withdraw Intent
+ allOf:
+ - type: object
+ properties:
+ validatorAddress:
+ type: string
+ amount:
+ $ref: '#/components/schemas/Amount'
+ required:
+ - validatorAddress
+ - amount
+ - $ref: '#/components/schemas/WithdrawIntent'
+ AtomUnstakeIntent:
+ title: Atom Unstake Intent
+ allOf:
+ - type: object
+ properties:
+ validatorAddress:
+ type: string
+ amount:
+ $ref: '#/components/schemas/Amount'
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/Address'
+ amount:
+ $ref: '#/components/schemas/Amount'
+ data:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - address
+ - amount
+ required:
+ - validatorAddress
+ - amount
+ - $ref: '#/components/schemas/UnstakeIntent'
+ AtomStakeIntent:
+ title: Atom Stake Intent
+ allOf:
+ - type: object
+ properties:
+ validatorAddress:
+ type: string
+ amount:
+ $ref: '#/components/schemas/Amount'
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/Address'
+ amount:
+ $ref: '#/components/schemas/Amount'
+ data:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - address
+ - amount
+ required:
+ - validatorAddress
+ - amount
+ - $ref: '#/components/schemas/StakeIntent'
+ AtomPaymentIntent:
+ title: Atom Payment Intent
+ allOf:
+ - type: object
+ properties:
+ memo:
+ $ref: '#/components/schemas/optionalString'
+ required:
+ - memo
+ - $ref: '#/components/schemas/PaymentIntent'
+ AdaUnstakeIntent:
+ title: ADA Unstake Intent
+ allOf:
+ - type: object
+ properties:
+ poolKeyHash:
+ type: string
+ amount:
+ type: object
+ properties:
+ symbol:
+ type: string
+ value:
+ type: string
+ required:
+ - symbol
+ - value
+ required:
+ - poolKeyHash
+ - $ref: '#/components/schemas/UnstakeIntent'
+ AdaStakeClaimRewardsIntent:
+ title: ADA Stake Claim Rewards Intent
+ allOf:
+ - $ref: '#/components/schemas/StakeClaimRewardsIntent'
+ StakeClaimRewardsIntent:
+ title: StakeClaimRewardsIntent
+ allOf:
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - stakeClaimRewards
+ amount:
+ $ref: '#/components/schemas/Amount'
+ required:
+ - intentType
+ - amount
+ - $ref: '#/components/schemas/BaseStakeIntent'
+ AdaPaymentIntent:
+ title: ADA Payment Intent
+ allOf:
+ - type: object
+ properties:
+ unspents:
+ $ref: '#/components/schemas/optionalStringArray'
+ required:
+ - unspents
+ - $ref: '#/components/schemas/PaymentIntent'
+ AdaConsolidateIntent:
+ title: ADA Consolidate Intent
+ allOf:
+ - type: object
+ properties:
+ unspents:
+ $ref: '#/components/schemas/optionalStringArray'
+ - $ref: '#/components/schemas/AccountBaseConsolidateIntent'
+ WalletIdString:
+ title: WalletIdString
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ BaseShare:
+ title: BaseShare
+ type: object
+ properties:
+ from:
+ allOf:
+ - $ref: '#/components/schemas/SignatureShareType'
+ description: The source of the commitment share
+ example: user
+ to:
+ allOf:
+ - $ref: '#/components/schemas/SignatureShareType'
+ description: The recipient of the commitment share.
+ example: bitgo
+ share:
+ type: string
+ description: The commitment share.
+ required:
+ - from
+ - to
+ - share
+ SignatureShareType:
+ title: SignatureShareType
+ type: string
+ enum:
+ - user
+ - backup
+ - bitgo
+ SignatureShareWithoutVssProof:
+ title: SignatureShareWithoutVssProof
+ type: object
+ properties:
+ from:
+ allOf:
+ - $ref: '#/components/schemas/SignatureShareType'
+ description: The source of the signature share.
+ to:
+ allOf:
+ - $ref: '#/components/schemas/SignatureShareType'
+ description: The recipient of the signature share.
+ share:
+ type: string
+ description: The signature share
+ required:
+ - from
+ - to
+ - share
+ UnsignedTransaction:
+ title: UnsignedTransaction
+ type: object
+ properties:
+ parsedTx:
+ $ref: '#/components/schemas/ParsedTx'
+ serializedTxHex:
+ type: string
+ description: The unsigned transaction as a hex string.
+ signableHex:
+ type: string
+ description: The portion of a transaction used to generate a signature (may or may not be the same as serializedTxHex) as a hex string.
+ derivationPath:
+ type: string
+ description: A bip32 path.
+ coinSpecific:
+ allOf:
+ - type: object
+ properties:
+ nonceAddress:
+ type: string
+ stakingAddress:
+ type: string
+ - type: object
+ additionalProperties: {}
+ description: Coin specific information.
+ feeInfo:
+ type: object
+ properties:
+ fee:
+ oneOf:
+ - type: string
+ - type: number
+ feeString:
+ type: string
+ required:
+ - fee
+ - feeString
+ required:
+ - parsedTx
+ - serializedTxHex
+ - signableHex
+ ParsedTx:
+ title: ParsedTx
+ type: object
+ properties:
+ inputs:
+ type: array
+ items:
+ type: object
+ properties:
+ valueString:
+ type: string
+ _id:
+ type: string
+ address:
+ type: string
+ chain:
+ type: number
+ derivationIndex:
+ type: number
+ index:
+ type: number
+ value:
+ oneOf:
+ - type: number
+ - type: number
+ required:
+ - valueString
+ minerFee:
+ oneOf:
+ - type: string
+ - type: number
+ outputs:
+ type: array
+ items:
+ type: object
+ properties:
+ valueString:
+ type: string
+ address:
+ type: string
+ change:
+ type: boolean
+ coinName:
+ type: string
+ data:
+ type: string
+ isPayGo:
+ type: boolean
+ value:
+ oneOf:
+ - type: number
+ - type: number
+ wallet:
+ type: string
+ walletV1:
+ type: string
+ baseAddress:
+ type: string
+ enterprise:
+ type: string
+ required:
+ - valueString
+ spendAmount:
+ oneOf:
+ - type: string
+ - type: number
+ gasPrice:
+ type: number
+ hasUnvalidatedData:
+ type: boolean
+ payGoFee:
+ oneOf:
+ - type: string
+ - type: number
+ spendAmounts:
+ type: array
+ items:
+ type: object
+ additionalProperties: {}
+ type:
+ type: string
+ required:
+ - inputs
+ - minerFee
+ - outputs
+ - spendAmount
+ PendingApprovalType:
+ title: PendingApprovalType
+ type: string
+ enum:
+ - userChangeRequest
+ - transactionRequest
+ - transactionRequestFull
+ - policyRuleRequest
+ - updateApprovalsRequiredRequest
+ - updateEnterpriseRequest
+ - updateOrganizationRequest
+ - genericRequest
+ - enterpriseInviteRequest
+ CoinNonEmptyString:
+ title: CoinNonEmptyString
+ type: string
+ description: A cryptocurrency symbol or token ticker symbol
+ example: btc
+ minLength: 1
+ EnterprisesResponse:
+ title: EnterprisesResponse
+ type: object
+ properties:
+ enterprises:
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/Enterprise'
+ - $ref: '#/components/schemas/EnterpriseStub'
+ required:
+ - enterprises
+ EnterpriseStub:
+ title: Enterprise Stub
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/EnterpriseIdString'
+ name:
+ type: string
+ example: Small Company
+ minLength: 1
+ pricingPlan:
+ type: string
+ ethFeeAddress:
+ type: string
+ description: The eth fee address used to pay for network transaction fees of this enterprise
+ required:
+ - id
+ - name
+ EnterpriseIdString:
+ title: EnterpriseIdString
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ AggregatorSourceType:
+ title: AggregatorSourceType
+ type: string
+ enum:
+ - bitcoinBuilder
+ - ftx
+ - ftx-retail
+ - sofi
+ - bitcoinWell
+ VideoIdUserState:
+ title: VideoIdUserState
+ type: string
+ enum:
+ - awaitingApproval
+ - awaitingAcceptance
+ - pendingSchedule
+ - pendingInitialId
+ - underReview
+ - approved
+ - rejected
+ - archived
+ DistributedCustody:
+ title: DistributedCustody
+ type: object
+ properties:
+ signingBitgoOrg:
+ $ref: '#/components/schemas/BitgoOrg'
+ required:
+ - signingBitgoOrg
+ EnterpriseInternal:
+ title: EnterpriseInternal
+ type: object
+ properties:
+ migratedToNewPolicyService:
+ nullable: true
+ type: boolean
+ description: Whether the enterprise has been migrated to the new policy service
+ policiesLocked:
+ type: boolean
+ required:
+ - migratedToNewPolicyService
+ - policiesLocked
+ FlattenedPricingType:
+ title: FlattenedPricingType
+ allOf:
+ - type: object
+ properties:
+ name:
+ $ref: '#/components/schemas/PricingTypeName'
+ required:
+ - name
+ - $ref: '#/components/schemas/ActiveDateRange'
+ ActiveDateRange:
+ title: ActiveDateRange
+ type: object
+ properties:
+ startDate:
+ oneOf:
+ - type: string
+ format: date-time
+ title: ISO Date String
+ - type: string
+ format: date
+ title: Date String
+ description: ISO 8601 Datetime (example at https://datatracker.ietf.org/doc/html/rfc3339#section-5.8). If present, will use as the start date of a new auditable item. If not present, will use the current date to create a new auditable item. Start date is inclusive, i.e. we will start billing/functionality at this instant and afterwards.
+ startReason:
+ type: string
+ description: An optional note describing the reason the auditable item was added/created.
+ id:
+ type: string
+ description: Unique identifier for the date range.
+ endDate:
+ nullable: true
+ oneOf:
+ - type: string
+ format: date-time
+ title: ISO Date String
+ - type: string
+ format: date
+ title: Date String
+ description: ISO 8601 Datetime (example at https://datatracker.ietf.org/doc/html/rfc3339#section-5.8). If present, will use as the end date of a new auditable item. If not present, we will set the endDate to null, and we will assume an indefinite range. endDate is exclusive, i.e. we will end billing/functionality up to but not at this particular time.
+ endReason:
+ type: string
+ description: An optional note describing the reason the auditable item was ended.
+ required:
+ - startDate
+ - startReason
+ PricingTypeName:
+ title: PricingTypeName
+ type: string
+ enum:
+ - starter
+ - growth
+ - employee
+ AvailableUI:
+ title: AvailableUI
+ type: string
+ enum:
+ - bg23
+ - ''
+ OrganizationIdString:
+ title: OrganizationIdString
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ BusinessModel:
+ title: BusinessModel
+ type: string
+ enum:
+ - bitgoAsAService
+ AccountType:
+ title: AccountType
+ type: string
+ enum:
+ - individual
+ - entity
+ OnboardingAgreement:
+ title: OnboardingAgreement
+ type: object
+ description: For users doing self-service onboarding, they just need to click a checkbox to agree to the terms. we will track who & when that happened on a feature-by-feature basis.
+ properties:
+ user:
+ type: string
+ date:
+ type: string
+ format: date-time
+ title: ISO Date String
+ ip:
+ type: string
+ required:
+ - user
+ - date
+ LegalPersonNameIdentifierType:
+ title: LegalPersonNameIdentifierType
+ type: string
+ enum:
+ - LEGL
+ KycState:
+ title: KycState
+ type: string
+ enum:
+ - unverified
+ - approved
+ - rejected
+ - pending
+ GetEnterpriseResponse:
+ title: GetEnterpriseResponse
+ allOf:
+ - type: object
+ properties:
+ wallets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ tags:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ id:
+ type: string
+ required:
+ - name
+ - id
+ required:
+ - wallets
+ - tags
+ - $ref: '#/components/schemas/Enterprise'
+ InvalidOrganizationId:
+ title: Invalid Organization ID
+ allOf:
+ - type: object
+ properties:
+ name:
+ type: string
+ enum:
+ - InvalidOrganizationId
+ required:
+ - name
+ - $ref: '#/components/schemas/InvalidId'
+ EnterpriseUserRole:
+ title: EnterpriseUserRole
+ type: string
+ enum:
+ - admin
+ - member
+ Condition:
+ title: Condition
+ oneOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/AddressListCondition'
+ - $ref: '#/components/schemas/AdvancedListCondition'
+ - $ref: '#/components/schemas/LimitRuleCondition'
+ - $ref: '#/components/schemas/TxUsdThresholdRuleCondition'
+ - $ref: '#/components/schemas/WebhookRuleCondition'
+ AdvancedListCondition:
+ title: AdvancedListCondition
+ type: object
+ properties:
+ entries:
+ type: array
+ items:
+ type: object
+ properties:
+ item:
+ type: string
+ description: Either a valid address or a wallet or enterprise id. Must be unique in this whitelist.
+ metaData:
+ type: object
+ additionalProperties: {}
+ description: Any data about this entry that is not used to determine when to enforce the policy
+ type:
+ allOf:
+ - $ref: '#/components/schemas/AdvancedListType'
+ description: the kind of resource a list rule entry refers to
+ verificationState:
+ type: string
+ enum:
+ - unverified
+ - verified
+ required:
+ - item
+ - type
+ description: Entries specifying which addresses/ wallets/ enterprises are on the whitelist
+ required:
+ - entries
+ AddressListCondition:
+ title: AddressListCondition
+ type: object
+ properties:
+ addresses:
+ type: array
+ items:
+ type: string
+ metaData:
+ type: object
+ additionalProperties:
+ type: object
+ additionalProperties: {}
+ required:
+ - addresses
+ - metaData
+ GetTransactionRequestsResponse:
+ title: GetTransactionRequestsResponse
+ type: object
+ properties:
+ nextBatchPrevId:
+ type: string
+ description: When a result set is truncated, this field returns the id of the last object in the previous batch. To get the next batch of results, pass this value via the "prevId" query parameter.
+ format: uuid
+ txRequests:
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/TransactionRequestLite'
+ - $ref: '#/components/schemas/TransactionRequestFull'
+ required:
+ - txRequests
+ AccessTokenResponse:
+ title: AccessTokenResponse
+ type: object
+ properties:
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ isExtensible:
+ type: boolean
+ bitgoAdminPermissions:
+ type: array
+ items:
+ type: string
+ client:
+ type: string
+ created:
+ type: string
+ format: date-time
+ title: ISO Date String
+ enterprise:
+ type: string
+ expires:
+ type: string
+ format: date-time
+ title: ISO Date String
+ extensionAddress:
+ type: string
+ ip:
+ type: string
+ description: IP address of the client that requested this access token
+ example: 127.0.0.1
+ format: ipv4
+ ipRestrict:
+ type: array
+ items:
+ type: string
+ description: IP addresses of clients that are allowed to use this token
+ label:
+ type: string
+ origin:
+ type: string
+ description: BitGo environment that issued this token
+ example: test.bitgo.com
+ token:
+ type: string
+ scope:
+ type: array
+ example:
+ - crypto_compare
+ - user_manage
+ - openid
+ - profile
+ - wallet_create
+ - wallet_manage_all
+ - wallet_approve_all
+ - wallet_spend_all
+ - wallet_edit_all
+ - wallet_view_all
+ items:
+ type: string
+ description: Session permissions
+ unlock:
+ allOf:
+ - type: object
+ properties:
+ spendingLimits:
+ type: object
+ additionalProperties:
+ type: object
+ properties:
+ txCount:
+ type: number
+ description: The transaction count limit for the coin
+ txValue:
+ type: number
+ description: The transaction value limit for the coin
+ txValueLimit:
+ type: number
+ description: The maximum transaction value limit for the coin
+ allErc20TokensLimit:
+ $ref: '#/components/schemas/AllErc20TokenLimit'
+ - $ref: '#/components/schemas/Unlock'
+ user:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - id
+ - isExtensible
+ AllErc20TokenLimit:
+ title: AllErc20TokenLimit
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ description: Indicates if the limit is enabled for all ERC20 tokens
+ txCount:
+ type: number
+ description: The transaction count limit for all ERC20 tokens
+ txValue:
+ type: string
+ description: The transaction value limit for all ERC20 tokens
+ txValueLimitInSmallUnits:
+ type: string
+ description: The transaction value limit in small units for all ERC20 tokens
+ maxLimit:
+ type: boolean
+ description: Indicates if the maximum limit is enabled
+ required:
+ - enabled
+ - txCount
+ - txValue
+ OAuthAccessToken:
+ title: OAuthAccessToken
+ type: object
+ properties:
+ bitgoAdminPermissions:
+ type: array
+ items:
+ type: string
+ description: The BitGo admin permissions associated with the access token
+ client:
+ type: string
+ description: The client associated with the access token
+ created:
+ type: string
+ description: The creation date of the access token
+ format: date-time
+ title: ISO Date String
+ enterprise:
+ type: string
+ description: The enterprise associated with the access token
+ expires:
+ type: string
+ description: The expiration date of the access token
+ format: date-time
+ title: ISO Date String
+ extensionAddress:
+ type: string
+ description: The extension address associated with the access token
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ internal:
+ type: boolean
+ ip:
+ type: string
+ description: IP address of the client that requested this access token
+ example: 127.0.0.1
+ format: ipv4
+ ipRestrict:
+ type: array
+ items:
+ type: string
+ description: IP addresses of clients that are allowed to use this token
+ isExtensible:
+ type: boolean
+ description: Indicates if the access token is extensible
+ label:
+ type: string
+ description: The label associated with the access token
+ organizations:
+ type: array
+ items:
+ type: string
+ description: The organizations associated with the access token
+ origin:
+ type: string
+ description: BitGo environment that issued this token
+ example: test.bitgo.com
+ token:
+ type: string
+ description: The token value
+ scope:
+ type: array
+ example:
+ - crypto_compare
+ - user_manage
+ - openid
+ - profile
+ - wallet_create
+ - wallet_manage_all
+ - wallet_approve_all
+ - wallet_spend_all
+ - wallet_edit_all
+ - wallet_view_all
+ items:
+ type: string
+ description: Session permissions
+ unlock:
+ allOf:
+ - type: object
+ properties:
+ spendingLimits:
+ type: object
+ additionalProperties:
+ $ref: '#/components/schemas/PerCoinLimit'
+ - $ref: '#/components/schemas/Unlock'
+ description: The unlock object, returned if this session is currently unlocked
+ user:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - id
+ - isExtensible
+ PerCoinLimit:
+ title: PerCoinLimit
+ type: object
+ properties:
+ txCount:
+ type: number
+ description: The transaction count limit for the coin
+ txValue:
+ type: number
+ description: The transaction value limit for the coin
+ txValueLimit:
+ type: number
+ description: The maximum transaction value limit for the coin
+ V1ErrorResponse:
+ title: V1ErrorResponse
+ type: object
+ properties:
+ errorName:
+ type: string
+ error:
+ type: string
+ required:
+ - errorName
+ - error
+ V1AdminPostOnboardResponse:
+ title: V1AdminPostOnboardResponse
+ allOf:
+ - $ref: '#/components/schemas/V1ListingEntryWithListingResponse'
+ description: Codec for a admin post onboard
+ V1ListingEntryWithListingResponse:
+ title: V1ListingEntryWithListingResponse
+ allOf:
+ - type: object
+ properties:
+ listing:
+ $ref: '#/components/schemas/V1ListingResponse'
+ required:
+ - listing
+ - $ref: '#/components/schemas/V1ListingEntryResponse'
+ V1ListingEntryResponse:
+ title: V1ListingEntryResponse
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ walletId:
+ type: string
+ minLength: 1
+ coin:
+ type: string
+ minLength: 1
+ type:
+ $ref: '#/components/schemas/EntryType'
+ description:
+ type: string
+ minLength: 1
+ discoverable:
+ type: boolean
+ featured:
+ type: boolean
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - id
+ - walletId
+ - coin
+ - type
+ - discoverable
+ - featured
+ - createdAt
+ - updatedAt
+ V1ListingResponse:
+ title: V1ListingResponse
+ type: object
+ description: codec for listing http response
+ properties:
+ id:
+ type: string
+ title: uuid
+ name:
+ type: string
+ minLength: 1
+ description:
+ type: string
+ minLength: 1
+ editable:
+ type: boolean
+ description: True, if the name is editable.
+ required:
+ - id
+ - name
+ - editable
+ EntryType:
+ title: EntryType
+ type: string
+ enum:
+ - GO_ACCOUNT
+ description: codec for entry type
+ V1GlobalListingWithListingEntries:
+ title: V1GlobalListingWithListingEntries
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/V1GlobalListingResponse'
+ - $ref: '#/components/schemas/V1ListingEntryListResponse'
+ V1GlobalListingResponse:
+ title: V1GlobalListingResponse
+ type: object
+ description: codec for global listing http response
+ properties:
+ id:
+ type: string
+ title: uuid
+ enterpriseId:
+ type: string
+ minLength: 1
+ description:
+ type: string
+ minLength: 1
+ name:
+ type: string
+ minLength: 1
+ owner:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - id
+ - enterpriseId
+ - name
+ - owner
+ - createdAt
+ - updatedAt
+ V1ListingEntryListResponse:
+ title: V1ListingEntryListResponse
+ type: object
+ description: codec for listing entry list http response
+ properties:
+ listingEntries:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ walletId:
+ type: string
+ minLength: 1
+ coin:
+ type: string
+ minLength: 1
+ type:
+ $ref: '#/components/schemas/EntryType'
+ description:
+ type: string
+ minLength: 1
+ discoverable:
+ type: boolean
+ featured:
+ type: boolean
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - id
+ - walletId
+ - coin
+ - type
+ - discoverable
+ - featured
+ - createdAt
+ - updatedAt
+ required:
+ - listingEntries
+ V1ConnectionWithOwnerAndTargetListResponse:
+ title: V1ConnectionWithOwnerAndTargetListResponse
+ type: object
+ properties:
+ connections:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ ownerListingEntry:
+ $ref: '#/components/schemas/V1ListingEntryWithListingResponse'
+ targetListingEntry:
+ $ref: '#/components/schemas/V1ListingEntryWithListingResponse'
+ required:
+ - ownerListingEntry
+ - targetListingEntry
+ - $ref: '#/components/schemas/V1ConnectionResponse'
+ required:
+ - connections
+ V1ConnectionResponse:
+ title: V1ConnectionResponse
+ type: object
+ description: codec for connection http response
+ properties:
+ id:
+ type: string
+ title: uuid
+ type:
+ $ref: '#/components/schemas/ConnectionType'
+ status:
+ $ref: '#/components/schemas/ConnectionStatus'
+ label:
+ type: string
+ minLength: 1
+ description:
+ type: string
+ minLength: 1
+ createdBy:
+ type: string
+ minLength: 1
+ updatedBy:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - id
+ - type
+ - status
+ - label
+ - createdBy
+ - updatedBy
+ - createdAt
+ - updatedAt
+ ConnectionType:
+ title: ConnectionType
+ type: string
+ enum:
+ - DVP
+ - WHITELIST
+ description: codec for valid connection statuses
+ ConnectionStatus:
+ title: ConnectionStatus
+ type: string
+ enum:
+ - PENDING_DEACTIVATION
+ - PENDING_ACTIVATION
+ - ACTIVE
+ - INACTIVE
+ description: codec for valid connection statuses
+ V1DirectoryListingEntryWithConnectionsListResponse:
+ title: V1DirectoryListingEntryWithConnectionsListResponse
+ type: object
+ properties:
+ listingEntries:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/V1ListingEntryWithListingResponse'
+ - $ref: '#/components/schemas/V1ConnectionWithOwnerAndTargetListResponse'
+ required:
+ - listingEntries
+ V1ListingEntryWithConnectionsListResponse:
+ title: V1ListingEntryWithConnectionsListResponse
+ type: object
+ properties:
+ listingEntries:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/V1ListingEntryWithListingResponse'
+ - $ref: '#/components/schemas/V1ConnectionWithOwnerListResponse'
+ required:
+ - listingEntries
+ V1ConnectionWithOwnerListResponse:
+ title: V1ConnectionWithOwnerListResponse
+ type: object
+ properties:
+ connections:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ ownerListingEntry:
+ $ref: '#/components/schemas/V1ListingEntryWithListingResponse'
+ required:
+ - ownerListingEntry
+ - $ref: '#/components/schemas/V1ConnectionResponse'
+ required:
+ - connections
+ V1ListingUpdateResponse:
+ title: V1ListingUpdateResponse
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ enterpriseId:
+ type: string
+ minLength: 1
+ description:
+ type: string
+ minLength: 1
+ name:
+ type: string
+ minLength: 1
+ owner:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ globalListing:
+ type: object
+ description: codec for global listing http response
+ properties:
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ description:
+ type: string
+ minLength: 1
+ enterpriseId:
+ type: string
+ minLength: 1
+ id:
+ type: string
+ title: uuid
+ name:
+ type: string
+ minLength: 1
+ owner:
+ type: string
+ minLength: 1
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - createdAt
+ - enterpriseId
+ - id
+ - name
+ - owner
+ - updatedAt
+ required:
+ - id
+ - name
+ - owner
+ - createdAt
+ - updatedAt
+ V1ConnectionListResponse:
+ title: V1ConnectionListResponse
+ type: object
+ description: codec for connection list http response
+ properties:
+ connections:
+ type: array
+ items:
+ type: object
+ description: codec for connection http response
+ properties:
+ id:
+ type: string
+ title: uuid
+ type:
+ $ref: '#/components/schemas/ConnectionType'
+ status:
+ $ref: '#/components/schemas/ConnectionStatus'
+ label:
+ type: string
+ minLength: 1
+ description:
+ type: string
+ minLength: 1
+ createdBy:
+ type: string
+ minLength: 1
+ updatedBy:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - id
+ - type
+ - status
+ - label
+ - createdBy
+ - updatedBy
+ - createdAt
+ - updatedAt
+ required:
+ - connections
+ UpdatableConnectionStatus:
+ title: UpdatableConnectionStatus
+ type: string
+ enum:
+ - PENDING_DEACTIVATION
+ V1ErrorPayload:
+ title: V1ErrorPayload
+ type: object
+ properties:
+ error:
+ type: string
+ required:
+ - error
+ OutboundTrade:
+ title: OutboundTrade
+ allOf:
+ - type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ partnerId:
+ type: string
+ title: uuid
+ counterpartyConnectionId:
+ type: string
+ title: uuid
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - id
+ - partnerId
+ - createdAt
+ - updatedAt
+ - $ref: '#/components/schemas/TradeBaseReq'
+ - $ref: '#/components/schemas/TradeBaseQuoteOutbound'
+ TradeBaseReq:
+ title: TradeBaseReq
+ type: object
+ properties:
+ externalId:
+ type: string
+ minLength: 1
+ externalOrderId:
+ type: string
+ minLength: 1
+ partyConnectionId:
+ type: string
+ title: uuid
+ tradedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - externalId
+ - externalOrderId
+ - partyConnectionId
+ - tradedAt
+ TradeBaseQuoteOutbound:
+ title: TradeBaseQuoteOutbound
+ oneOf:
+ - type: object
+ properties:
+ base:
+ $ref: '#/components/schemas/TradeCurrencyPositiveOutbound'
+ quote:
+ $ref: '#/components/schemas/TradeCurrencyNegativeOutbound'
+ required:
+ - base
+ - quote
+ - type: object
+ properties:
+ base:
+ $ref: '#/components/schemas/TradeCurrencyNegativeOutbound'
+ quote:
+ $ref: '#/components/schemas/TradeCurrencyPositiveOutbound'
+ required:
+ - base
+ - quote
+ TradeCurrencyPositiveOutbound:
+ title: TradeCurrencyPositiveOutbound
+ type: object
+ properties:
+ currency:
+ type: string
+ quantity:
+ type: string
+ required:
+ - currency
+ - quantity
+ TradeCurrencyNegativeOutbound:
+ title: TradeCurrencyNegativeOutbound
+ type: object
+ properties:
+ currency:
+ type: string
+ quantity:
+ type: string
+ required:
+ - currency
+ - quantity
+ TradeHistoryResponse:
+ title: TradeHistoryResponse
+ allOf:
+ - type: object
+ properties:
+ tradeId:
+ type: string
+ title: uuid
+ oldInTradeCorrectionId:
+ type: string
+ title: uuid
+ newInTradeCorrectionId:
+ type: string
+ title: uuid
+ tradeCreatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ tradeUpdatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - tradeId
+ - tradeCreatedAt
+ - tradeUpdatedAt
+ - $ref: '#/components/schemas/OutboundTrade'
+ InboundTrade:
+ title: InboundTrade
+ allOf:
+ - type: object
+ properties:
+ counterpartyConnectionId:
+ type: string
+ title: uuid
+ - $ref: '#/components/schemas/TradeBaseReq'
+ - $ref: '#/components/schemas/TradeBaseQuoteInbound'
+ TradeBaseQuoteInbound:
+ title: TradeBaseQuoteInbound
+ oneOf:
+ - type: object
+ properties:
+ base:
+ $ref: '#/components/schemas/TradeCurrencyPositiveInbound'
+ quote:
+ $ref: '#/components/schemas/TradeCurrencyNegativeInbound'
+ required:
+ - base
+ - quote
+ - type: object
+ properties:
+ base:
+ $ref: '#/components/schemas/TradeCurrencyNegativeInbound'
+ quote:
+ $ref: '#/components/schemas/TradeCurrencyPositiveInbound'
+ required:
+ - base
+ - quote
+ TradeCurrencyPositiveInbound:
+ title: TradeCurrencyPositiveInbound
+ type: object
+ properties:
+ currency:
+ $ref: '#/components/schemas/BNSupportedCurrency'
+ quantity:
+ type: string
+ required:
+ - currency
+ - quantity
+ TradeCurrencyNegativeInbound:
+ title: TradeCurrencyNegativeInbound
+ type: object
+ properties:
+ currency:
+ $ref: '#/components/schemas/BNSupportedCurrency'
+ quantity:
+ type: string
+ required:
+ - currency
+ - quantity
+ BNSupportedCurrency:
+ title: BNSupportedCurrency
+ type: string
+ V1SupportedCurrencies:
+ title: V1SupportedCurrencies
+ type: object
+ additionalProperties:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/BNMetadata'
+ BNMetadata:
+ title: BNMetadata
+ type: object
+ properties:
+ partnerNames:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ required:
+ - partnerNames
+ V1EnterpriseSupportedCurrenciesResponse:
+ title: V1EnterpriseSupportedCurrenciesResponse
+ type: object
+ properties:
+ supportedCurrencies:
+ $ref: '#/components/schemas/V1SupportedCurrencies'
+ domain:
+ type: string
+ minLength: 1
+ required:
+ - supportedCurrencies
+ - domain
+ NonNegativeBigAmount:
+ title: NonNegativeBigAmount
+ type: string
+ SettlementTransferStatus:
+ title: SettlementTransferStatus
+ type: string
+ enum:
+ - pending
+ - pending_onchain
+ - onchain_initiated
+ - onchain_failed
+ - completed
+ - failed
+ - rejected
+ V1ClientGetSettlementTransfersOkPayload:
+ title: V1ClientGetSettlementTransfersOkPayload
+ type: object
+ properties:
+ settlementTransfers:
+ $ref: '#/components/schemas/MaskedV1SettlementTransfersOutput'
+ required:
+ - settlementTransfers
+ MaskedV1SettlementTransfersOutput:
+ title: MaskedV1SettlementTransfersOutput
+ type: array
+ items:
+ type: object
+ properties:
+ sourceTradingAccountId:
+ type: string
+ minLength: 1
+ sourceNetworkAccountId:
+ type: string
+ title: uuid
+ destinationTradingAccountId:
+ type: string
+ minLength: 1
+ destinationNetworkAccountId:
+ type: string
+ title: uuid
+ currency:
+ type: string
+ minLength: 1
+ settlementId:
+ type: string
+ title: uuid
+ quantity:
+ $ref: '#/components/schemas/NonNegativeBigAmount'
+ txIds:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ status:
+ $ref: '#/components/schemas/SettlementTransferStatus'
+ usdValue:
+ nullable: true
+ oneOf:
+ - type: string
+ format: number
+ - type: number
+ id:
+ type: string
+ title: uuid
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ settlementStatus:
+ $ref: '#/components/schemas/SettlementStatuses'
+ settlementNotes:
+ type: string
+ minLength: 1
+ sourceClientName:
+ type: string
+ minLength: 1
+ destinationClientName:
+ type: string
+ minLength: 1
+ sourceConnectionName:
+ type: string
+ minLength: 1
+ destinationConnectionName:
+ type: string
+ minLength: 1
+ required:
+ - currency
+ - settlementId
+ - quantity
+ - txIds
+ - status
+ - usdValue
+ - id
+ - createdAt
+ - updatedAt
+ - settlementStatus
+ SettlementStatuses:
+ title: SettlementStatuses
+ type: string
+ enum:
+ - failed
+ - completed
+ - pending
+ - rejected
+ V1PartnersOutput:
+ title: V1PartnersOutput
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ enterpriseId:
+ type: string
+ minLength: 1
+ trustOrg:
+ type: string
+ institutionId:
+ type: string
+ institutionIdentifier:
+ type: string
+ name:
+ type: string
+ minLength: 1
+ connectionKeySchema:
+ $ref: '#/components/schemas/PartnerConnectionKeySchema'
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ clientId:
+ type: string
+ title: uuid
+ broker:
+ type: boolean
+ active:
+ type: boolean
+ settlementTransactionRouteId:
+ type: string
+ publicKey:
+ type: string
+ required:
+ - id
+ - enterpriseId
+ - trustOrg
+ - name
+ - connectionKeySchema
+ - createdAt
+ - updatedAt
+ - clientId
+ - broker
+ - active
+ PartnerConnectionKeySchema:
+ title: PartnerConnectionKeySchema
+ type: string
+ enum:
+ - token
+ - tokenAndSignature
+ - apiKeyAndSecret
+ - clearloop
+ V1PartnerIncompleteSettlementOrErrorPayload:
+ title: V1PartnerIncompleteSettlementOrErrorPayload
+ oneOf:
+ - $ref: '#/components/schemas/V1PartnerSettlementIncompletePayload'
+ - $ref: '#/components/schemas/V1ErrorPayload'
+ V1PartnerSettlementIncompletePayload:
+ title: V1PartnerSettlementIncompletePayload
+ type: object
+ properties:
+ settlement:
+ oneOf:
+ - $ref: '#/components/schemas/V1PendingSettlementOutput'
+ - $ref: '#/components/schemas/V1FailedSettlementOutput'
+ - $ref: '#/components/schemas/V1RejectedSettlementOutput'
+ required:
+ - settlement
+ V1PendingSettlementOutput:
+ title: V1PendingSettlementOutput
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ partnerId:
+ type: string
+ title: uuid
+ externalId:
+ type: string
+ minLength: 1
+ status:
+ type: string
+ enum:
+ - pending
+ settlementType:
+ $ref: '#/components/schemas/SettlementTypes'
+ reconciled:
+ type: boolean
+ initiatedBy:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ rtId:
+ type: string
+ lossSLAAlertSent:
+ type: boolean
+ gainSLAAlertSent:
+ type: boolean
+ required:
+ - id
+ - partnerId
+ - externalId
+ - status
+ - settlementType
+ - reconciled
+ - initiatedBy
+ - createdAt
+ - updatedAt
+ - lossSLAAlertSent
+ - gainSLAAlertSent
+ V1FailedSettlementOutput:
+ title: V1FailedSettlementOutput
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ partnerId:
+ type: string
+ title: uuid
+ externalId:
+ type: string
+ minLength: 1
+ reason:
+ type: string
+ minLength: 1
+ status:
+ type: string
+ enum:
+ - failed
+ settlementType:
+ $ref: '#/components/schemas/SettlementTypes'
+ reconciled:
+ type: boolean
+ initiatedBy:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ rtId:
+ type: string
+ lossSLAAlertSent:
+ type: boolean
+ gainSLAAlertSent:
+ type: boolean
+ required:
+ - id
+ - partnerId
+ - externalId
+ - reason
+ - status
+ - settlementType
+ - reconciled
+ - initiatedBy
+ - createdAt
+ - updatedAt
+ - lossSLAAlertSent
+ - gainSLAAlertSent
+ V1RejectedSettlementOutput:
+ title: V1RejectedSettlementOutput
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ partnerId:
+ type: string
+ title: uuid
+ externalId:
+ type: string
+ minLength: 1
+ reason:
+ type: string
+ minLength: 1
+ status:
+ type: string
+ enum:
+ - rejected
+ settlementType:
+ $ref: '#/components/schemas/SettlementTypes'
+ reconciled:
+ type: boolean
+ initiatedBy:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ finalizedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ rtId:
+ type: string
+ lossSLAAlertSent:
+ type: boolean
+ gainSLAAlertSent:
+ type: boolean
+ required:
+ - id
+ - partnerId
+ - externalId
+ - reason
+ - status
+ - settlementType
+ - reconciled
+ - initiatedBy
+ - createdAt
+ - updatedAt
+ - finalizedAt
+ - lossSLAAlertSent
+ - gainSLAAlertSent
+ SettlementTypes:
+ title: SettlementTypes
+ type: string
+ enum:
+ - onchain
+ - offchain
+ V1PartnerSettlementOkPayload:
+ title: V1PartnerSettlementOkPayload
+ type: object
+ properties:
+ settlement:
+ $ref: '#/components/schemas/V1CompleteSettlementOutput'
+ required:
+ - settlement
+ V1CompleteSettlementOutput:
+ title: V1CompleteSettlementOutput
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ partnerId:
+ type: string
+ title: uuid
+ externalId:
+ type: string
+ minLength: 1
+ status:
+ type: string
+ enum:
+ - completed
+ settlementType:
+ $ref: '#/components/schemas/SettlementTypes'
+ reconciled:
+ type: boolean
+ initiatedBy:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ finalizedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ rtId:
+ type: string
+ lossSLAAlertSent:
+ type: boolean
+ gainSLAAlertSent:
+ type: boolean
+ required:
+ - id
+ - partnerId
+ - externalId
+ - status
+ - settlementType
+ - reconciled
+ - initiatedBy
+ - createdAt
+ - updatedAt
+ - finalizedAt
+ - lossSLAAlertSent
+ - gainSLAAlertSent
+ SettlementAmountsRecord:
+ title: SettlementAmountsRecord
+ oneOf:
+ - $ref: '#/components/schemas/PartySettlementAmountsRecord'
+ - $ref: '#/components/schemas/CounterpartyPartySettlementAmountsRecord'
+ PartySettlementAmountsRecord:
+ title: PartySettlementAmountsRecord
+ type: object
+ additionalProperties:
+ type: object
+ additionalProperties:
+ type: string
+ description: Record>
+ description: Record> For exchange-style settlements, where the exchange is always the source and client owned connections are the destination.
+ CounterpartyPartySettlementAmountsRecord:
+ title: CounterpartyPartySettlementAmountsRecord
+ type: object
+ additionalProperties:
+ type: object
+ additionalProperties:
+ type: object
+ additionalProperties:
+ type: string
+ description: Record>
+ description: Record> For exchange-style settlements, where the exchange is always the source and client owned connections are the destination.
+ description: Record>> For broker-style settlements, where the source and destination are both client owned connections.
+ V1PendingSettlementPayload:
+ title: V1PendingSettlementPayload
+ type: object
+ properties:
+ settlement:
+ $ref: '#/components/schemas/V1PendingSettlementOutput'
+ required:
+ - settlement
+ V1SettlementPayload:
+ title: V1SettlementPayload
+ type: object
+ properties:
+ settlement:
+ $ref: '#/components/schemas/V1SettlementOutput'
+ required:
+ - settlement
+ V1SettlementOutput:
+ title: V1SettlementOutput
+ oneOf:
+ - $ref: '#/components/schemas/V1PendingSettlementOutput'
+ - $ref: '#/components/schemas/V1FailedSettlementOutput'
+ - $ref: '#/components/schemas/V1CompleteSettlementOutput'
+ - $ref: '#/components/schemas/V1RejectedSettlementOutput'
+ V1ListSettlementsOkPayload:
+ title: V1ListSettlementsOkPayload
+ type: object
+ properties:
+ settlements:
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/V1PendingSettlementOutput'
+ - $ref: '#/components/schemas/V1FailedSettlementOutput'
+ - $ref: '#/components/schemas/V1CompleteSettlementOutput'
+ - $ref: '#/components/schemas/V1RejectedSettlementOutput'
+ required:
+ - settlements
+ V1GetSettlementOkPayload:
+ title: V1GetSettlementOkPayload
+ type: object
+ properties:
+ settlement:
+ $ref: '#/components/schemas/V1SettlementOutput'
+ settlementTransfers:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ currency:
+ type: string
+ minLength: 1
+ settlementId:
+ type: string
+ title: uuid
+ quantity:
+ $ref: '#/components/schemas/NonNegativeBigAmount'
+ txIds:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ status:
+ $ref: '#/components/schemas/SettlementTransferStatus'
+ sourceTradingAccountId:
+ type: string
+ minLength: 1
+ sourceNetworkAccountId:
+ type: string
+ title: uuid
+ destinationTradingAccountId:
+ type: string
+ minLength: 1
+ destinationNetworkAccountId:
+ type: string
+ title: uuid
+ required:
+ - id
+ - createdAt
+ - updatedAt
+ - currency
+ - settlementId
+ - quantity
+ - txIds
+ - status
+ - sourceTradingAccountId
+ - destinationTradingAccountId
+ - destinationNetworkAccountId
+ required:
+ - settlement
+ - settlementTransfers
+ DetailsFromSettlementTransfers:
+ title: DetailsFromSettlementTransfers
+ type: object
+ properties:
+ settlementTransfers:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ usdValue:
+ type: string
+ format: number
+ required:
+ - usdValue
+ - $ref: '#/components/schemas/V1SettlementTransferOutput'
+ sendsInUsd:
+ type: string
+ receivesInUsd:
+ type: string
+ limitBreached:
+ type: boolean
+ payloadForLossSettlement:
+ type: string
+ format: json
+ payloadForGainSettlement:
+ type: string
+ format: json
+ payloadForLossReversal:
+ type: string
+ format: json
+ onChainWithdrawRequired:
+ type: boolean
+ required:
+ - settlementTransfers
+ - sendsInUsd
+ - receivesInUsd
+ - limitBreached
+ - onChainWithdrawRequired
+ V1SettlementTransferOutput:
+ title: V1SettlementTransferOutput
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ currency:
+ type: string
+ minLength: 1
+ settlementId:
+ type: string
+ title: uuid
+ quantity:
+ $ref: '#/components/schemas/NonNegativeBigAmount'
+ txIds:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ status:
+ $ref: '#/components/schemas/SettlementTransferStatus'
+ sourceTradingAccountId:
+ type: string
+ minLength: 1
+ sourceNetworkAccountId:
+ type: string
+ title: uuid
+ destinationTradingAccountId:
+ type: string
+ minLength: 1
+ destinationNetworkAccountId:
+ type: string
+ title: uuid
+ required:
+ - id
+ - createdAt
+ - updatedAt
+ - currency
+ - settlementId
+ - quantity
+ - txIds
+ - status
+ - sourceTradingAccountId
+ - destinationTradingAccountId
+ - destinationNetworkAccountId
+ SettlementDetailsResp:
+ title: SettlementDetailsResp
+ allOf:
+ - type: object
+ properties:
+ settlement:
+ $ref: '#/components/schemas/V1SettlementOutput'
+ settlementActivity:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/EventBase'
+ - $ref: '#/components/schemas/SettlementEventNew'
+ onChainWithdrawals:
+ $ref: '#/components/schemas/ExternalWithdrawDetails'
+ required:
+ - settlement
+ - settlementActivity
+ - onChainWithdrawals
+ - $ref: '#/components/schemas/DetailsFromSettlementTransfers'
+ - $ref: '#/components/schemas/DetailsFromExtDeposits'
+ EventBase:
+ title: EventBase
+ allOf:
+ - type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ createdAt:
+ oneOf:
+ - type: string
+ - {}
+ required:
+ - id
+ - createdAt
+ - $ref: '#/components/schemas/EventNewBase'
+ SettlementEventNew:
+ title: SettlementEventNew
+ allOf:
+ - type: object
+ properties:
+ entityType:
+ type: string
+ enum:
+ - settlement
+ event:
+ $ref: '#/components/schemas/SettlementEventType'
+ required:
+ - entityType
+ - event
+ - $ref: '#/components/schemas/EventNewBase'
+ ExternalWithdrawDetails:
+ title: ExternalWithdrawDetails
+ type: object
+ additionalProperties:
+ type: object
+ properties:
+ amountRequired:
+ type: string
+ format: number
+ amountDetected:
+ type: string
+ format: number
+ amountRemaining:
+ type: string
+ format: number
+ address:
+ type: string
+ transferIds:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ isDustAmount:
+ type: boolean
+ required:
+ - amountRequired
+ - amountDetected
+ - amountRemaining
+ - transferIds
+ - isDustAmount
+ DetailsFromExtDeposits:
+ title: DetailsFromExtDeposits
+ type: object
+ properties:
+ depositInfo:
+ $ref: '#/components/schemas/ExtDepositInfo'
+ rejectable:
+ type: boolean
+ required:
+ - depositInfo
+ - rejectable
+ ExtDepositInfo:
+ title: ExtDepositInfo
+ type: object
+ additionalProperties:
+ type: object
+ properties:
+ amountRequired:
+ type: string
+ format: number
+ amountDetected:
+ type: string
+ format: number
+ amountRemaining:
+ type: string
+ format: number
+ transferIds:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ onChainTxIds:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ isDustAmount:
+ type: boolean
+ required:
+ - amountRequired
+ - amountDetected
+ - amountRemaining
+ - transferIds
+ - onChainTxIds
+ - isDustAmount
+ EventNewBase:
+ title: EventNewBase
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ entityId:
+ type: string
+ title: uuid
+ userId:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ createdAt:
+ oneOf:
+ - type: string
+ - {}
+ required:
+ - entityId
+ - userId
+ SettlementEventType:
+ title: SettlementEventType
+ type: string
+ enum:
+ - INITIATED
+ - FAILED
+ - REJECTED
+ - COMPLETED
+ - CLIENT_LOSS_SETTLEMENT_COMPLETED
+ - CLIENT_LOSS_SETTLEMENT_FAILED
+ - GAIN_DEPOSITS_INITIATED
+ - CLIENT_GAIN_SETTLEMENT_FAILED
+ - COMMENT
+ V1ClientGetSettlementOkPayload:
+ title: V1ClientGetSettlementOkPayload
+ type: object
+ properties:
+ settlement:
+ $ref: '#/components/schemas/V1SettlementOutput'
+ settlementTransfers:
+ $ref: '#/components/schemas/MaskedV1SettlementTransfersOutput'
+ required:
+ - settlement
+ - settlementTransfers
+ V1PartnersPostOkPayload:
+ title: V1PartnersPostOkPayload
+ type: object
+ properties:
+ partner:
+ $ref: '#/components/schemas/V1PartnersOutput'
+ required:
+ - partner
+ V1PartnersGetOkPayload:
+ title: V1PartnersGetOkPayload
+ type: object
+ properties:
+ partners:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ name:
+ type: string
+ minLength: 1
+ institutionId:
+ type: string
+ institutionIdentifier:
+ type: string
+ connectionKeySchema:
+ $ref: '#/components/schemas/PartnerConnectionKeySchema'
+ active:
+ type: boolean
+ settlementTransactionRouteId:
+ type: string
+ publicKey:
+ type: string
+ enterpriseId:
+ type: string
+ stablePartner:
+ type: boolean
+ required:
+ - id
+ - name
+ - connectionKeySchema
+ - active
+ - stablePartner
+ required:
+ - partners
+ V1ExtDepositsPayload:
+ title: V1ExtDepositsPayload
+ type: object
+ properties:
+ deposits:
+ $ref: '#/components/schemas/ExtDepositsResp'
+ required:
+ - deposits
+ ExtDepositsResp:
+ title: ExtDepositsResp
+ type: array
+ items:
+ type: object
+ properties:
+ onChainTxId:
+ type: string
+ minLength: 1
+ transferId:
+ type: string
+ currency:
+ type: string
+ minLength: 1
+ quantity:
+ type: number
+ id:
+ type: string
+ title: uuid
+ settlementId:
+ type: string
+ title: uuid
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ externalSettlementId:
+ type: string
+ minLength: 1
+ required:
+ - onChainTxId
+ - currency
+ - id
+ - settlementId
+ - createdAt
+ - updatedAt
+ - externalSettlementId
+ V1ReservedDeallocationOrErrorPayload:
+ title: V1ReservedDeallocationOrErrorPayload
+ oneOf:
+ - $ref: '#/components/schemas/V1ErrorPayload'
+ - $ref: '#/components/schemas/V1ReservedRetriableDeallocationOutput'
+ V1ReservedRetriableDeallocationOutput:
+ title: V1ReservedRetriableDeallocationOutput
+ type: object
+ properties:
+ deallocation:
+ $ref: '#/components/schemas/V1ReservedRetriableAllocationOutput'
+ required:
+ - deallocation
+ V1ReservedRetriableAllocationOutput:
+ title: V1ReservedRetriableAllocationOutput
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ amount:
+ $ref: '#/components/schemas/PositiveAllocationAmount'
+ connectionId:
+ type: string
+ title: uuid
+ clientExternalId:
+ type: string
+ minLength: 1
+ partnerExternalId:
+ type: string
+ minLength: 1
+ initiatedBy:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ retriable:
+ type: boolean
+ enum:
+ - true
+ reason:
+ type: string
+ minLength: 1
+ status:
+ type: string
+ enum:
+ - reserved
+ required:
+ - id
+ - amount
+ - connectionId
+ - clientExternalId
+ - initiatedBy
+ - createdAt
+ - updatedAt
+ - retriable
+ - reason
+ - status
+ PositiveAllocationAmount:
+ title: PositiveAllocationAmount
+ oneOf:
+ - $ref: '#/components/schemas/PositiveCurrencyAmount'
+ - $ref: '#/components/schemas/PositiveBigNumberCurrencyAmount'
+ PositiveCurrencyAmount:
+ title: PositiveCurrencyAmount
+ type: object
+ properties:
+ currency:
+ type: string
+ minLength: 1
+ quantity:
+ type: string
+ required:
+ - currency
+ - quantity
+ PositiveBigNumberCurrencyAmount:
+ title: PositiveBigNumberCurrencyAmount
+ type: object
+ properties:
+ currency:
+ type: string
+ minLength: 1
+ quantity:
+ type: string
+ required:
+ - currency
+ - quantity
+ V1DeallocationReleasedWithErrorPostPayload:
+ title: V1DeallocationReleasedWithErrorPostPayload
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/V1DeallocationReleasedPayload'
+ - $ref: '#/components/schemas/V1ErrorPayload'
+ V1DeallocationReleasedPayload:
+ title: V1DeallocationReleasedPayload
+ type: object
+ properties:
+ deallocation:
+ $ref: '#/components/schemas/V1ReleasedAllocation'
+ required:
+ - deallocation
+ V1ReleasedAllocation:
+ title: V1ReleasedAllocation
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ amount:
+ $ref: '#/components/schemas/PositiveAllocationAmount'
+ connectionId:
+ type: string
+ title: uuid
+ clientExternalId:
+ type: string
+ minLength: 1
+ partnerExternalId:
+ type: string
+ minLength: 1
+ initiatedBy:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ retriable:
+ type: boolean
+ enum:
+ - false
+ status:
+ type: string
+ enum:
+ - released
+ reason:
+ type: string
+ minLength: 1
+ required:
+ - id
+ - amount
+ - connectionId
+ - clientExternalId
+ - initiatedBy
+ - createdAt
+ - updatedAt
+ - retriable
+ - status
+ - reason
+ V1DeallocationClearedPostPayload:
+ title: V1DeallocationClearedPostPayload
+ type: object
+ properties:
+ deallocation:
+ $ref: '#/components/schemas/V1ClearedAllocation'
+ required:
+ - deallocation
+ V1ReservedDeallocationsPostPayload:
+ title: V1ReservedDeallocationsPostPayload
+ type: object
+ properties:
+ deallocation:
+ $ref: '#/components/schemas/V1ReservedAllocationOutput'
+ required:
+ - deallocation
+ V1ReservedAllocationOutput:
+ title: V1ReservedAllocationOutput
+ oneOf:
+ - $ref: '#/components/schemas/V1ReservedRetriableAllocationOutput'
+ - $ref: '#/components/schemas/V1ReservedNonRetriableAllocationOutput'
+ V1ReservedNonRetriableAllocationOutput:
+ title: V1ReservedNonRetriableAllocationOutput
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ amount:
+ $ref: '#/components/schemas/PositiveAllocationAmount'
+ connectionId:
+ type: string
+ title: uuid
+ clientExternalId:
+ type: string
+ minLength: 1
+ partnerExternalId:
+ type: string
+ minLength: 1
+ initiatedBy:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ retriable:
+ type: boolean
+ enum:
+ - false
+ reason:
+ type: string
+ minLength: 1
+ status:
+ type: string
+ enum:
+ - reserved
+ required:
+ - id
+ - amount
+ - connectionId
+ - clientExternalId
+ - initiatedBy
+ - createdAt
+ - updatedAt
+ - retriable
+ - reason
+ - status
+ V1ClearedAllocation:
+ title: V1ClearedAllocation
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ amount:
+ $ref: '#/components/schemas/PositiveAllocationAmount'
+ connectionId:
+ type: string
+ title: uuid
+ clientExternalId:
+ type: string
+ minLength: 1
+ partnerExternalId:
+ type: string
+ minLength: 1
+ initiatedBy:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ retriable:
+ type: boolean
+ enum:
+ - false
+ status:
+ type: string
+ enum:
+ - cleared
+ required:
+ - id
+ - amount
+ - connectionId
+ - clientExternalId
+ - initiatedBy
+ - createdAt
+ - updatedAt
+ - retriable
+ - status
+ PositiveBNCurrencyAmount:
+ title: PositiveBNCurrencyAmount
+ type: object
+ properties:
+ currency:
+ $ref: '#/components/schemas/BNSupportedCurrency'
+ quantity:
+ type: string
+ required:
+ - currency
+ - quantity
+ V1ConnectionPayload:
+ title: V1ConnectionPayload
+ type: object
+ properties:
+ connection:
+ $ref: '#/components/schemas/V1ConnectionOutput'
+ required:
+ - connection
+ V1ConnectionOutput:
+ title: V1ConnectionOutput
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ name:
+ type: string
+ minLength: 1
+ clientId:
+ type: string
+ title: uuid
+ partnerId:
+ type: string
+ title: uuid
+ networkAccountId:
+ type: string
+ title: uuid
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ active:
+ type: boolean
+ proof:
+ type: string
+ minLength: 1
+ nonce:
+ type: string
+ minLength: 1
+ partnersConnectionId:
+ nullable: true
+ type: string
+ minLength: 1
+ partnersClientId:
+ nullable: true
+ type: string
+ minLength: 1
+ initialized:
+ type: boolean
+ required:
+ - id
+ - name
+ - clientId
+ - partnerId
+ - networkAccountId
+ - createdAt
+ - updatedAt
+ - active
+ - proof
+ - nonce
+ - partnersConnectionId
+ - partnersClientId
+ - initialized
+ ConnectionKey:
+ title: ConnectionKey
+ oneOf:
+ - $ref: '#/components/schemas/TokenConnectionKey'
+ - $ref: '#/components/schemas/TokenAndSignatureConnectionKey'
+ - $ref: '#/components/schemas/ApiKeyAndSecretConnectionKey'
+ - $ref: '#/components/schemas/ClearLoopConnectionKey'
+ TokenConnectionKey:
+ title: TokenConnectionKey
+ type: object
+ properties:
+ schema:
+ type: string
+ enum:
+ - token
+ connectionToken:
+ type: string
+ minLength: 1
+ required:
+ - schema
+ - connectionToken
+ TokenAndSignatureConnectionKey:
+ title: TokenAndSignatureConnectionKey
+ type: object
+ properties:
+ schema:
+ type: string
+ enum:
+ - tokenAndSignature
+ connectionToken:
+ type: string
+ minLength: 1
+ signature:
+ type: string
+ minLength: 1
+ required:
+ - schema
+ - connectionToken
+ - signature
+ ApiKeyAndSecretConnectionKey:
+ title: ApiKeyAndSecretConnectionKey
+ type: object
+ properties:
+ schema:
+ type: string
+ enum:
+ - apiKeyAndSecret
+ apiKey:
+ type: string
+ minLength: 1
+ apiSecret:
+ type: string
+ minLength: 1
+ required:
+ - schema
+ - apiKey
+ - apiSecret
+ ClearLoopConnectionKey:
+ title: ClearLoopConnectionKey
+ type: object
+ properties:
+ schema:
+ type: string
+ enum:
+ - clearloop
+ apiKey:
+ type: string
+ minLength: 1
+ apiSecret:
+ type: string
+ minLength: 1
+ clientAccountId:
+ type: string
+ minLength: 1
+ companyRegistrationNumber:
+ type: string
+ minLength: 1
+ required:
+ - schema
+ - apiKey
+ - apiSecret
+ - clientAccountId
+ - companyRegistrationNumber
+ V1ConnectionsGetOkPayload:
+ title: V1ConnectionsGetOkPayload
+ type: object
+ properties:
+ connections:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ name:
+ type: string
+ minLength: 1
+ clientId:
+ type: string
+ title: uuid
+ partnerId:
+ type: string
+ title: uuid
+ networkAccountId:
+ type: string
+ title: uuid
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ active:
+ type: boolean
+ proof:
+ type: string
+ minLength: 1
+ nonce:
+ type: string
+ minLength: 1
+ partnersConnectionId:
+ nullable: true
+ type: string
+ minLength: 1
+ partnersClientId:
+ nullable: true
+ type: string
+ minLength: 1
+ initialized:
+ type: boolean
+ required:
+ - id
+ - name
+ - clientId
+ - partnerId
+ - networkAccountId
+ - createdAt
+ - updatedAt
+ - active
+ - proof
+ - nonce
+ - partnersConnectionId
+ - partnersClientId
+ - initialized
+ required:
+ - connections
+ V1ClientsPostOkPayload:
+ title: V1ClientsPostOkPayload
+ type: object
+ properties:
+ client:
+ $ref: '#/components/schemas/V1ClientsOutput'
+ required:
+ - client
+ V1ClientsOutput:
+ title: V1ClientsOutput
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ enterpriseId:
+ type: string
+ minLength: 1
+ trustOrg:
+ type: string
+ walletId:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ balanceAlertLastSent:
+ type: string
+ required:
+ - id
+ - enterpriseId
+ - trustOrg
+ - walletId
+ - createdAt
+ - updatedAt
+ AccountBalanceRecord:
+ title: AccountBalanceRecord
+ type: object
+ additionalProperties:
+ type: object
+ properties:
+ available:
+ type: string
+ held:
+ type: string
+ required:
+ - available
+ - held
+ V1ClientBalancesGetPayload:
+ title: V1ClientBalancesGetPayload
+ type: object
+ properties:
+ clientId:
+ type: string
+ title: uuid
+ balances:
+ $ref: '#/components/schemas/AccountBalanceRecord'
+ networkBalances:
+ $ref: '#/components/schemas/NetworkAccountBalanceRecordForClient'
+ required:
+ - clientId
+ - balances
+ - networkBalances
+ NetworkAccountBalanceRecordForClient:
+ title: NetworkAccountBalanceRecordForClient
+ type: object
+ additionalProperties:
+ type: object
+ properties:
+ partnerId:
+ type: string
+ title: uuid
+ partnersConnectionId:
+ type: string
+ minLength: 1
+ name:
+ type: string
+ minLength: 1
+ balances:
+ $ref: '#/components/schemas/AccountBalanceRecord'
+ partnerInstitutionIdentifier:
+ type: string
+ minLength: 1
+ required:
+ - partnerId
+ - partnersConnectionId
+ - name
+ - balances
+ V1PartnerBalancesGetPayload:
+ title: V1PartnerBalancesGetPayload
+ type: object
+ properties:
+ networkBalances:
+ $ref: '#/components/schemas/NetworkAccountBalanceRecordForPartner'
+ balances:
+ $ref: '#/components/schemas/AccountBalanceRecord'
+ required:
+ - networkBalances
+ NetworkAccountBalanceRecordForPartner:
+ title: NetworkAccountBalanceRecordForPartner
+ type: object
+ additionalProperties:
+ type: object
+ properties:
+ clientId:
+ type: string
+ title: uuid
+ partnerId:
+ type: string
+ title: uuid
+ partnersConnectionId:
+ type: string
+ minLength: 1
+ balances:
+ $ref: '#/components/schemas/AccountBalanceRecord'
+ required:
+ - clientId
+ - partnerId
+ - partnersConnectionId
+ - balances
+ V1AllocationGetPayload:
+ title: V1AllocationGetPayload
+ type: object
+ properties:
+ allocation:
+ $ref: '#/components/schemas/V1AllocationGetOutput'
+ required:
+ - allocation
+ V1AllocationGetOutput:
+ title: V1AllocationGetOutput
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ amount:
+ $ref: '#/components/schemas/PositiveAllocationAmount'
+ connectionId:
+ type: string
+ title: uuid
+ clientExternalId:
+ type: string
+ minLength: 1
+ partnerExternalId:
+ type: string
+ minLength: 1
+ initiatedBy:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ retriable:
+ type: boolean
+ reason:
+ nullable: true
+ type: string
+ minLength: 1
+ status:
+ $ref: '#/components/schemas/AllocationStatus'
+ type:
+ $ref: '#/components/schemas/AllocationType'
+ required:
+ - id
+ - amount
+ - connectionId
+ - clientExternalId
+ - initiatedBy
+ - createdAt
+ - updatedAt
+ - retriable
+ - reason
+ - status
+ - type
+ AllocationStatus:
+ title: AllocationStatus
+ type: string
+ enum:
+ - cleared
+ - released
+ - reserved
+ AllocationType:
+ title: AllocationType
+ type: string
+ enum:
+ - allocation
+ - deallocation
+ V1ReservedAllocationOrErrorPayload:
+ title: V1ReservedAllocationOrErrorPayload
+ oneOf:
+ - $ref: '#/components/schemas/V1ErrorPayload'
+ - $ref: '#/components/schemas/V1ReservedRetriableAllocationsPostPayload'
+ V1ReservedRetriableAllocationsPostPayload:
+ title: V1ReservedRetriableAllocationsPostPayload
+ type: object
+ properties:
+ allocation:
+ $ref: '#/components/schemas/V1ReservedRetriableAllocationOutput'
+ required:
+ - allocation
+ V1AllocationsReleasedWithErrorPostPayload:
+ title: V1AllocationsReleasedWithErrorPostPayload
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/V1AllocationsReleasedPayload'
+ - $ref: '#/components/schemas/V1ErrorPayload'
+ V1AllocationsReleasedPayload:
+ title: V1AllocationsReleasedPayload
+ type: object
+ properties:
+ allocation:
+ $ref: '#/components/schemas/V1ReleasedAllocation'
+ required:
+ - allocation
+ V1AllocationsClearedPostPayload:
+ title: V1AllocationsClearedPostPayload
+ type: object
+ properties:
+ allocation:
+ $ref: '#/components/schemas/V1ClearedAllocation'
+ required:
+ - allocation
+ V1ReservedNonRetriableAllocationsPostPayload:
+ title: V1ReservedNonRetriableAllocationsPostPayload
+ type: object
+ properties:
+ allocation:
+ $ref: '#/components/schemas/V1ReservedNonRetriableAllocationOutput'
+ required:
+ - allocation
+ V1AllocationsGetPayload:
+ title: V1AllocationsGetPayload
+ type: object
+ properties:
+ allocations:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ amount:
+ $ref: '#/components/schemas/PositiveAllocationAmount'
+ connectionId:
+ type: string
+ title: uuid
+ clientExternalId:
+ type: string
+ minLength: 1
+ partnerExternalId:
+ type: string
+ minLength: 1
+ initiatedBy:
+ type: string
+ minLength: 1
+ notes:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ retriable:
+ type: boolean
+ reason:
+ nullable: true
+ type: string
+ minLength: 1
+ status:
+ $ref: '#/components/schemas/AllocationStatus'
+ type:
+ $ref: '#/components/schemas/AllocationType'
+ required:
+ - id
+ - amount
+ - connectionId
+ - clientExternalId
+ - initiatedBy
+ - createdAt
+ - updatedAt
+ - retriable
+ - reason
+ - status
+ - type
+ required:
+ - allocations
+ Account:
+ type: object
+ properties:
+ clientId:
+ $ref: '#/components/schemas/IdString'
+ clientName:
+ $ref: '#/components/schemas/ClientName'
+ bookId:
+ $ref: '#/components/schemas/BrokerBookId'
+ state:
+ $ref: '#/components/schemas/BookState'
+ lastUpdated:
+ $ref: '#/components/schemas/DateFromISOString'
+ balances:
+ type: array
+ items:
+ $ref: '#/components/schemas/AssetAmount'
+ updates:
+ type: array
+ items:
+ $ref: '#/components/schemas/AccountAssetUpdate'
+ required:
+ - clientId
+ - clientName
+ - state
+ - lastUpdated
+ AccountAssetUpdate:
+ type: object
+ properties:
+ since:
+ type: string
+ format: date-time
+ description: ISO 8601 string representation of first moment of updates
+ example: '2019-05-02T15:27:35.773Z'
+ assetUpdates:
+ type: array
+ items:
+ $ref: '#/components/schemas/AssetUpdate'
+ Amount3:
+ type: object
+ properties:
+ quantity:
+ $ref: '#/components/schemas/DecimalString'
+ precision:
+ type: integer
+ description: Fixed decimal precision.
+ Asset:
+ type: string
+ description: Asset/token identifier.
+ AssetAmount:
+ allOf:
+ - $ref: '#/components/schemas/Amount3'
+ - type: object
+ properties:
+ asset:
+ $ref: '#/components/schemas/Asset'
+ AssetDef:
+ type: object
+ properties:
+ symbol:
+ type: string
+ description: asset/token identifier
+ decimalPlaces:
+ type: integer
+ description: number of decimal places for minimum real unit (baseunits)
+ assetType:
+ type: string
+ enum:
+ - crypto
+ - fiat
+ AssetUpdate:
+ description: Used for reporting asset updates
+ type: object
+ properties:
+ uniqueId:
+ $ref: '#/components/schemas/IdString'
+ updateType:
+ $ref: '#/components/schemas/UpdateType'
+ at:
+ $ref: '#/components/schemas/DateFromISOString'
+ notation:
+ type: string
+ amount:
+ $ref: '#/components/schemas/AssetAmount'
+ txId:
+ type: string
+ required:
+ - uniqueId
+ - updateType
+ - at
+ - amount
+ BookState:
+ type: string
+ enum:
+ - active
+ - suspended
+ - frozen
+ Broker:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/IdString'
+ name:
+ type: string
+ BrokerBookId:
+ type: string
+ format: uuid
+ description: broker book identifier
+ BrokerTrade:
+ description: |
+ There is still some development discussion about where counterparty account ids will be exposed via this output. We may only expose client ids.
+ allOf:
+ - $ref: '#/components/schemas/TradeBase'
+ - type: object
+ properties:
+ counterpartyA:
+ $ref: '#/components/schemas/BrokerBookId'
+ counterpartyB:
+ $ref: '#/components/schemas/BrokerBookId'
+ clientA:
+ $ref: '#/components/schemas/ClientId'
+ clientB:
+ $ref: '#/components/schemas/ClientId'
+ settlementId:
+ $ref: '#/components/schemas/SettlementId'
+ status:
+ $ref: '#/components/schemas/TradeStatus'
+ effective:
+ $ref: '#/components/schemas/DateFromISOString'
+ required:
+ - counterpartyA
+ - counterpartyB
+ - status
+ - effective
+ ClientId:
+ type: string
+ pattern: ^[A-Z]{3,4}\d{3,4}$
+ description: client id - unique to wallet/broker relationship
+ ClientName:
+ type: string
+ description: client name as provided by the broker
+ CustodianSnapshot:
+ type: object
+ properties:
+ broker:
+ $ref: '#/components/schemas/Broker'
+ accounts:
+ type: array
+ items:
+ $ref: '#/components/schemas/Account'
+ currencies:
+ type: array
+ items:
+ $ref: '#/components/schemas/AssetDef'
+ required:
+ - broker
+ DateFromISOString:
+ type: string
+ format: date-time
+ description: ISO 8601 string representation of date
+ example: '2019-05-02T15:27:35.773Z'
+ DecimalString:
+ type: string
+ pattern: ^-?\d+(\.\d+)?$
+ IdString:
+ type: string
+ description: general identifier, non-empty string
+ SettlementId:
+ type: string
+ format: uuid
+ description: settlement identifier
+ SettlementNetAmount:
+ description: Settlement amount to transfer from one client to another
+ type: object
+ properties:
+ toClientId:
+ $ref: '#/components/schemas/ClientId'
+ fromClientId:
+ $ref: '#/components/schemas/ClientId'
+ amount:
+ $ref: '#/components/schemas/AssetAmount'
+ required:
+ - toClientId
+ - fromClientId
+ - amount
+ SettlementTransferAmount:
+ allOf:
+ - $ref: '#/components/schemas/SettlementNetAmount'
+ - type: object
+ properties:
+ txId:
+ type: string
+ at:
+ $ref: '#/components/schemas/DateFromISOString'
+ TradeBase:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/TradeId'
+ tradeAwayAmountA:
+ $ref: '#/components/schemas/AssetAmount'
+ tradeAwayAmountB:
+ $ref: '#/components/schemas/AssetAmount'
+ tradeValueA:
+ $ref: '#/components/schemas/AssetAmount'
+ tradeValueB:
+ $ref: '#/components/schemas/AssetAmount'
+ booked:
+ $ref: '#/components/schemas/DateFromISOString'
+ required:
+ - tradeAwayAmountA
+ - tradeAwayAmountB
+ - tradeValueA
+ - tradeValueB
+ - booked
+ TradeId:
+ type: string
+ format: uuid
+ description: trade identifier
+ TradeInput:
+ allOf:
+ - type: object
+ properties:
+ clientA:
+ $ref: '#/components/schemas/ClientId'
+ clientB:
+ $ref: '#/components/schemas/ClientId'
+ - $ref: '#/components/schemas/TradeBase'
+ TradeList:
+ type: object
+ properties:
+ trades:
+ type: array
+ items:
+ $ref: '#/components/schemas/BrokerTrade'
+ TradeStatus:
+ type: string
+ example: pending
+ enum:
+ - pending
+ - confirmed
+ - failed
+ TradesDefinition:
+ allOf:
+ - $ref: '#/components/schemas/CustodianSnapshot'
+ - $ref: '#/components/schemas/TradeList'
+ UpdateType:
+ type: string
+ example: deallocate
+ enum:
+ - deallocate
+ - suspend
+ - unsuspend
+ PlatformError1:
+ title: API error
+ allOf:
+ - $ref: '#/components/schemas/PlatformErrorNoName1'
+ - properties:
+ context:
+ type: object
+ description: Properties that apply to a specific error name
+ name:
+ type: string
+ description: Error code
+ required:
+ - name
+ PlatformErrorNoName1:
+ type: object
+ properties:
+ error:
+ type: string
+ description: Human-readable error message
+ requestId:
+ type: string
+ description: Client request id
+ required:
+ - error
+ - requestId
+ HistoricalPrice:
+ type: object
+ required:
+ - time
+ - open
+ - high
+ - low
+ - close
+ - base_volume
+ - quote_volume
+ properties:
+ time:
+ type: string
+ format: date-time
+ open:
+ type: number
+ format: float
+ high:
+ type: number
+ format: float
+ low:
+ type: number
+ format: float
+ close:
+ type: number
+ format: float
+ base_volume:
+ type: number
+ format: float
+ quote_volume:
+ type: number
+ format: float
+ example:
+ time: '2014-11-07T22:19:28.578Z'
+ open: 576.0590066
+ high: 576.0590066
+ low: 575.8330204
+ close: 575.978887
+ base_volume: 296.23
+ quote_volume: 170627.62385
+ HistoricalPriceResult:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - prices
+ - nextBatchPrevId
+ properties:
+ prices:
+ type: object
+ additionalProperties:
+ type: array
+ items:
+ $ref: '#/components/schemas/HistoricalPrice'
+ nextBatchPrevId:
+ type: string
+ example:
+ data:
+ prices:
+ BTC-USD:
+ - time: '2014-11-07T22:19:28.578Z'
+ open: 576.0590066
+ high: 576.0590066
+ low: 575.8330204
+ close: 575.978887
+ base_volume: 296.23
+ quote_volume: 170627.62385
+ nextBatchPrevId: a0dbb6aad06d9a37c9882231d8dc32ef
+ MarketDataError:
+ type: object
+ description: Market Data Error
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ required:
+ - error
+ - errorName
+ example:
+ errorName: backend:common:invalidArgument
+ error: backend:common:invalidArgument key=instrument
+ AccountBalanceDAS1:
+ allOf:
+ - $ref: '#/components/schemas/AccountDAS1'
+ - properties:
+ balance:
+ type: string
+ description: String representation of the (bigint) account balance
+ AccountBalanceDAS2:
+ allOf:
+ - $ref: '#/components/schemas/AccountDAS2'
+ - type: object
+ properties:
+ balance:
+ type: string
+ description: String representation of the (bigint) account balance
+ AccountDAS1:
+ description: Account descriptor for DAS
+ type: object
+ required:
+ - acctId
+ - currency
+ - type
+ properties:
+ acctId:
+ type: string
+ description: Account id for closings related account
+ currency:
+ $ref: '#/components/schemas/Coin'
+ type:
+ $ref: '#/components/schemas/AccountType2'
+ AccountDAS2:
+ description: Account descriptor for DAS
+ type: object
+ required:
+ - acctId
+ - currency
+ - type
+ properties:
+ acctId:
+ type: string
+ description: Account id for related ledger accounts
+ currency:
+ $ref: '#/components/schemas/Coin'
+ type:
+ $ref: '#/components/schemas/AccountType3'
+ AccountType2:
+ description: The account types related to Closings
+ type: string
+ enum:
+ - RECEIVABLE
+ - LIABILITY
+ - INCOME
+ AccountType3:
+ description: The account types related to Lending
+ type: string
+ enum:
+ - BG_CASHBOOK
+ - BG_HOLDING
+ - BG_CLEARING
+ - BG_RESERVED
+ - BG_RECEIVABLE
+ - BG_LIABILITY
+ - BG_LOAN
+ - BG_ACCRUAL
+ AccountingEntry:
+ allOf:
+ - $ref: '#/components/schemas/AccountDAS1'
+ - type: object
+ required:
+ - amount
+ - notation
+ - posted
+ properties:
+ amount:
+ type: string
+ description: string representation of the (bigint) amount to accrue (in base units)
+ notation:
+ type: string
+ description: the notation attached to the accounting entry
+ posted:
+ type: string
+ format: date-time
+ description: ISO 8601 string representation of the timestamp the entry was physically posted
+ example: '2019-06-12T15:28:35.773Z'
+ description: General accounting entry representation
+ AmountString:
+ type: string
+ pattern: ^\d+$
+ example: '10100'
+ BlockHash:
+ type: string
+ example: 0000000000000296ed56abee6cb78e40b00c47a03d92e71dd92c4862ca636b95
+ DaxlTransactionDAS:
+ description: The DAS representation of lending transaction related entries.
+ type: object
+ required:
+ - currency
+ - amount
+ - loanId
+ - daxlId
+ - hash
+ - notation
+ allOf:
+ - $ref: '#/components/schemas/AccountDAS2'
+ - type: object
+ properties:
+ amount:
+ type: string
+ description: String representation of the (bigint) entry amount.
+ address:
+ type: string
+ description: Address or memo id for identifying the confirmed send
+ txId:
+ type: string
+ description: The transaction id of the send (if available)
+ loanId:
+ type: integer
+ daxlHeaderId:
+ type: integer
+ description: The transaction header id in DAXL, required if txId is omitted
+ daxlId:
+ type: integer
+ description: The DAXL Transaction Id, used as an external reference by DAS
+ hash:
+ type: string
+ description: Unique hash associated with this DAS ledger entry
+ notation:
+ type: string
+ description: The notation on this entry in the DAS ledger
+ FeeDescriptor:
+ title: General Fee Descriptor
+ description: define a fee charged as part of a transaction (same currency only)
+ type: object
+ properties:
+ amount:
+ $ref: '#/components/schemas/AmountString'
+ notation:
+ type: string
+ description: Short notation for fee source/info
+ example: on chain fee
+ fee_type:
+ type: string
+ enum:
+ - WIRE_FEE
+ - ELECTRONIC_FEE
+ - BANK_FEE
+ - CHAIN_FEE
+ - BITGO_WITHDRAWAL_FEE
+ - BITGO_SETTLEMENT_FEE
+ description: 'Each fee type may be treated differently by accounting, revenue fee types: BITGO_WITHDRAWAL_FEE, BITGO_SETTLEMENT_FEE'
+ example: BITGO_SETTLEMENT_FEE
+ TradeAmountDescriptor:
+ type: object
+ required:
+ - walletId
+ - currency
+ - amount
+ properties:
+ walletId:
+ $ref: '#/components/schemas/WalletId'
+ currency:
+ $ref: '#/components/schemas/Coin'
+ amount:
+ $ref: '#/components/schemas/AmountString'
+ receiveAmount:
+ $ref: '#/components/schemas/AmountString'
+ receiveCurrency:
+ $ref: '#/components/schemas/Coin'
+ marketValue:
+ $ref: '#/components/schemas/AmountString'
+ TradeDescriptor:
+ allOf:
+ - $ref: '#/components/schemas/TradeAmountDescriptor'
+ - type: object
+ required:
+ - backingWallet
+ properties:
+ backingWallet:
+ $ref: '#/components/schemas/WalletId'
+ tradeId:
+ type: string
+ example: abcdef2345abc
+ TradeLockDescSigned:
+ description: requester party of two-sided locks
+ allOf:
+ - $ref: '#/components/schemas/TradeLockDescriptor'
+ - $ref: '#/components/schemas/TradeSignature'
+ TradeLockDescriptor:
+ allOf:
+ - type: object
+ required:
+ - lockId
+ properties:
+ lockId:
+ type: string
+ example: abcdef012345
+ - $ref: '#/components/schemas/TradeAmountDescriptor'
+ TradeOneSidedLockSignedDesc:
+ allOf:
+ - $ref: '#/components/schemas/TradeSignature'
+ - type: object
+ required:
+ - walletId
+ properties:
+ walletId:
+ type: string
+ description: walletId of the party signing the payload with their signature
+ TradeRequestSigned:
+ allOf:
+ - $ref: '#/components/schemas/TradeDescriptor'
+ - type: object
+ properties:
+ fees:
+ $ref: '#/components/schemas/FeeDescriptor'
+ - $ref: '#/components/schemas/TradeSignature'
+ TradeSignature:
+ type: object
+ required:
+ - payload
+ - signature
+ properties:
+ payload:
+ type: string
+ description: 'Stringified(serialized) JSON object containing at least: amount, walletId, currency, and otherParties (for trade). Should also have a significant nonce or salt.'
+ signature:
+ type: string
+ description: Signature of the payload using the proper private key.
+ TxId:
+ type: string
+ description: The on-chain transaction id
+ example: b8a828b98dbf32d9fd1875cbace9640ceb8c82626716b4a64203fdc79bb46d26
+ WithdrawReconcileRequest:
+ allOf:
+ - type: object
+ required:
+ - virtualWallet
+ - reference
+ properties:
+ virtualWallet:
+ $ref: '#/components/schemas/WalletId'
+ reference:
+ type: string
+ example: efa...123
+ - $ref: '#/components/schemas/WithdrawUnmatchedReq'
+ WithdrawUnmatchedReq:
+ title: Unmatched Withdraw Request
+ description: moves money to unmatched account for reconciliation
+ type: object
+ properties:
+ backingWallet:
+ $ref: '#/components/schemas/WalletId'
+ currency:
+ $ref: '#/components/schemas/Coin'
+ amount:
+ type: string
+ example: '10000'
+ txId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ timestamp:
+ type: string
+ example: '2018-10-26T20:20:55.000Z'
+ DecodedTransaction:
+ title: Decoded Transaction
+ type: object
+ properties:
+ protocolAddress:
+ type: string
+ protocolName:
+ type: string
+ methodSignature:
+ type: string
+ decoderType:
+ type: string
+ methodParameters:
+ type: array
+ items:
+ $ref: '#/components/schemas/MethodParameter'
+ required:
+ - protocolAddress
+ - methodSignature
+ - decoderType
+ - methodParameters
+ DecoratedMessageDetails:
+ title: Decorated Message Details
+ type: object
+ allOf:
+ - $ref: '#/components/schemas/MessageDetails'
+ - type: object
+ properties:
+ payloadType:
+ type: string
+ enum:
+ - message
+ DecoratedTransactionDetails:
+ title: Decorated Transaction Details
+ type: object
+ allOf:
+ - $ref: '#/components/schemas/TransactionDetails'
+ - type: object
+ properties:
+ payloadType:
+ type: string
+ enum:
+ - transaction
+ MessageDetails:
+ title: Transaction Details
+ type: object
+ properties:
+ id:
+ type: string
+ user:
+ type: string
+ coin:
+ type: string
+ address:
+ type: string
+ message:
+ type: string
+ signatureVersion:
+ type: string
+ state:
+ $ref: '#/components/schemas/MessageStatus'
+ wallet:
+ type: string
+ createdTime:
+ $ref: '#/components/schemas/DateTime'
+ signature:
+ type: string
+ modifyTime:
+ $ref: '#/components/schemas/DateTime'
+ enterprise:
+ type: string
+ required:
+ - id
+ - user
+ - coin
+ - address
+ - message
+ - signatureVersion
+ - state
+ - wallet
+ - createdTime
+ MessageStatus:
+ title: Message Status
+ type: string
+ enum:
+ - created
+ - signed
+ MethodParameter:
+ title: Method Parameter
+ type: object
+ properties:
+ name:
+ type: string
+ type:
+ type: string
+ value:
+ type: object
+ required:
+ - name
+ - type
+ - value
+ TransactionDetails:
+ title: Transaction Details
+ type: object
+ properties:
+ transactionStatus:
+ $ref: '#/components/schemas/TransactionStatus'
+ transactionHash:
+ type: string
+ custodianTransactionId:
+ type: string
+ txRequestId:
+ type: string
+ from:
+ type: string
+ to:
+ type: string
+ coin:
+ type: string
+ gasPrice:
+ type: string
+ maxFeePerGas:
+ type: string
+ maxPriorityFeePerGas:
+ type: string
+ gasLimit:
+ type: string
+ nonce:
+ type: string
+ value:
+ type: string
+ data:
+ type: string
+ decodedData:
+ $ref: '#/components/schemas/DecodedTransaction'
+ userId:
+ type: string
+ createdTime:
+ $ref: '#/components/schemas/DateTime'
+ required:
+ - transactionStatus
+ - custodianTransactionId
+ - from
+ - to
+ - coin
+ - gasLimit
+ - value
+ - createdTime
+ TransactionStatus:
+ title: Transaction Status
+ type: string
+ enum:
+ - policy_failed
+ - created
+ - submitted
+ - completed
+ - failed
+ StringFieldData:
+ title: StringFieldData
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - string
+ value:
+ nullable: true
+ type: string
+ required:
+ - type
+ - value
+ BooleanFieldData:
+ title: BooleanFieldData
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - boolean
+ value:
+ nullable: true
+ type: boolean
+ required:
+ - type
+ - value
+ IdentityOccupation:
+ title: IdentityOccupation
+ type: string
+ enum:
+ - Agriculture
+ - Art Dealer / Auctioneer / Import / Export Company
+ - Financial Services (Asset Mgmt., Bank, Broker Dealer, Commodities, Mutual Fund, Ins. Co)
+ - Casinos and Gambling Establishments
+ - Charity/NGO/Non-Profit/Foundation/Endowment
+ - Computer Programmer / Administrator / Software Engineer / IT or Software / Technology Company
+ - Crypto Services (ATM, Exchange, Lender, Coins/Token)
+ - Education / Teacher
+ - Extractive Industry (Oil, Gas, etc.) / Jewels / Gemstones / Precious Metals
+ - Family Office
+ - Film / TV / Entertainment (not adult)
+ - Government/State owned/Political Org. (i.e. Sovereign Wealth Fund)
+ - Healthcare
+ - Law Enforcement / Military / Protective Services
+ - Miner / Mining Pool
+ - Money Service Business
+ - Other
+ - Private Equity / Venture Capital
+ - Professional Service Providers (lawyers accountants etc.)
+ - Real estate brokers developers and appraisers
+ - Recreation / Hospitality
+ - Student / Unemployed / Retired
+ - Traders / Trading (High Frequency, Proprietary, Market Maker)
+ - Other - Default
+ - Weapons Dealers
+ PersonaIdClass:
+ title: PersonaIdClass
+ type: string
+ enum:
+ - cct
+ - cid
+ - dl
+ - foid
+ - hic
+ - id
+ - ipp
+ - keyp
+ - ltpass
+ - munid
+ - myn
+ - nbi
+ - nric
+ - ofw
+ - rp
+ - pan
+ - pid
+ - pp
+ - ppc
+ - pr
+ - sss
+ - td
+ - tribalid
+ - umid
+ - vid
+ - visa
+ - wp
+ DateFieldData:
+ title: DateFieldData
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - date
+ value:
+ nullable: true
+ type: string
+ required:
+ - type
+ - value
+ PersonaInquiryListResponse:
+ title: PersonaInquiryListResponse
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ type: object
+ properties:
+ type:
+ type: string
+ id:
+ type: string
+ minLength: 1
+ attributes:
+ type: object
+ properties:
+ status:
+ type: string
+ reference-id:
+ type: string
+ note:
+ nullable: true
+ type: string
+ created-at:
+ type: string
+ updated-at:
+ type: string
+ fields:
+ $ref: '#/components/schemas/PersonaInquiryResponseFields'
+ tags:
+ type: array
+ items:
+ type: string
+ relationships:
+ type: object
+ properties:
+ inquiry-template:
+ $ref: '#/components/schemas/InquiryRelationshipData'
+ required:
+ - inquiry-template
+ required:
+ - type
+ - id
+ - attributes
+ - relationships
+ links:
+ type: object
+ properties:
+ prev:
+ nullable: true
+ type: string
+ next:
+ nullable: true
+ type: string
+ required:
+ - prev
+ - next
+ required:
+ - data
+ - links
+ PersonaInquiryResponseFields:
+ title: PersonaInquiryResponseFields
+ type: object
+ properties:
+ enterprise-id:
+ $ref: '#/components/schemas/StringFieldData'
+ is-entity:
+ $ref: '#/components/schemas/BooleanFieldData'
+ birthdate-id:
+ $ref: '#/components/schemas/DateFieldData'
+ name-first-id:
+ $ref: '#/components/schemas/StringFieldData'
+ name-middle-id:
+ $ref: '#/components/schemas/StringFieldData'
+ name-last-id:
+ $ref: '#/components/schemas/StringFieldData'
+ address-street-1-id:
+ $ref: '#/components/schemas/StringFieldData'
+ address-street-2-id:
+ $ref: '#/components/schemas/StringFieldData'
+ address-city-id:
+ $ref: '#/components/schemas/StringFieldData'
+ address-subdivision-id:
+ $ref: '#/components/schemas/StringFieldData'
+ address-postal-code-id:
+ $ref: '#/components/schemas/StringFieldData'
+ address-country-code-id:
+ $ref: '#/components/schemas/StringFieldData'
+ pricing-plan:
+ $ref: '#/components/schemas/StringFieldData'
+ InquiryRelationshipData:
+ title: InquiryRelationshipData
+ type: object
+ properties:
+ data:
+ type: object
+ properties:
+ type:
+ type: string
+ id:
+ type: string
+ required:
+ - type
+ - id
+ required:
+ - data
+ PlatformError2:
+ title: PlatformError
+ allOf:
+ - type: object
+ properties:
+ name:
+ type: string
+ context:
+ type: object
+ additionalProperties: {}
+ required:
+ - context
+ - $ref: '#/components/schemas/PlatformErrorNoName2'
+ PlatformErrorNoName2:
+ title: PlatformErrorNoName
+ type: object
+ properties:
+ error:
+ type: string
+ requestId:
+ type: string
+ required:
+ - error
+ - requestId
+ PutIdentityDocumentUpdateResponse:
+ title: PutIdentityDocumentUpdateResponse
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ status:
+ type: string
+ minLength: 1
+ selectedIdClass:
+ $ref: '#/components/schemas/PersonaIdClass'
+ required:
+ - id
+ - status
+ - selectedIdClass
+ IdentityDocumentType:
+ title: IdentityDocumentType
+ type: string
+ enum:
+ - frontPhoto
+ - backPhoto
+ - proofOfResidency
+ IdentityDocumentGetResponse:
+ title: IdentityDocumentGetResponse
+ type: object
+ properties:
+ documents:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ identityId:
+ type: string
+ title: uuid
+ status:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ fileUploads:
+ type: array
+ items:
+ type: object
+ properties:
+ fileName:
+ type: string
+ minLength: 1
+ fileSize:
+ type: number
+ uploadStatus:
+ type: string
+ minLength: 1
+ documentType:
+ $ref: '#/components/schemas/IdentityDocumentType'
+ required:
+ - fileName
+ - fileSize
+ - uploadStatus
+ - documentType
+ selectedIdClass:
+ $ref: '#/components/schemas/PersonaIdClass'
+ required:
+ - id
+ - identityId
+ - status
+ - createdAt
+ - updatedAt
+ required:
+ - documents
+ InternalListPersonaInquiriesResponse:
+ allOf:
+ - title: InternalListPersonaInquiriesResponse
+ - $ref: '#/components/schemas/PersonaInquiryListResponse'
+ PostIdentityDocumentCreateResponse:
+ title: PostIdentityDocumentCreateResponse
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ status:
+ type: string
+ minLength: 1
+ selectedIdClass:
+ $ref: '#/components/schemas/PersonaIdClass'
+ fileUploads:
+ type: array
+ items:
+ type: object
+ properties:
+ fileName:
+ type: string
+ minLength: 1
+ fileSize:
+ type: number
+ uploadStatus:
+ type: string
+ minLength: 1
+ documentType:
+ $ref: '#/components/schemas/IdentityDocumentType'
+ required:
+ - fileName
+ - fileSize
+ - uploadStatus
+ - documentType
+ required:
+ - id
+ - status
+ - selectedIdClass
+ - fileUploads
+ IdentityUpdateResponse:
+ title: IdentityUpdateResponse
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ status:
+ type: string
+ minLength: 1
+ organizationId:
+ type: string
+ minLength: 1
+ enterpriseId:
+ type: string
+ minLength: 1
+ userId:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ errorDescription:
+ type: string
+ minLength: 1
+ signaturesSubmitted:
+ $ref: '#/components/schemas/ContractTypes'
+ signaturesRequired:
+ $ref: '#/components/schemas/ContractTypes'
+ required:
+ - id
+ - status
+ - organizationId
+ ContractTypes:
+ title: ContractTypes
+ type: array
+ items:
+ type: string
+ enum:
+ - csa
+ - mpa
+ - mic
+ - wvr
+ ESignatures:
+ title: ESignatures
+ type: array
+ items:
+ type: object
+ properties:
+ contractSignerNameFull:
+ type: string
+ minLength: 1
+ contractSignedDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ contractSignedIPAddress:
+ type: string
+ minLength: 1
+ contractType:
+ $ref: '#/components/schemas/ContractType'
+ contractVersion:
+ type: string
+ minLength: 1
+ userAgreesToTerms:
+ type: boolean
+ required:
+ - contractSignerNameFull
+ - contractSignedDate
+ - contractSignedIPAddress
+ - contractType
+ - contractVersion
+ - userAgreesToTerms
+ ContractType:
+ title: ContractType
+ type: string
+ enum:
+ - csa
+ - mpa
+ - mic
+ - wvr
+ IdentityGetResponse:
+ title: IdentityGetResponse
+ type: object
+ properties:
+ identities:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ status:
+ type: string
+ minLength: 1
+ organizationId:
+ type: string
+ minLength: 1
+ enterpriseId:
+ type: string
+ minLength: 1
+ userId:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ errorDescription:
+ type: string
+ minLength: 1
+ occupation:
+ type: string
+ countryOfCitizenship:
+ type: string
+ govIdCountryOfIssuance:
+ type: string
+ politicallyExposedPerson:
+ type: boolean
+ debugStatus:
+ type: string
+ country:
+ type: string
+ countryOfResidence:
+ type: string
+ addressCity:
+ type: string
+ addressPostalCode:
+ type: string
+ addressStreet1:
+ type: string
+ addressStreet2:
+ type: string
+ addressSubdivision:
+ type: string
+ birthDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ identificationNumber:
+ type: string
+ nameFirst:
+ type: string
+ nameLast:
+ type: string
+ nameMiddle:
+ type: string
+ phoneNumber:
+ type: string
+ selectedIdClass:
+ type: string
+ debugFailureReason:
+ type: string
+ emailAddress:
+ type: string
+ contractSignerNameFull:
+ type: string
+ contractSignedDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ contractSignedIPAddress:
+ type: string
+ contractVersion:
+ type: string
+ userAgreesToTerms:
+ type: string
+ signatureSubmitted:
+ type: string
+ signaturesSubmitted:
+ type: array
+ items:
+ type: string
+ enum:
+ - csa
+ - mpa
+ - mic
+ - wvr
+ signaturesRequired:
+ type: array
+ items:
+ type: string
+ enum:
+ - csa
+ - mpa
+ - mic
+ - wvr
+ required:
+ - id
+ - status
+ - organizationId
+ required:
+ - identities
+ IdentityCreateResponse:
+ title: IdentityCreateResponse
+ type: object
+ properties:
+ id:
+ type: string
+ title: uuid
+ status:
+ type: string
+ minLength: 1
+ required:
+ - id
+ - status
+ InquiryConflict:
+ title: InquiryConflict
+ allOf:
+ - type: object
+ properties:
+ name:
+ type: string
+ enum:
+ - InquiryConflict
+ required:
+ - name
+ - $ref: '#/components/schemas/PlatformErrorNoName2'
+ AdaStakeIntent1:
+ title: Ada Stake
+ allOf:
+ - $ref: '#/components/schemas/StakeIntent2'
+ - type: object
+ properties:
+ poolKeyHash:
+ type: string
+ description: |
+ The pool key hash to which the coins will be delegated to.
+ required:
+ - poolKeyHash
+ AdditionalEnterpriseInfo1:
+ type: object
+ properties:
+ contact:
+ $ref: '#/components/schemas/GeographicAddress1'
+ Address2:
+ type: object
+ properties:
+ id:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: platform public id for an address
+ address:
+ $ref: '#/components/schemas/AddressString3'
+ chain:
+ $ref: '#/components/schemas/Chain'
+ index:
+ type: integer
+ coin:
+ type: string
+ lastNonce:
+ type: integer
+ default: -1
+ wallet:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: The wallet which contains this address
+ coinSpecific:
+ type: object
+ description: Properties which are specific to certain coin types
+ properties:
+ xlm:
+ $ref: '#/components/schemas/AddressCoinSpecificXlm'
+ txlm:
+ $ref: '#/components/schemas/AddressCoinSpecificXlm'
+ balance:
+ allOf:
+ - type: object
+ - $ref: '#/components/schemas/AddressBalance'
+ description: Balance of the address. In case of Eth and Celo, if returnBalancesForToken is passed with includeBalances, then it will return token balance in the address object. This field will be present only when 'includeBalances' query param is passed as true.
+ label:
+ $ref: '#/components/schemas/AddressLabel'
+ addressType:
+ $ref: '#/components/schemas/AddressType'
+ AddressBalance:
+ type: object
+ properties:
+ updated:
+ type: string
+ description: The last time a transaction affected the balance of this address
+ format: date-time
+ balance:
+ type: integer
+ description: The cleared balance of the address
+ example: 50000
+ balanceString:
+ type: string
+ description: String representation of 'balance'. Guaranteed to not lose precision.
+ example: '50000'
+ totalReceived:
+ type: integer
+ description: The total amount received on this address (in the chain's base unit)
+ totalSent:
+ type: integer
+ description: The total amount send from this address (in the chain's base unit)
+ confirmedBalanceString:
+ type: string
+ description: |
+ The total balance of confirmed transactions for the address (in the chain's base unit).
+ Guaranteed to not lose precision.
+ example: '40000'
+ spendableBalanceString:
+ type: string
+ description: |
+ The total balance of the address (in the chain's base unit) which may
+ be used as inputs for creating new transactions in string representation.
+ Guaranteed to not lose precision.
+ example: '40000'
+ AddressCoinSpecificXlm:
+ type: object
+ properties:
+ memoId:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ - example: '1'
+ description: Latest memo id generated for the wallet
+ rootAddress:
+ type: string
+ description: Root address of the wallet
+ example: GCTTCPH4IIDK7P72FFAEJ3ZFN6WDHJH6GGMRPHPM56ZWGIQ7B3XTIJAM
+ AddressString3:
+ title: Address
+ type: string
+ example: 2MvrwRYBAuRtPTiZ5MyKg42Ke55W3fZJfZS
+ maxLength: 250
+ AddressType:
+ type: string
+ example: p2sh
+ enum:
+ - p2sh
+ - p2shP2wsh
+ - p2wsh
+ - p2tr
+ - p2trMusig2
+ AdminPolicy:
+ allOf:
+ - $ref: '#/components/schemas/Policy1'
+ - properties:
+ enterpriseId:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: The Enterprise to which this Policy applies
+ walletId:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: The Wallet to which this Policy applies
+ AdminWallet:
+ allOf:
+ - $ref: '#/components/schemas/Wallet'
+ - properties:
+ circuitBreakerResetDate:
+ type: string
+ format: date-time
+ description: |
+ The last time that 'triggeredCircuitBreaker' was changed from 'true'
+ to 'false'. Transfers earlier than this timestamp are ignored when
+ circuit breakers are evaluated.
+ recoveryProperties:
+ type: object
+ description: |
+ Wallet user keychain properties which will prevent the wallet from being recovered.
+
+ If any of these properties are false (missing), then the wallet user key is unable to be recovered.
+ Recovery via a non-bitgo recovery using the backup key may still be possible.
+ properties:
+ originalPasscodeEncryptionCode:
+ type: boolean
+ originalEncryptedPrv:
+ type: boolean
+ path:
+ type: boolean
+ skipCircuitBreakers:
+ $ref: '#/components/schemas/SkipCircuitBreakers'
+ triggeredCircuitBreaker:
+ type: boolean
+ description: True, if a circuit breaker has been triggered for this wallet
+ AdvancedListRuleEntry1:
+ title: Advanced whitelist rule entry
+ type: object
+ properties:
+ item:
+ allOf:
+ - oneOf:
+ - $ref: '#/components/schemas/AddressString3'
+ - $ref: '#/components/schemas/Id'
+ description: Either a valid address or a wallet or enterprise id. Must be unique in this whitelist.
+ metaData:
+ type: object
+ description: Any data about this entry that is not used to determine when to enforce the policy
+ properties:
+ label:
+ type: string
+ description: A client-specified label for this entry. Label must be unique or not set.
+ owner:
+ type: string
+ description: The legal owner of the address/ wallet/ enterprise
+ example: Legal Owner LLC
+ address:
+ type: string
+ description: The address of the receiver wallet if the whitelist is of type 'walletId'.
+ additionalProperties: true
+ type:
+ $ref: '#/components/schemas/ListRuleEntryType'
+ required:
+ - item
+ - type
+ AnnotatedTransfer:
+ allOf:
+ - $ref: '#/components/schemas/Transfer'
+ - type: object
+ properties:
+ confirmations:
+ type: integer
+ description: The number of blocks that have been confirmed since this Transfer's block was confirmed
+ entries:
+ type: array
+ items:
+ type: object
+ properties:
+ label:
+ type: string
+ description: If this address was labeled by the user, this is the label
+ AnnotatedTransferWithInputsOutputs:
+ allOf:
+ - $ref: '#/components/schemas/AnnotatedTransfer'
+ - type: object
+ properties:
+ inputs:
+ type: array
+ description: If this is a Transfer on a UTXO coin, the array of inputs
+ items:
+ $ref: '#/components/schemas/Unspent'
+ outputs:
+ type: array
+ description: If this is a Transfer on a UTXO coin, the array of outputs
+ items:
+ $ref: '#/components/schemas/Unspent'
+ PlatformError3:
+ title: API error
+ allOf:
+ - $ref: '#/components/schemas/PlatformErrorNoName3'
+ - properties:
+ context:
+ type: object
+ description: Properties that apply to a specific error name
+ name:
+ type: string
+ description: Error code
+ required:
+ - name
+ PlatformErrorNoName3:
+ type: object
+ properties:
+ error:
+ type: string
+ description: Human-readable error message
+ requestId:
+ type: string
+ description: Client request id
+ required:
+ - error
+ - requestId
+ AverageFee:
+ type: object
+ properties:
+ averageFee:
+ type: number
+ description: Calculated by summing the fees of the blocks over the number of blocks.
+ example: 16000000
+ required:
+ - averageFee
+ BackupKeyType:
+ type: string
+ description: Coin name used to choose correct KRS public key for the given provider. Possible valid values are "btc", "eth", "bitcoin"
+ example: eth
+ Balance:
+ type: object
+ properties:
+ balance:
+ type: integer
+ description: |
+ The total balance of all wallets containing the given coin type. May lose
+ precision for large values.
+ example: 50000
+ balanceString:
+ type: string
+ description: |
+ String representation of 'balance'. Guaranteed to not lose
+ precision.
+ example: '50000'
+ confirmedBalance:
+ type: integer
+ description: |
+ The total balance of confirmed transactions for all wallets containing the given
+ coin type. May lose precision for large values.
+ nullable: true
+ example: 40000
+ confirmedBalanceString:
+ type: string
+ description: |
+ String representation of 'confirmedBalance'. Guaranteed to not lose
+ precision.
+ example: '40000'
+ spendableBalance:
+ type: integer
+ description: |
+ The total balance of all wallets containing the given coin which may
+ be used as inputs for creating new transactions. May lose precision
+ for large values.
+ nullable: true
+ example: 40000
+ spendableBalanceString:
+ type: string
+ description: |
+ String representation of 'spendableBalance'. Guaranteed to not lose
+ precision.
+ example: '40000'
+ stakedBalance:
+ type: integer
+ description: |
+ The total balance of all wallets containing the given coin which has been staked.
+ May lose precision for large values.
+ nullable: true
+ example: 40000
+ stakedBalanceString:
+ type: string
+ description: |
+ String representation of 'stakedBalance'. Guaranteed to not lose
+ precision.
+ example: '40000'
+ BalanceReserve:
+ type: object
+ properties:
+ baseFee:
+ type: string
+ description: base fee used in transaction fees
+ example: '100'
+ baseReserve:
+ type: string
+ description: base reserve used in minimum account balances
+ example: '5000000'
+ reserve:
+ type: string
+ description: minimum account balance, calculated using base reserve
+ example: '25000000'
+ minimumFunding:
+ type: string
+ description: minimum funding balance, calculated using reserve and base fee
+ example: '25000500'
+ height:
+ type: integer
+ description: the height of the block that provides the base values
+ example: 11228504
+ BalanceStaked:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ allOf:
+ - type: string
+ - $ref: '#/components/schemas/AddressString3'
+ description: the address of the wallet
+ balances:
+ type: array
+ items:
+ type: object
+ description: an object containing of validators and the current staked amount
+ properties:
+ validator:
+ allOf:
+ - type: string
+ - $ref: '#/components/schemas/AddressString3'
+ description: the validator
+ staked_amount:
+ type: string
+ description: the amount delegated to the validator
+ example: '5000000000'
+ BalanceTotalRewards:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ allOf:
+ - type: string
+ - $ref: '#/components/schemas/AddressString3'
+ description: the address of the wallet
+ rewards:
+ type: array
+ items:
+ type: object
+ description: an object containing the reward recipient address and the total rewards received
+ properties:
+ reward_recipient:
+ allOf:
+ - type: string
+ - $ref: '#/components/schemas/AddressString3'
+ description: the receiving address
+ reward_amount:
+ type: string
+ description: the total rewards received
+ example: '5000000000'
+ BankAccountCurrency:
+ title: BankAccountCurrency
+ description: |
+ The currency of the bank account. If null, defaults to 'fiatusd'.
+ type: string
+ nullable: true
+ enum:
+ - fiatusd
+ - fiateur
+ - null
+ example: fiatusd
+ BankAccountFee:
+ type: object
+ description: |
+ A fee that's associated with a bank account.
+ properties:
+ feeInfo:
+ type: object
+ properties:
+ bank:
+ type: string
+ enum:
+ - customers_sftp
+ - customers_api
+ - bcbgroup
+ description: |
+ The bank that the fee is associated with.
+ type:
+ type: string
+ enum:
+ - static
+ - variable
+ description: |
+ The type of fee.
+ amount:
+ type: string
+ description: |
+ The fee amount.
+ coin:
+ $ref: '#/components/schemas/BankAccountCurrency'
+ BankAccountId:
+ title: ID
+ type: string
+ pattern: ^[0-9a-f]{32}$ OR UUID
+ example: 59cd72485007a239fb00282ed480da1f
+ BankAccountIdHash:
+ type: string
+ example: 5c645791cf8eb19304292a8e3365fee3
+ description: |
+ Unique identifier for this account, derived from 'accountNumber',
+ 'routingNumber', and 'swiftCode'
+ BankAccountPendingActivity:
+ type: string
+ enum:
+ - trust
+ BankAccountRequest:
+ anyOf:
+ - $ref: '#/components/schemas/DomesticWireBankAccount'
+ - $ref: '#/components/schemas/InternationalWireBankAccount'
+ - $ref: '#/components/schemas/CBITBankAccount'
+ BankAccountResponse:
+ type: object
+ description: |
+ An external bank account. 'routingNumber' must be set for US bank accounts.
+ 'swiftCode' must be set for banks outside the US.
+ properties:
+ accountNumber:
+ description: Bank account number or IBAN.
+ type: string
+ minLength: 1
+ maxLength: 34
+ example: 114584906
+ enterpriseId:
+ $ref: '#/components/schemas/Id'
+ address:
+ type: string
+ example: 2390 El Camino Real, Palo Alto, CA 94306
+ address1:
+ type: string
+ example: 2390 El Camino Real
+ address2:
+ type: string
+ example: Palo Alto, CA 94306
+ address3:
+ type: string
+ example: ''
+ id:
+ $ref: '#/components/schemas/Id'
+ name:
+ type: string
+ example: America California Bank
+ ownerName:
+ type: string
+ example: Donald E. Knuth
+ ownerAddress:
+ type: string
+ example: 2390 El Camino Real, Palo Alto, CA 94306
+ owner:
+ type: object
+ description: Bank account owner
+ properties:
+ name:
+ type: string
+ example: Donald E. Knuth
+ address1:
+ type: string
+ example: Computer Science Department
+ address2:
+ type: string
+ example: Stanford University
+ address3:
+ type: string
+ example: Stanford, CA 94305-9045
+ required:
+ - name
+ - address1
+ routingNumber:
+ description: US bank routing number
+ type: string
+ example: '129131673'
+ minLength: 9
+ maxLength: 9
+ pattern: ^[0-9]+$
+ shortCountryCode:
+ $ref: '#/components/schemas/ShortCountryCode'
+ swiftCode:
+ description: Bank identifier code, as specified by ISO 9362. Used by banks outside the US.
+ type: string
+ example: DEUTDEFF500
+ minLength: 8
+ maxLength: 11
+ pattern: ^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?$
+ type:
+ $ref: '#/components/schemas/BankAccountType'
+ currency:
+ $ref: '#/components/schemas/BankAccountCurrency'
+ externalId:
+ type: string
+ example: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
+ furtherCreditTo:
+ type: string
+ example: Donald E. Knuth
+ intermediaryBankName:
+ type: string
+ example: America California Bank
+ intermediaryBankId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ idHash:
+ $ref: '#/components/schemas/BankAccountIdHash'
+ trustOrg:
+ $ref: '#/components/schemas/BitgoOrg1'
+ token:
+ type: string
+ example: fiat
+ verificationState:
+ $ref: '#/components/schemas/BankAccountVerificationState'
+ pendingActivity:
+ $ref: '#/components/schemas/BankAccountPendingActivity'
+ fee:
+ $ref: '#/components/schemas/BankAccountFee'
+ BankAccountType:
+ title: BankAccountType
+ description: |
+ The type of bank account. If null, defaults 'wire'.
+ type: string
+ nullable: true
+ enum:
+ - wire
+ - cbit
+ - null
+ example: wire
+ BankAccountVerificationState:
+ type: string
+ enum:
+ - pending
+ - approved
+ - rejected
+ - removed
+ Bitcoin:
+ type: string
+ enum:
+ - btc
+ - tbtc4
+ description: This route is only available for Bitcoin.
+ BitgoOrg1:
+ type: string
+ description: BitGo Organization related to this entity
+ enum:
+ - BitGo Inc
+ - BitGo Trust
+ - BitGo New York
+ - BitGo Germany
+ - BitGo Switzerland
+ - Frankfurt DE Trust
+ - BitGo Sister Trust 1
+ - BitGo Korea
+ - BitGo Singapore
+ BuildParams:
+ type: object
+ properties:
+ type:
+ type: string
+ description: |
+ Required for transactions from MPC wallets. "acceleration" speeds up transactions with a certain nonce by adjusting the gas setting. "accountSet" is for XRP AccountSet transactions. "enabletoken" is for SOL. "stakingLock" and "stakingUnlock" are for Stacks delegations. "transfer" is for native-asset transfers. "trustline" is for Stellar trustline transactions. Possible types include: [acceleration, accountSet, enabletoken, stakingLock, stakingUnlock, transfer, transfertoken, trustline]
+
+ For AVAX, possible types include: 'addValidator', 'export', and 'import'.
+
+ For XRP, possible types include: 'payment' and 'accountSet'. The default is 'payment'.
+
+ For STX, type is required.
+ numBlocks:
+ type: integer
+ description: |
+ (BTC only) Used to estimate the fee rate by targeting confirmation within the given number of blocks. If neither 'feeRate' nor 'numBlocks' is specified, a block target of 2 is used by default. Can be limited with 'maxFeeRate'.
+ minimum: 2
+ maximum: 1000
+ feeRate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrString'
+ - example: 10000
+ description: |
+ Custom minimum fee rate in a coin's base unit per kilobyte (or virtual kilobyte)--for example, satoshis per kvByte or microAlgos per kByte. For xrp, it refers to the open ledger fee in drops (1 XRP = 1000000 drops) and the actual fee used is usually 4.5 times the open ledger fee. If the applied 'feeRate' does not meet a coin's required minimum transaction fee amount, the minimum is still applied (for example, 1000 sat/kvByte , a flat 1000 microAlgos or a flat 10 drops of xrp).
+ maxFeeRate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ - example: 20000
+ description: |
+ Custom upper limit for fee rate in a coin's base unit per kilobyte (or virtual kilobyte)--for example, satoshis per kvByte or microAlgos per kByte. 'maxFeeRate' can be used to limit a fee rate estimate generated with 'numBlocks'.
+ feeMultiplier:
+ allOf:
+ - $ref: '#/components/schemas/NumberOrString'
+ - example: 1.5
+ description: |
+ Custom multiplier for fee rate. Suggested to be used in conjunction with 'maxFeeRate' for higher priority transactions, or transactions which may not be broadcast for some time after being built. If used together with 'rbfTxIds' (RBF), it acts as an absolute fee multiplier for the transaction to be replaced. Must be greater than 0. Must be a number and greater than 1 if used for RBF.
+ minConfirms:
+ type: integer
+ description: |
+ The unspent selection for the transaction will only consider unspents with at least this many confirmations to be used as inputs. Does not apply to change outputs unless used in combination with 'enforceMinConfirmsForChange'.
+ enforceMinConfirmsForChange:
+ type: boolean
+ description: When set to true, will enforce minConfirms for change outputs. Defaults to false.
+ default: false
+ gasPrice:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: Custom gas price to be used for sending the transaction. Only for ETH and ERC20 tokens.
+ eip1559:
+ properties:
+ maxPriorityFeePerGas:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ - maximum: 100000000000
+ description: Max priority tip price for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ maxFeePerGas:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: Max total gasPrice for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ gasLimit:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: Custom gas limit to be used for sending the transaction. Only for ETH and ERC20 tokens.
+ targetWalletUnspents:
+ type: integer
+ description: |
+ Specifies the minimum count of good-sized unspents to maintain in the wallet. Change splitting ceases when the
+ wallet has 'targetWalletUnspents' good-sized unspents.
+
+ **Note**: Wallets that continuously send a high count of transactions will automatically split large change amounts
+ into multiple good-sized change outputs while they have fewer than 'targetWalletUnspents' good-sized unspents in
+ their unspent pool. Breaking up large unspents helps to reduce the amount of unconfirmed funds in flight in future
+ transactions, and helps to avoid long chains of unconfirmed transactions. This is especially useful for newly
+ funded wallets or recently refilled send-only wallets.
+ default: 1000
+ minValue:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: Ignore unspents smaller than this amount of base units (e.g. satoshis). For doge, only string is allowed.
+ maxValue:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: Ignore unspents larger than this amount of base units (e.g. satoshis). For doge, only string is allowed.
+ sequenceId:
+ type: string
+ description: |
+ A 'sequenceId' is a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With a 'sequenceId' you can easily reference transfers and transactions—for example, to safely retry sending. Because the system only confirms one send request per 'sequenceId' (and fails all subsequent attempts), you can retry sending without the risk of double spending. The 'sequenceId' is only visible to users on the wallet and is not shared publicly.
+ nonce:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: |
+ (DOT only) A nonce ID is a number used to protect private communications by preventing replay attacks.
+ This is an advanced option where users can manually input a new nonce value
+ in order to correct or fill in a missing nonce ID value.
+ noSplitChange:
+ type: boolean
+ description: |
+ Set 'true' to disable automatic change splitting.
+
+ Also see: 'targetWalletUnspents'
+ default: false
+ unspents:
+ type: array
+ items:
+ example: 12b147dd8b4f73c01f72bdbf5b589eea614f3de609ffdbdac84852d6505cf8a3:1
+ type: string
+ description: |
+ Used to explicitly specify the unspents to be used in the input set in the transaction. Each unspent should be in the form 'prevTxId:nOutput'.
+ changeAddress:
+ allOf:
+ - $ref: '#/components/schemas/AddressString3'
+ description: Specifies a custom destination address for the transaction's change output(s)
+ txFormat:
+ $ref: '#/components/schemas/UtxoTransactionFormat'
+ instant:
+ type: boolean
+ description: (DASH only) Specifies whether or not to use Dash's "InstantSend" feature when sending a transaction.
+ memo:
+ type: object
+ properties:
+ type:
+ type: string
+ value:
+ type: string
+ description: |
+ Memo for Stellar or EOS. Type is only required for memos in Stellar transactions. The memo contains optional extra information that can also be used to identify payments in Stellar or EOS.
+ comment:
+ type: string
+ description: |
+ Optional metadata (only persisted in BitGo) to be applied to the transaction. Use this to add transaction-specific information such as the transaction's purpose or another identifier that you want to reference later. The value is shown in the UI in the transfer listing page.
+ maxLength: 256
+ destinationChain:
+ type: string
+ description: (AVAXC and AVAXP only) Destination chain for an AVAX import/export transaction. One of [P, C].
+ sourceChain:
+ type: string
+ description: (AVAXC and AVAXP only) Source chain for an AVAX import/export transaction. One of [P, C].
+ addressType:
+ type: string
+ deprecated: true
+ description: |-
+ DEPRECATED - use 'changeAddressType'.
+ The type of address to create for change. One of 'p2sh', 'p2shP2wsh', 'p2wsh', or 'p2tr'.
+ changeAddressType:
+ anyOf:
+ - $ref: '#/components/schemas/AddressType'
+ - $ref: '#/components/schemas/ChangeAddressTypes'
+ description: The address type for the change address. One of 'p2sh', 'p2shP2wsh', 'p2wsh', 'p2tr' or 'p2trMusig2'.
+ startTime:
+ type: string
+ description: Unix timestamp in seconds.nanoseconds format, denoting the start of the validity window. Only for HBAR transactions.
+ example: 1714067129.1020603
+ consolidateId:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: (ALGO/TEZOS only) Consolidation ID of this consolidation transaction.
+ lastLedgerSequence:
+ type: integer
+ description: (XRP only) Absolute max ledger the transaction should be accepted in, whereafter it will be rejected
+ ledgerSequenceDelta:
+ type: integer
+ description: (XRP only) Relative ledger height (in relation to the current ledger) that the transaction should be accepted in, whereafter it will be rejected
+ rbfTxIds:
+ type: array
+ items:
+ type: string
+ description: The list of transactions to accelerate using Replace-By-Fee (RBF) for UTXO coins (currently accelerating only one tx is supported).
+ isReplaceableByFee:
+ type: boolean
+ description: It is used to mark an UTXO transaction eligible for Replace-By-Fee (RBF) later.
+ validFromBlock:
+ type: integer
+ description: Optional block this transaction is valid from
+ validToBlock:
+ type: integer
+ description: Optional block this transaction is valid until
+ trustlines:
+ type: array
+ items:
+ $ref: '#/components/schemas/Trustline'
+ description: List of trustlines to manage on the account. Available for Stellar.
+ stakingOptions:
+ anyOf:
+ - $ref: '#/components/schemas/CSPRStakingOptions'
+ - $ref: '#/components/schemas/STXStakingOptions'
+ description: Required object for staking. Only for CSPR and STX.
+ messageKey:
+ type: string
+ description: Optional parameter that takes a hexadecimal value to set 'messagekey' for an XRP 'accountSet' transaction. Recipients field should be empty when 'messageKey' is set.
+ reservation:
+ type: object
+ properties:
+ expireTime:
+ type: string
+ format: date-time
+ description: Required. The time that the unspent reservations should expire.
+ description: Optional parameter for UTXO coins to automatically reserve the unspents that are used in the build. Useful for Cold wallets. If using, must set expireTime.
+ CBITBankAccount:
+ title: CBIT Bank Account
+ type: object
+ description: |
+ An external bank account. 'routingNumber' must be set for US bank accounts.
+ 'swiftCode' must be set for banks outside the US.
+ properties:
+ accountNumber:
+ description: Bank account number or IBAN.
+ type: string
+ minLength: 1
+ maxLength: 34
+ example: 114584906
+ enterpriseId:
+ $ref: '#/components/schemas/Id'
+ address:
+ type: string
+ example: 2390 El Camino Real, Palo Alto, CA 94306
+ address1:
+ type: string
+ example: 2390 El Camino Real
+ address2:
+ type: string
+ example: Palo Alto, CA 94306
+ address3:
+ type: string
+ example: ''
+ name:
+ type: string
+ example: America California Bank
+ ownerName:
+ type: string
+ example: Donald E. Knuth
+ ownerAddress:
+ type: string
+ example: 2390 El Camino Real, Palo Alto, CA 94306
+ owner:
+ type: object
+ description: Bank account owner
+ properties:
+ name:
+ type: string
+ example: Donald E. Knuth
+ address1:
+ type: string
+ example: Computer Science Department
+ address2:
+ type: string
+ example: Stanford University
+ address3:
+ type: string
+ example: Stanford, CA 94305-9045
+ required:
+ - name
+ - address1
+ externalId:
+ description: Required for CBIT transfers.
+ type: string
+ example: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
+ shortCountryCode:
+ $ref: '#/components/schemas/ShortCountryCode'
+ type:
+ $ref: '#/components/schemas/BankAccountType'
+ currency:
+ $ref: '#/components/schemas/BankAccountCurrency'
+ furtherCreditTo:
+ type: string
+ example: Donald E. Knuth
+ intermediaryBankName:
+ type: string
+ example: America California Bank
+ intermediaryBankId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ required:
+ - accountNumber
+ - address1
+ - shortCountryCode
+ - name
+ - owner
+ - enterpriseId
+ - externalId
+ CSPRStakingOptions:
+ title: CSPR
+ type: object
+ properties:
+ amount:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: Required for CSPR. String representation of the amount to stake or unstake in base units (motes).
+ validator:
+ allOf:
+ - $ref: '#/components/schemas/AddressString3'
+ description: Required for CSPR. The validator address used to delegate or undelegate.
+ CannotRemoveAdmin:
+ title: Can't remove admin
+ allOf:
+ - $ref: '#/components/schemas/PlatformErrorNoName3'
+ - properties:
+ context:
+ type: object
+ properties:
+ adminCount:
+ type: integer
+ description: |
+ Current number of admins on the wallet. This number must be
+ greater than 'approvalsRequired', since an admin cannot approve
+ his/her own operation.
+ approvalsRequired:
+ description: Number of admins that must approve a wallet operation
+ type: integer
+ required:
+ - adminCount
+ - approvalsRequired
+ name:
+ type: string
+ description: Error code
+ enum:
+ - CannotRemoveAdmin
+ required:
+ - context
+ - name
+ Chain:
+ type: integer
+ example: 1
+ enum:
+ - 0
+ - 1
+ - 10
+ - 11
+ - 20
+ - 21
+ - 30
+ - 31
+ - 40
+ - 41
+ ChangeAddressTypes:
+ type: array
+ items:
+ $ref: '#/components/schemas/AddressType'
+ description: The address types for the change address. Order by preference and BitGo uses the first available. Any subset of 'p2sh', 'p2shP2wsh', 'p2wsh', 'p2tr' or 'p2trMusig2'.
+ CircuitBreaker:
+ allOf:
+ - $ref: '#/components/schemas/CreateCircuitBreaker'
+ - properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ required:
+ - id
+ ConsolidateAccountBuildRequest:
+ type: object
+ properties:
+ consolidateAddresses:
+ description: |
+ Optional: restrict the consolidation to the specified receive addresses. If not provided, will consolidate the
+ funds from all receive addresses up to 500 addresses.
+ type: array
+ items:
+ type: string
+ apiVersion:
+ description: |
+ The Trasaction Request API version to use for MPC EdDSA Hot Wallets.
+ Defaults based on the wallet type and asset curve.
+ type: string
+ enum:
+ - full
+ - lite
+ ConsolidateAccountBuildResponse:
+ type: object
+ properties:
+ keyDerivationPath:
+ type: string
+ ConsolidateTokenIntent1:
+ title: Consolidate Token
+ allOf:
+ - $ref: '#/components/schemas/BaseIntent2'
+ - $ref: '#/components/schemas/EthBuildOptions'
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - consolidateToken
+ recipients:
+ type: array
+ items:
+ $ref: '#/components/schemas/RecipientEntry1'
+ consolidateId:
+ type: string
+ description: Consolidation ID of this consolidation transaction
+ keepAlive:
+ type: string
+ description: True, if excluding the minimum-funding amounts in an address during consolidation.
+ required:
+ - intentType
+ - recipients
+ ConsolidateUnspentsRequest:
+ type: object
+ properties:
+ feeRate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrString'
+ - example: 10000
+ description: |
+ Custom minimum fee rate in a coin's base unit per kilobyte (or virtual kilobyte)--for example, satoshis per kvByte or microAlgos per kByte. If the applied 'feeRate' does not meet a coin's required minimum transaction fee amount, the minimum is still applied (for example, 1000 sat/kvByte or a flat 1000 microAlgos).
+ maxFeeRate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ - example: 20000
+ description: |
+ Custom upper limit for fee rate in a coin's base unit per kilobyte (or virtual kilobyte)--for example, satoshis per kvByte or microAlgos per kByte. 'maxFeeRate' can be used to limit a fee rate estimate generated with 'numBlocks'.
+ maxFeePercentage:
+ type: integer
+ description: Maximum relative portion that can be spent towards fees
+ feeTxConfirmTarget:
+ type: integer
+ description: Block target for fee estimation
+ bulk:
+ type: boolean
+ description: Build multiple transactions at the same time. This enables you to increase the maximum number of unspents on the 'limit' parameter up to 2,000. If true, you must pass the 'txFormat' as 'psbt' and you can't pass the 'targetAddress' or 'numUnspentsToMake' parameters.
+ minValue:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: Minimum value of unspents to use in base units (e.g. satoshis). Can be used to skip very small unspents when consolidating at higher fee rates. For doge, only string is allowed.
+ maxValue:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: |
+ Maximum value of unspents to use in base units (e.g. satoshis). Should be used to prevent larger unspents from being consolidated needlessly, and that some funds remain available for spending while the consolidation transactions are in flight. For doge, only string is allowed.
+ minHeight:
+ type: integer
+ description: Minimum height of unspents on the block chain to use
+ minConfirms:
+ type: integer
+ description: Minimum confirmation threshold for external inputs
+ enforceMinConfirmsForChange:
+ type: boolean
+ description: Flag for enforcing minConfirms for change inputs
+ limit:
+ type: integer
+ description: Maximum number of unspents to use in the transaction
+ numUnspentsToMake:
+ type: integer
+ description: Number of new unspents to make
+ targetAddress:
+ type: string
+ description: address to use for generated outputs. Must be wallet address.
+ txFormat:
+ $ref: '#/components/schemas/UtxoTransactionFormat'
+ ConsolidationCoins:
+ type: string
+ enum:
+ - algo
+ - talgo
+ - xtz
+ - txtz
+ - eth
+ - hteth
+ description: This route is only available for Algorand, Tezos, and Eth.
+ CreateBlockWebhook:
+ type: object
+ properties:
+ type:
+ $ref: '#/components/schemas/WebhookTypeBlock'
+ url:
+ type: string
+ format: uri
+ example: http://your.server.com/webhook
+ description: URL to fire the webhook to.
+ label:
+ type: string
+ description: Label of the new webhook.
+ numConfirmations:
+ type: integer
+ minimum: 0
+ example: 6
+ description: Number of confirmations before triggering the webhook. If 0 or unspecified, requests will be sent to the callback endpoint when the transfer is first seen and when it is confirmed.
+ required:
+ - type
+ - url
+ CreateCircuitBreaker:
+ type: object
+ properties:
+ enforced:
+ type: boolean
+ enterpriseId:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: If set, this circuit breaker applies to wallets in the given enterprise
+ name:
+ type: string
+ usdLimit:
+ type: object
+ properties:
+ value:
+ type: integer
+ description: USD limit for all transfers out of a wallet within the given time window
+ window:
+ $ref: '#/components/schemas/Duration'
+ required:
+ - value
+ - window
+ walletId:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: If set, this circuit breaker applies to a single wallet
+ required:
+ - enforced
+ - usdLimit
+ CreateKey:
+ type: object
+ properties:
+ coinSpecific:
+ $ref: '#/components/schemas/KeyCreateCoinSpecific'
+ encryptedPrv:
+ type: string
+ description: Private part of this key pair, encrypted with a passphrase that only the client knows. Required for all sources except 'bitgo'.
+ source:
+ $ref: '#/components/schemas/KeySource'
+ enterprise:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: The Enterprise that will own this key
+ newFeeAddress:
+ type: boolean
+ description: Create a new keychain instead of fetching enterprise key (only for Ethereum)
+ pub:
+ allOf:
+ - $ref: '#/components/schemas/Pub'
+ description: Public part of this key pair. If the key type is "independent" (default) it is required for user key and is optional for backup key. If key type is "tss" this field is not required.
+ isDistributedCustody:
+ type: boolean
+ description: Set to true if you want to create a key for distributed custody. This parameter is only valid if you have the distributed custody enterprise license enabled and are creating a BitGo key. Otherwise it will throw an error.
+ example: false
+ commonPub:
+ type: string
+ description: The commonPub for the key. This value is necessary for BLS keys when the source is either “user” or “backup”. Setting this indicates to BitGo that the owner of the key has received all key shares they needed for generating their key.
+ commonKeychain:
+ type: string
+ description: The commonKeychain for the key if this is a MPC key. This value is required to be set when the type is set to “tss” and when the source is either “user” or “backup”. Setting this indicates to BitGo that the owner of the key has received all key shares they needed for generating their key. This value is the common pub concatenated with the common chaincode.
+ keyShares:
+ type: array
+ items:
+ $ref: '#/components/schemas/KeyShare'
+ description: Only required for BitGo MPC keys. Those will be the shares from the user and the backup provider that BitGo will end up generating the BitGo key (share) from.
+ type:
+ $ref: '#/components/schemas/BackupKeyType'
+ keyType:
+ allOf:
+ - $ref: '#/components/schemas/KeyType'
+ - default: tss
+ userGPGPublicKey:
+ type: string
+ description: User's public key in ASCII armored format. Only required for BitGo MPC keys.
+ backupGPGPublicKey:
+ type: string
+ description: Backup public key in ASCII armored format (may be managed by user or KRS). Only required for BitGo MPC keys.
+ CreatePolicyRule:
+ type: object
+ properties:
+ coin:
+ type: string
+ example: zrx
+ description: |
+ If set, the rule will only apply to the given coin or ERC20 token in an
+ Ethereum wallet. It is generally recommended to not set a coin for policy rules of the following types:
+ 'advancedWhitelist', 'allTx', 'coinAddressWhitelist', 'coinAddressBlacklist', 'webhook'.
+ id:
+ type: string
+ description: The id of the rule, must be unique among rules in the policy
+ type:
+ $ref: '#/components/schemas/CreatePolicyRuleTriggers'
+ condition:
+ $ref: '#/components/schemas/PolicyRuleUpdateConditions'
+ action:
+ $ref: '#/components/schemas/PolicyRuleActions'
+ required:
+ - id
+ - type
+ - action
+ CreatePolicyRuleTriggers:
+ type: string
+ enum:
+ - advancedWhitelist
+ - allTx
+ - allTxNoFiat
+ - coinAddressWhitelist
+ - coinAddressBlacklist
+ - velocityLimit
+ - webhook
+ description: What causes this rule to trigger
+ CreateSendLabel:
+ type: object
+ properties:
+ coin:
+ $ref: '#/components/schemas/Coin'
+ address:
+ $ref: '#/components/schemas/AddressString3'
+ enterpriseId:
+ $ref: '#/components/schemas/Id'
+ label:
+ type: string
+ maxLength: 250
+ required:
+ - coin
+ - address
+ - enterpriseId
+ - label
+ CreateSignatureShareRequest:
+ type: object
+ properties:
+ signatureShare:
+ allOf:
+ - $ref: '#/components/schemas/SignatureShare'
+ description: A user-provided share to be used in the ECDSA or EDDSA MPC signing flow. Please use signatureShares instead
+ signatureShares:
+ type: array
+ items:
+ $ref: '#/components/schemas/SignatureShare'
+ description: User-provided shares to be used in the ECDSA or EDDSA MPC signing flow.
+ signerShare:
+ type: string
+ description: |
+ An openPGP ascii armored message (encrypted to the known HSM public key) containing the
+ previous signer’s offset secret share as a 128 character hex string (64 bytes) consisting of
+ the new offset “u” private component from the user [or backup] new offset Y-share as a 64 character
+ hex string (32 bytes) concatenated with the new offset “chaincode” component of the new offset Y-share
+ as a 64 character hex string (32 bytes). Must be provided when uploading an R share.
+ userPublicGpgKey:
+ type: string
+ description: User’s public key of the gpg key.
+ CreateWallet:
+ type: object
+ properties:
+ coinSpecific:
+ $ref: '#/components/schemas/WalletCreateCoinSpecific'
+ enterprise:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: This is required for Ethereum wallets since they can only be created as part of an enterprise.
+ keys:
+ allOf:
+ - $ref: '#/components/schemas/Keys'
+ description: This is required for all wallets where the client supplies the keys to be used. The only case where this is not required is when the type is set to 'custodial'.
+ keySignatures:
+ type: object
+ properties:
+ backup:
+ type: string
+ description: a signature of the backup pub key using the user key (useful for change address verification)
+ bitgo:
+ type: string
+ description: a signature of the bitgo pub key using the user key (useful for change address verification)
+ label:
+ $ref: '#/components/schemas/WalletLabel'
+ multisigType:
+ $ref: '#/components/schemas/WalletMultisigType'
+ address:
+ $ref: '#/components/schemas/WalletCustomAddress'
+ m:
+ allOf:
+ - $ref: '#/components/schemas/NumSignatures'
+ description: This is required for all wallets where the client supplies the keys to be used. The only case where this is not required is when the type is set to 'custodial'.
+ 'n':
+ allOf:
+ - $ref: '#/components/schemas/NumKeychains'
+ description: This is required for all wallets where the client supplies the keys to be used. The only case where this is not required is when the type is set to 'custodial'.
+ tags:
+ type: array
+ items:
+ $ref: '#/components/schemas/Id'
+ type:
+ $ref: '#/components/schemas/WalletTypePublic'
+ walletVersion:
+ type: integer
+ default: 1
+ description: (ETH only) Specify the wallet creation contract version used when creating a wallet contract. Use 0 for the old wallet creation, 1 for the new wallet creation, where it is only deployed upon receiving funds. 2 for wallets with the same functionality as v1 but with NFT support. 3 for MPC wallets. 4 is same as v2 but with some changes related to network identifier and encoding of tx data. v4 is applicable for Arbitrum, Optimism, ZkSync, and other EVM-compatible chains that we will onboard in the future. 5 for MPC MPCv2 wallets. 6 for EVM MPCv2 wallets with receive addresses.
+ minimum: 0
+ maximum: 6
+ eip1559:
+ type: object
+ description: '(ETH walletVersion: 0 wallets only) Specify eip1559 fee parameters in wallet creation transactions.'
+ properties:
+ maxPriorityFeePerGas:
+ type: string
+ description: Max priority tip price for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ maxFeePerGas:
+ type: string
+ description: Max total gasPrice for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ required:
+ - maxPriorityFeePerGas
+ - maxFeePerGas
+ required:
+ - label
+ CustomChangeKeySignatures:
+ type: object
+ properties:
+ user:
+ type: string
+ backup:
+ type: string
+ bitgo:
+ type: string
+ description: |
+ Signatures for the keys which will be used to derive custom change addresses.
+
+ **Note:** These signatures may only be set once for each wallet and are not modifiable after being set.
+ DefaultChangeAddressType:
+ type: string
+ example: p2wsh
+ enum:
+ - p2sh
+ - p2shP2wsh
+ - p2wsh
+ - p2tr
+ - p2trMusig2
+ - default
+ description: |
+ (UTXO only) The default script type to use for change for this wallet. Per transaction, you override the default with the 'changeAddressType' parameter. If 'default' is provided, it will clear the 'changeAddressType' default on the wallet. Note that each UTXO coin has different address types available. For example, Only BTC supports 'p2tr'.
+ DomesticWireBankAccount:
+ title: Domestic Wire Bank Account
+ type: object
+ description: |
+ An external bank account. 'routingNumber' must be set for US bank accounts.
+ 'swiftCode' must be set for banks outside the US.
+ properties:
+ accountNumber:
+ description: Bank account number or IBAN.
+ type: string
+ minLength: 1
+ maxLength: 34
+ example: 114584906
+ enterpriseId:
+ $ref: '#/components/schemas/Id'
+ address:
+ type: string
+ example: 2390 El Camino Real, Palo Alto, CA 94306
+ address1:
+ type: string
+ example: 2390 El Camino Real
+ address2:
+ type: string
+ example: Palo Alto, CA 94306
+ address3:
+ type: string
+ example: ''
+ name:
+ type: string
+ example: America California Bank
+ ownerName:
+ type: string
+ example: Donald E. Knuth
+ ownerAddress:
+ type: string
+ example: 2390 El Camino Real, Palo Alto, CA 94306
+ owner:
+ type: object
+ description: Bank account owner
+ properties:
+ name:
+ type: string
+ example: Donald E. Knuth
+ address1:
+ type: string
+ example: Computer Science Department
+ address2:
+ type: string
+ example: Stanford University
+ address3:
+ type: string
+ example: Stanford, CA 94305-9045
+ required:
+ - name
+ - address1
+ routingNumber:
+ description: US bank routing number. Required for domestic wire transfers within the US.
+ type: string
+ example: '129131673'
+ minLength: 9
+ maxLength: 9
+ pattern: ^[0-9]+$
+ shortCountryCode:
+ $ref: '#/components/schemas/ShortCountryCode'
+ type:
+ $ref: '#/components/schemas/BankAccountType'
+ currency:
+ $ref: '#/components/schemas/BankAccountCurrency'
+ furtherCreditTo:
+ type: string
+ example: Donald E. Knuth
+ intermediaryBankName:
+ type: string
+ example: America California Bank
+ intermediaryBankId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ required:
+ - accountNumber
+ - address1
+ - shortCountryCode
+ - name
+ - owner
+ - enterpriseId
+ - routingNumber
+ Duration:
+ type: string
+ example: P1D
+ description: RFC 3339 time duration
+ Enterprise1:
+ type: object
+ properties:
+ accountType:
+ $ref: '#/components/schemas/EnterpriseAccountType'
+ additionalEnterpriseInfo:
+ $ref: '#/components/schemas/AdditionalEnterpriseInfo1'
+ admin:
+ type: object
+ properties:
+ policy:
+ $ref: '#/components/schemas/Policy1'
+ approvedVideoIdUsers:
+ type: array
+ items:
+ $ref: '#/components/schemas/Id'
+ description: IDs of users on the enterprise that are approved for custodial video ID
+ approvalsRequired:
+ type: integer
+ description: How many Enterprise Admins are required for action to fire
+ example: 1
+ bitgoEthKey:
+ type: string
+ description: The public portion of the ethererum key generated for the enterprise fee address
+ bitgoOrg:
+ $ref: '#/components/schemas/BitgoOrg1'
+ canAccessBorrowing:
+ type: boolean
+ description: whether the enterprise has the licence for BitGo Prime Borrowing
+ canAccessLending:
+ type: boolean
+ description: whether the enterprise has the licence for BitGo Prime Lending
+ canAccessSettlement:
+ type: boolean
+ description: whether the enterprise has the licence to utilize settlement functionality
+ canAccessTrading:
+ type: boolean
+ description: whether the enterprise has the licence to access BitGo Trading
+ canCreateColdWallet:
+ type: boolean
+ description: whether the enterprise has the license to create cold wallets
+ canCreateCustodialWallets:
+ type: boolean
+ description: whether the enterprise has the license to create custodial wallets
+ canCreateHotWallet:
+ type: boolean
+ description: whether the enterprise has the license to create hot wallets
+ contract:
+ $ref: '#/components/schemas/EnterpriseContract'
+ emergencyPhone:
+ $ref: '#/components/schemas/EmergencyPhone'
+ ethFeeAddress:
+ type: string
+ description: The eth fee address used to pay for network transaction fees of this enterprise
+ freeze:
+ $ref: '#/components/schemas/Freeze1'
+ id:
+ $ref: '#/components/schemas/Id'
+ mutablePolicyWindow:
+ type: integer
+ description: Time in seconds after which policies on this Enterprise cannot be updated
+ example: 172800
+ name:
+ type: string
+ example: Small Company
+ pricingTypes:
+ $ref: '#/components/schemas/EnterprisePricingTypes'
+ activePricingType:
+ $ref: '#/components/schemas/EnterpriseActivePricingType'
+ kits:
+ $ref: '#/components/schemas/EnterpriseKits'
+ activeKits:
+ $ref: '#/components/schemas/EnterpriseActiveKits'
+ primaryContact:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: The Id of the User who is the primary contact
+ preferredUi:
+ allOf:
+ - $ref: '#/components/schemas/EnterpriseAvailableUI'
+ description: The UI that this enterprise prefers to use
+ totalWalletsCount:
+ type: integer
+ description: The total number of wallets in the enterprise
+ example: 1
+ usersViewAllWallets:
+ $ref: '#/components/schemas/ViewAllWallets'
+ videoIdWaived:
+ $ref: '#/components/schemas/VideoIdWaived'
+ required:
+ - id
+ EnterpriseBalance:
+ allOf:
+ - $ref: '#/components/schemas/Balance'
+ - type: object
+ properties:
+ coin:
+ $ref: '#/components/schemas/Coin'
+ enterpriseName:
+ type: string
+ enterpriseId:
+ $ref: '#/components/schemas/Id'
+ EnterpriseResponse1:
+ allOf:
+ - $ref: '#/components/schemas/Enterprise1'
+ - type: object
+ properties:
+ tags:
+ type: array
+ items:
+ $ref: '#/components/schemas/EnterpriseTag'
+ EnterpriseUser:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ username:
+ $ref: '#/components/schemas/Email'
+ firstName:
+ type: string
+ description: User first name
+ example: Jane
+ lastName:
+ type: string
+ description: User last name
+ example: Doe
+ fullName:
+ type: string
+ description: User full name
+ example: Jane Doe
+ isActive:
+ type: boolean
+ email:
+ type: object
+ properties:
+ email:
+ $ref: '#/components/schemas/Email'
+ verified:
+ type: boolean
+ description: User has verified their email
+ verified:
+ type: boolean
+ description: User has verified their email
+ identity:
+ type: object
+ properties:
+ kyc:
+ type: object
+ properties:
+ hasVideoID:
+ type: boolean
+ example: true
+ description: User has done initial video ID
+ overallState:
+ $ref: '#/components/schemas/UserKycState'
+ required:
+ type: boolean
+ example: true
+ description: Sanction screening is required for this User
+ EnterpriseUsersResponse:
+ type: object
+ properties:
+ adminUsers:
+ type: array
+ items:
+ $ref: '#/components/schemas/EnterpriseUser'
+ nonAdminUsers:
+ type: array
+ items:
+ $ref: '#/components/schemas/EnterpriseUser'
+ count:
+ type: integer
+ description: The total number of Users returned.
+ incomplete:
+ type: boolean
+ description: Set to true if the Enterprise has at least 500 v1 or v2 wallets. If there are more than 500 wallets (either v1 or v2) it could mean that some Wallets were not considered for finding all Users.
+ ErrorPayload:
+ type: object
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ required:
+ - error
+ - errorName
+ EstimateTransactionFees:
+ title: General
+ type: object
+ properties:
+ feePerKb:
+ type: integer
+ description: Fee per kilobyte for a transaction to be confirmed across two or more blocks. Defaults to 2 if 'numBlocks' is not provided in the request query.
+ example: 15902
+ cpfpFeePerKb:
+ type: integer
+ description: Child-Pays-For-Parent (CPFP) fee per kilobyte where the fee includes the fees for all unconfirmed transactions dependent on this transaction.
+ numBlocks:
+ type: integer
+ description: The target block confirmation.
+ example: 2
+ confidence:
+ type: integer
+ minimum: 0
+ maximum: 100
+ description: (BTC only) Confidence, as a percentage, in the accuracy of the fee estimate.
+ example: 80
+ feeByBlockTarget:
+ type: object
+ description: (BTC only) Fee estimates are stored as a key-value pair where the key is the block target (between 1 and 1000) and the value is the corresponding fee estimate (in baseunits per kilobyte).
+ example:
+ '1': 50536
+ '2': 15902
+ '3': 1579
+ required:
+ - feePerKb
+ - numBlocks
+ EstimateTransactionFeesAccountCoin:
+ title: Account-based
+ type: object
+ properties:
+ feeEstimate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: fee estimate for a transaction for the given account-based coin, denominated in the base units of that coin (i.e. Drops for XRP, Stroops for XLM, etc)
+ required:
+ - feeEstimate
+ EstimateTransactionFeesAlgo:
+ title: ALGO
+ type: object
+ properties:
+ feeRate:
+ description: Calculated by transaction size. Fee rate is in microAlgo (base unit).
+ type: integer
+ example: 1
+ minimumFee:
+ description: Always 1000.
+ type: integer
+ default: 1000
+ example: 1000
+ required:
+ - feeRate
+ - minimumFee
+ EstimateTransactionFeesEth:
+ title: ETH
+ type: object
+ properties:
+ feeEstimate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: fee estimate for a transaction for the given account-based coin, denominated in base units (i.e. Wei)
+ gasLimitEstimate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: The amount of gas that the transaction will use, if recipient is provided in the request
+ minGasPrice:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: minimum gas price that can be provided in base units
+ minGasLimit:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: minimum gas limit that can be provided in base units
+ maxGasLimit:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: maximum gas limit that can be provided in base units
+ minGasIncreaseBy:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: gas price must not be increased by less than this after being introduced to the network
+ eip1559:
+ allOf:
+ - $ref: '#/components/schemas/EstimateTransactionFeesEthEip1559'
+ description: EIP 1559 fee estimates
+ required:
+ - feeEstimate
+ - minGasPrice
+ - minGasLimit
+ - maxGasLimit
+ - minGasIncreaseBy
+ EstimateTransactionFeesEthEip1559:
+ type: object
+ properties:
+ baseFee:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: Block base fees, in base units (i.e. Wei), per gas. Zeroes are returned for pre-EIP-1559 blocks
+ gasUsedRatio:
+ description: Block gas used ratio. Calculated as the ratio of gasUsed and gasLimit
+ type: string
+ safeLowMinerTip:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: 25th percentile of the tips spent in the last block
+ normalMinerTip:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: 35th percentile of the tips spent in the last block
+ standardMinerTip:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: 50th percentile of the tips spent in the last block
+ fastestMinerTip:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: 75th percentile of the tips spent in the last block
+ ludicrousMinerTip:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: 97th percentile of the tips spent in the last block
+ required:
+ - baseFee
+ - gasUsedRatio
+ EstimateTransactionFeesTrx:
+ title: TRX
+ type: object
+ properties:
+ fee:
+ description: Maximum fee for a payment transaction, denominated in base units (i.e. sun). It varies for TRX and TRC20 Token based on the coin parameter
+ type: integer
+ example: 100000000
+ newAccountFee:
+ description: Fee for wallet initialization
+ type: integer
+ example: 100000000
+ netFee:
+ description: Fee rate per unit of tx size. Not used currently ('fee' is a maximum limit, the network charges the cost of the transaction)
+ type: integer
+ example: 1000
+ required:
+ - fee
+ - newAccountFee
+ - netFee
+ ExpressAccelerateTxRequest:
+ type: object
+ properties:
+ cpfpTxIds:
+ type: array
+ description: |
+ txids of the transactions to bump
+
+ **Notes**:
+ Each target unconfirmed transaction must be sending funds to the calling wallet.
+ Accepts only a single txid at this stage.
+ items:
+ $ref: '#/components/schemas/TxId'
+ cpfpFeeRate:
+ type: integer
+ description: Desired effective feerate of the bumped transactions and the CPFP transaction in satoshi per kilobyte
+ maxFee:
+ type: integer
+ description: |
+ Maximum allowed fee for the CPFP transaction in satoshi
+
+ **Note**:
+ A CPFP transaction accelerates the target transactions and all of the unconfirmed transactions the target transactions depends on.
+ As it can be difficult to discern the complete transaction ancestry at times, we recommend limiting the total fee for each CPFP attempt as a safety net to prevent CPFP transactions that exceed your cost expectations.
+ rbfTxIds:
+ type: array
+ items:
+ type: string
+ description: The list of transactions to accelerate using Replace-By-Fee (RBF) for UTXO coins (currently accelerating only one tx is supported).
+ feeMultiplier:
+ allOf:
+ - type: number
+ minimum: 1
+ - example: 1.5
+ description: |
+ If used together with 'rbfTxIds' (RBF), it acts as an absolute fee multiplier for the transaction to be replaced - must be greater than 1.
+ ExpressAcceptShareRequest:
+ type: object
+ properties:
+ userPassword:
+ type: string
+ description: User's password to decrypt the shared wallet (required if the wallet was shared with spend permission)
+ newWalletPassphrase:
+ type: string
+ description: New wallet passphrase for saving the shared wallet private key If not provided and the wallet was shared with spend permission, then the userPassword is used
+ overrideEncryptedPrv:
+ type: string
+ description: Encrypted private key received out-of-band
+ ExpressAcceptShareResponse:
+ type: object
+ properties:
+ state:
+ type: string
+ allOf:
+ - $ref: '#/components/schemas/WalletShareState1'
+ description: State of the share
+ changed:
+ type: boolean
+ description: Indicates if the share changed
+ ExpressCalculateMinerFeeInfoRequest:
+ type: object
+ properties:
+ feeRate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrString'
+ - example: 10000
+ description: |
+ Custom minimum fee rate in a coin's base unit per kilobyte (or virtual kilobyte)--for example, satoshis per kvByte or microAlgos per kByte. If the applied 'feeRate' does not meet a coin's required minimum transaction fee amount, the minimum is still applied (for example, 1000 sat/kvByte or a flat 1000 microAlgos).
+ nP2shInputs:
+ type: integer
+ description: Number of P2SH (multi-signature) inputs
+ example: 2
+ nP2pkhInputs:
+ type: integer
+ description: Number of P2PKH (single-signature) inputs
+ example: 0
+ nP2shP2wshInputs:
+ type: integer
+ description: Number of P2SH_P2WSH (wrapped segwit multi-signature) inputs
+ example: 1
+ nOutputs:
+ type: integer
+ description: Number of outputs
+ example: 2
+ required:
+ - nOutputs
+ ExpressCalculateMinerFeeInfoResponse:
+ type: object
+ properties:
+ size:
+ type: integer
+ description: Estimated size of the transaction in bytes
+ example: 776
+ fee:
+ type: integer
+ description: Estimated fee in base units for the transaction
+ example: 38800
+ feeRate:
+ type: integer
+ description: The fee rate in base units per kB used to estimate the fee for the transaction
+ example: 50000
+ ExpressCanonicalAddressRequest:
+ type: object
+ properties:
+ address:
+ type: string
+ description: Address to canonicalize
+ version:
+ oneOf:
+ - type: string
+ default: base58
+ description: Version of the desired BCH address.
+ enum:
+ - base58
+ - bech32
+ - type: integer
+ description: Version of the desired LTC address.
+ enum:
+ - 1
+ - 2
+ ExpressConsolidateAccountRequest:
+ type: object
+ properties:
+ consolidateAddresses:
+ description: |
+ Optional: restrict the consolidation to the specified receive addresses. If not provided, will consolidate the
+ funds from all receive addresses up to 500 addresses.
+ type: array
+ items:
+ type: string
+ walletPassphrase:
+ description: |
+ Passphrase to decrypt the user key on the wallet.
+ Required if External Signer is not used to sign the transactions.
+ type: string
+ prv:
+ description: |
+ The un-encrypted user private key in string form.
+ If the key is a JSON object it must be stringified.
+ Required if 'walletPassphrase' is not available or encrypted private key is not stored by BitGo.
+ type: string
+ apiVersion:
+ description: |
+ The Trasaction Request API version to use for MPC EdDSA Hot Wallets.
+ Defaults based on the wallet type and asset curve.
+ type: string
+ enum:
+ - full
+ - lite
+ ExpressConsolidateUnspentsRequest:
+ type: object
+ properties:
+ walletPassphrase:
+ type: string
+ description: Passphrase to decrypt the user key on the wallet
+ xprv:
+ type: string
+ description: Private key in string form, if walletPassphrase is not available
+ feeRate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrString'
+ - example: 10000
+ description: |
+ Custom minimum fee rate in a coin's base unit per kilobyte (or virtual kilobyte)--for example, satoshis per kvByte or microAlgos per kByte. If the applied 'feeRate' does not meet a coin's required minimum transaction fee amount, the minimum is still applied (for example, 1000 sat/kvByte or a flat 1000 microAlgos).
+ maxFeeRate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ - example: 20000
+ description: |
+ Custom upper limit for fee rate in a coin's base unit per kilobyte (or virtual kilobyte)--for example, satoshis per kvByte or microAlgos per kByte. 'maxFeeRate' can be used to limit a fee rate estimate generated with 'numBlocks'.
+ maxFeePercentage:
+ type: integer
+ description: Maximum relative portion that can be spent towards fees
+ feeTxConfirmTarget:
+ type: integer
+ description: Block target for fee estimation
+ bulk:
+ type: boolean
+ description: Build multiple transactions at the same time. This enables you to increase the maximum number of unspents on the 'limit' parameter up to 2,000. If true, you must pass the 'txFormat' as 'psbt' and you can't pass the 'targetAddress' or 'numUnspentsToMake' parameters.
+ minValue:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: Minimum value of unspents to use in base units (e.g. satoshis). Can be used to skip very small unspents when consolidating at higher fee rates. For doge, only string is allowed.
+ maxValue:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: |
+ Maximum value of unspents to use in base units (e.g. satoshis). Should be used to prevent larger unspents from being consolidated needlessly, and that some funds remain available for spending while the consolidation transactions are in flight. For doge, only string is allowed.
+ minHeight:
+ type: integer
+ description: Minimum height of unspents on the block chain to use
+ minConfirms:
+ type: integer
+ description: Minimum confirmation threshold for external inputs
+ enforceMinConfirmsForChange:
+ type: boolean
+ description: Flag for enforcing minConfirms for change inputs
+ limit:
+ type: integer
+ description: Maximum number of unspents to use in the transaction
+ numUnspentsToMake:
+ type: integer
+ description: Number of new unspents to make
+ targetAddress:
+ type: string
+ description: address to use for generated outputs. Must be wallet address.
+ txFormat:
+ $ref: '#/components/schemas/UtxoTransactionFormat'
+ ExpressCreateKeychainResponse:
+ type: object
+ description: Generated key pair
+ properties:
+ prv:
+ type: string
+ description: Private key
+ example: xprv9s21ZrQH143K2Y4th5Bn8sCRCMNjVr3sm9TLj9yw9SRKxYbJdB18bpc7cZFHKKWKuWZUBATfbDVE26u7w2iUhmWD8Gsp8UkaemhLEfopC35
+ pub:
+ $ref: '#/components/schemas/Pub'
+ ExpressDecryptRequest:
+ type: object
+ properties:
+ input:
+ type: string
+ description: Ciphertext to decrypt
+ password:
+ type: string
+ description: Key which is used for decryption
+ ExpressDecryptResponse:
+ type: object
+ properties:
+ decrypted:
+ type: string
+ ExpressEncryptRequest:
+ type: object
+ properties:
+ input:
+ type: string
+ description: Plaintext message which should be encrypted
+ password:
+ type: string
+ description: Password which should be used to encrypt message
+ ExpressEncryptResponse:
+ type: object
+ properties:
+ encrypted:
+ type: string
+ ExpressFanOutUnspentsRequest:
+ type: object
+ properties:
+ walletPassphrase:
+ type: string
+ description: Passphrase to decrypt the user key on the wallet
+ xprv:
+ type: string
+ description: Private key in string form, if walletPassphrase is not available
+ feeRate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrString'
+ - example: 10000
+ description: |
+ Custom minimum fee rate in a coin's base unit per kilobyte (or virtual kilobyte)--for example, satoshis per kvByte or microAlgos per kByte. If the applied 'feeRate' does not meet a coin's required minimum transaction fee amount, the minimum is still applied (for example, 1000 sat/kvByte or a flat 1000 microAlgos).
+ maxFeeRate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ - example: 20000
+ description: |
+ Custom upper limit for fee rate in a coin's base unit per kilobyte (or virtual kilobyte)--for example, satoshis per kvByte or microAlgos per kByte. 'maxFeeRate' can be used to limit a fee rate estimate generated with 'numBlocks'.
+ maxFeePercentage:
+ type: integer
+ description: Maximum relative portion that can be spent towards fees
+ feeTxConfirmTarget:
+ type: integer
+ description: Block target for fee estimation
+ minValue:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: Minimum value of unspents to use in base units (e.g. satoshis). For doge, only string is allowed.
+ maxValue:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: Maximum value of unspents to use in base units (e.g. satoshis). For doge, only string is allowed.
+ minHeight:
+ type: integer
+ description: Minimum height of unspents on the block chain to use
+ minConfirms:
+ type: integer
+ description: Minimum confirmation threshold for external inputs
+ enforceMinConfirmsForChange:
+ type: boolean
+ description: Flag for enforcing minConfirms for change inputs
+ unspents:
+ type: array
+ items:
+ type: string
+ description: Unspents to fan out in the transaction. Mutually exclusive with maxNumInputsToUse.
+ maxNumInputsToUse:
+ type: integer
+ description: Maximum number of unspents to use in the transaction. Mutually exclusive with unspents.
+ numUnspentsToMake:
+ type: integer
+ description: Number of new unspents to make
+ targetAddress:
+ type: string
+ description: address to use for generated outputs. Must be wallet address.
+ txFormat:
+ $ref: '#/components/schemas/UtxoTransactionFormat'
+ ExpressGenerateWalletRequest:
+ type: object
+ properties:
+ label:
+ $ref: '#/components/schemas/WalletLabel'
+ multisigType:
+ type: string
+ enum:
+ - onchain
+ - tss
+ - blsdkg
+ description: If absent, BitGo uses the default wallet type for the asset.
+ type:
+ type: string
+ enum:
+ - hot
+ - cold
+ - custodial
+ description: The type of wallet, defined by key management and signing protocols. 'hot' and 'cold' are both self-managed wallets. If absent, defaults to 'hot'.
+ passphrase:
+ type: string
+ description: Passphrase to be used to encrypt the user key on the wallet
+ userKey:
+ type: string
+ description: User provided public key
+ backupXpub:
+ $ref: '#/components/schemas/Pub'
+ backupXpubProvider:
+ type: string
+ enum:
+ - dai
+ description: Optional key recovery service to provide and store the backup key
+ enterprise:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: Enterprise id. This is required for Ethereum wallets since they can only be created as part of an enterprise
+ disableTransactionNotifications:
+ type: boolean
+ description: Flag for disabling wallet transaction notifications
+ passcodeEncryptionCode:
+ type: string
+ description: The passphrase used for decrypting the encrypted wallet passphrase during wallet recovery
+ coldDerivationSeed:
+ type: string
+ description: Seed that derives an extended user key or common keychain for a cold wallet.
+ gasPrice:
+ type: integer
+ description: Gas price to use when deploying an Ethereum wallet
+ disableKRSEmail:
+ type: boolean
+ description: Flag for preventing KRS from sending email after creating backup key
+ walletVersion:
+ type: integer
+ default: 1
+ description: (ETH only) Specify the wallet creation contract version used when creating a wallet contract. Use 0 for the old wallet creation, 1 for the new wallet creation, where it is only deployed upon receiving funds. 2 for wallets with the same functionality as v1 but with NFT support. 3 for MPC wallets.
+ minimum: 0
+ maximum: 3
+ isDistributedCustody:
+ type: boolean
+ description: True, if the wallet type is a distributed-custodial. If passed, you must also pass the 'enterprise' parameter.
+ bitgoKeyId:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: BitGo key ID for self-managed cold MPC wallets.
+ commonKeychain:
+ type: string
+ description: Common keychain for self-managed cold MPC wallets.
+ required:
+ - label
+ - enterprise
+ ExpressGenerateWalletResponse:
+ oneOf:
+ - $ref: '#/components/schemas/ExpressWallet'
+ - title: Wallet (including keychains)
+ type: object
+ description: Wallet with user, bitgo and backup keychains (when 'includeKeychains' query param is 'true').
+ properties:
+ wallet:
+ $ref: '#/components/schemas/ExpressWallet'
+ encryptedWalletPassphrase:
+ type: string
+ description: Encrypted wallet passphrase. Used only with 'passcodeEncryptionCode'. You can use the encrypted wallet passphrase in the BitGo web app during password recovery for the wallet.
+ example: '"{\"iv\":\"IpwAFi0+TDsLJCV4pg8T6w==\",\"v\":1,\"iter\":10000,\"ks\":256,\"ts\":64,\"mode\":\"ccm\",\"adata\":\"\",\"cipher\":\"aes\",\"salt\":\"3lkIc47rjzo=\",\"ct\":\"/m6JL/ttTJWXNmHm+dzI\"}"'
+ userKeychain:
+ type: object
+ description: User keychain
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ encryptedPrv:
+ type: string
+ description: User private key encrypted with the user passphrase
+ example: '{"iv":"TEd5eouui6hKashuVi5WHQ==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"dHu4PWoX2M8=","ct":"fYr9Y/6kU40AosONkV0xi+fWsyhpYSew0L2YKH/qEZjOlxeDjpC2aTJ0Yc/KdmXheUGolcAxGSx93ykN21Zim1DGc/UGa25IUA/3ARgX7gBsYnYEy5e5Ol0YZYb9pa7KFeaDZSLMXrxxoahg5zL4AJsUx90Pwcg="}'
+ prv:
+ type: string
+ description: User private key
+ example: xprv9s21ZrQH143K3e1981rUcbKjJ9G57SDCDZ9HY4Sqhx5ZqMoyK1j49kAf1vuM1G9nhRr6kzqbUQb3gj5zuzrsvNRQ84tYf32EcyapRgBNpp4
+ pub:
+ $ref: '#/components/schemas/Pub'
+ ethAddress:
+ type: string
+ description: Ethereum address corresponding to this keychain
+ example: '0xf5b7cca8621691f9dde304cb7128b6bb3d409363'
+ source:
+ type: string
+ description: Party that created the key
+ example: user
+ coinSpecific:
+ type: object
+ description: Coin specific key data
+ backupKeychain:
+ type: object
+ description: Backup keychain
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ prv:
+ type: string
+ description: Backup private key
+ example: xprv9s21ZrQH143K47iEnAFZRJz36E5ZxuEDBJETFYxJTsTVxuPc9z7oGWADUK6icX5P3ruoe244yxMt9uZ2LjWhddvnJJ4zB7zK93qBtxYrmN6
+ pub:
+ $ref: '#/components/schemas/Pub'
+ source:
+ type: string
+ description: Party that created the key
+ example: backup
+ ethAddress:
+ type: string
+ description: Ethereum address corresponding to this keychain
+ example: '0xf5b7cca8621691f9dde304cb7128b6bb3d409363'
+ coinSpecific:
+ type: object
+ description: Coin specific key data
+ bitgoKeychain:
+ type: object
+ description: BitGo keychain
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ pub:
+ $ref: '#/components/schemas/Pub'
+ isBitGo:
+ type: boolean
+ description: Flag for identifying keychain as created by BitGo
+ example: true
+ source:
+ type: string
+ description: Party that created the key
+ example: bitgo
+ ethAddress:
+ type: string
+ description: Ethereum address corresponding to this keychain
+ example: '0xa487900d0de75107b1cc7ade0e2662980e5ce940'
+ coinSpecific:
+ type: object
+ description: Coin specific key data
+ warning:
+ type: string
+ description: If the backup key is held by the user, this is a message warning the user to securely backup their backup keychain.
+ example: Be sure to backup the backup keychain -- it is not stored anywhere else!
+ ExpressPingResponse:
+ type: object
+ properties:
+ status:
+ type: string
+ ExpressSendCoinsRequest:
+ allOf:
+ - type: object
+ properties:
+ address:
+ allOf:
+ - $ref: '#/components/schemas/AddressString3'
+ description: Destination address
+ amount:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: Amount in base units (e.g. satoshi, wei, drops, stroops). For doge, only string is allowed.
+ walletPassphrase:
+ type: string
+ description: Passphrase to decrypt the user key on the wallet
+ prv:
+ type: string
+ description: Optional, private key in string form, if 'walletPassphrase' is not available or encrypted private key is not stored by BitGo.
+ - $ref: '#/components/schemas/BuildParams'
+ - type: object
+ properties:
+ data:
+ type: string
+ description: (ETH only) Optional data to pass to the transaction
+ hop:
+ type: boolean
+ description: (ETH, AVAXC and POLYGON) Set to true if funds to destination need to come from single sig address
+ tokenName:
+ type: string
+ description: Token name, defined in the BitGoJS Statics package.
+ ExpressSendCoinsResponse:
+ type: object
+ properties:
+ transfer:
+ allOf:
+ - $ref: '#/components/schemas/Transfer'
+ description: New transfer
+ txid:
+ type: string
+ description: Unique transaction identifier
+ tx:
+ oneOf:
+ - type: string
+ description: Encoded transaction hex (or base64 for XLM)
+ - $ref: '#/components/schemas/PsbtHex'
+ status:
+ type: string
+ description: Transfer status
+ enum:
+ - signed
+ - signed (suppressed)
+ - pendingApproval
+ ExpressSendConsolidationResponse:
+ type: object
+ properties:
+ success:
+ description: An Array of TransactionRequest or Transfers.
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/TransactionRequestLite1'
+ - $ref: '#/components/schemas/TransactionRequestFull1'
+ - $ref: '#/components/schemas/Transfer'
+ failure:
+ type: array
+ description: An Array of Error messages.
+ items:
+ type: string
+ required:
+ - success
+ - failure
+ ExpressSendManyRequest:
+ allOf:
+ - type: object
+ properties:
+ recipients:
+ type: array
+ items:
+ type: object
+ description: List of recipient addresses and amounts to send
+ properties:
+ address:
+ allOf:
+ - $ref: '#/components/schemas/AddressString3'
+ description: Destination address
+ amount:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: The amount in base units (e.g. satoshis) to send. For doge, only string is allowed.
+ tokenName:
+ type: string
+ description: The token name. Required for MPC wallets token transactions.
+ example: sol:natix
+ tokenData:
+ allOf:
+ - $ref: '#/components/schemas/RecipientTokenData'
+ description: Data set to build a transaction that involves a token interaction.
+ description: A list of recipient addresses and amounts. Must be present but empty for CPFP transactions.
+ otp:
+ type: string
+ description: Two factor auth code to enable sending the transaction. Not necessary if using a long lived access token within the spending limit.
+ walletPassphrase:
+ type: string
+ description: |
+ Passphrase to decrypt the user key on the wallet.
+ Required if External Signer is not used to sign the transactions.
+ prv:
+ type: string
+ description: |
+ The un-encrypted user private key in string form.
+ If the key is a JSON object it must be stringified.
+ Required if 'walletPassphrase' is not available or encrypted private key is not stored by BitGo.
+ - $ref: '#/components/schemas/BuildParams'
+ - type: object
+ properties:
+ data:
+ type: string
+ description: (ETH only) Optional data to pass to the transaction
+ ExpressShareWalletRequest:
+ type: object
+ properties:
+ email:
+ type: string
+ description: Email address of the user being invited
+ example: foo@bar.com
+ permissions:
+ type: string
+ allOf:
+ - $ref: '#/components/schemas/WalletPermission'
+ walletPassphrase:
+ type: string
+ description: Wallet passphrase of the user sharing the wallet
+ message:
+ type: string
+ description: User readable message to display to the share recipient
+ reshare:
+ type: boolean
+ description: Flag for reinviting a user to the wallet. This is required if the invitee has already been invited to the wallet, but has changed their password and needs a new invite
+ skipKeychain:
+ type: boolean
+ description: If true, skips using a shared key (for when the wallet is shared without spend permission).
+ disableEmail:
+ type: boolean
+ description: Flag for disabling invite notification email
+ required:
+ - email
+ - permissions
+ ExpressSignTssTx:
+ anyOf:
+ - $ref: '#/components/schemas/TransactionRequestLite1'
+ - $ref: '#/components/schemas/ExpressSignTssTxFull'
+ ExpressSignTssTxFull:
+ title: Full
+ type: object
+ properties:
+ txRequestId:
+ description: |
+ The transaction request ID.
+ This is the ID returned by the Create Transaction Request API.
+ type: string
+ walletPassphrase:
+ description: |
+ The wallet passphrase.
+ Required if External Signer is not used to sign the transactions.
+ type: string
+ prv:
+ description: |
+ The un-encrypted user private key of the wallet.
+ If the key is a JSON object it must be stringified.
+ Required for Self-Managed Cold wallets when External Signer is not used to sign the transactions.
+ type: string
+ required:
+ - txRequestId
+ ExpressSignTxRequest:
+ type: object
+ properties:
+ prv:
+ type: string
+ description: user private key
+ example: xprv9s21ZrQH143K3xQwj4yx3fHjDieEdqFDweBvFxn28qGvfQGvweUWuUuDRpepDu6opq3jiWHU9h3yYTKk5vvu4ykRuGA4i4Kz1vmFMPLTsoC
+ txPrebuild:
+ type: object
+ properties:
+ wallet:
+ $ref: '#/components/schemas/Id'
+ txHex:
+ type: string
+ description: Serialized transaction hex
+ txBase64:
+ type: string
+ description: Serialized transaction base64 (applies to XLM only) The request must include this or a txHex
+ txInfo:
+ oneOf:
+ - $ref: '#/components/schemas/UtxoTxInfo'
+ - $ref: '#/components/schemas/XlmTxInfo'
+ feeInfo:
+ type: object
+ properties:
+ size:
+ type: integer
+ description: Estimated size of the transaction in bytes
+ example: 776
+ fee:
+ type: integer
+ description: Estimated fee in base units for the transaction
+ example: 38800
+ feeRate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrString'
+ - example: 10000
+ description: |
+ Custom minimum fee rate in a coin's base unit per kilobyte (or virtual kilobyte)--for example, satoshis per kvByte or microAlgos per kByte. If the applied 'feeRate' does not meet a coin's required minimum transaction fee amount, the minimum is still applied (for example, 1000 sat/kvByte or a flat 1000 microAlgos).
+ payGoFee:
+ type: integer
+ description: BitGo fee of the transaction (in base units)
+ example: 0
+ payGoFeeString:
+ type: integer
+ description: BitGo fee of the transaction (in base units) represented as a String
+ example: '0'
+ isLastSignature:
+ type: boolean
+ description: Should be set to true if you are signing the second time, attaching the final signature. Default to false.
+ pubs:
+ type: array
+ description: Public Keys (user, backup, bitgo) for the wallet (UTXO coins only)
+ items:
+ type: string
+ example:
+ - string
+ - string
+ - string
+ ExpressSignTxResponse:
+ type: object
+ properties:
+ txInfo:
+ oneOf:
+ - title: Hex
+ type: object
+ properties:
+ txHex:
+ $ref: '#/components/schemas/TxHex'
+ - title: Base64
+ type: object
+ properties:
+ halfSigned:
+ type: object
+ properties:
+ txBase64:
+ $ref: '#/components/schemas/TxBase64'
+ ExpressSweepRequest:
+ type: object
+ properties:
+ address:
+ type: string
+ description: The destination address for the sweep transaction
+ walletPassphrase:
+ type: string
+ description: Passphrase to decrypt the user key on the wallet
+ xprv:
+ type: string
+ description: Private key in string form, if walletPassphrase is not available
+ otp:
+ type: string
+ description: Two factor auth code to enable sending the transaction
+ feeTxConfirmTarget:
+ type: string
+ description: Number of blocks to wait to confirm the transaction
+ feeRate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrString'
+ - example: 10000
+ description: |
+ Custom minimum fee rate in a coin's base unit per kilobyte (or virtual kilobyte)--for example, satoshis per kvByte or microAlgos per kByte. If the applied 'feeRate' does not meet a coin's required minimum transaction fee amount, the minimum is still applied (for example, 1000 sat/kvByte or a flat 1000 microAlgos).
+ maxFeeRate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ - example: 20000
+ description: |
+ Custom upper limit for fee rate in a coin's base unit per kilobyte (or virtual kilobyte)--for example, satoshis per kvByte or microAlgos per kByte. 'maxFeeRate' can be used to limit a fee rate estimate generated with 'numBlocks'.
+ allowPartialSweep:
+ type: boolean
+ default: false
+ description: |
+ Use 'allowPartialSweep: true' to sweep part of a wallet when there are too many unspents to empty the wallet in a
+ single transaction. While the expected outcome of a single sweep call would usually be an empty wallet, using the
+ allowPartialSweep option may leave some funds in the wallet. Making repeated calls with the allowPartialSweep
+ option allows emptying wallets with many unspents without consolidating first.
+ txFormat:
+ $ref: '#/components/schemas/UtxoTransactionFormat'
+ ExpressVerifyCoinAddressRequest:
+ type: object
+ properties:
+ address:
+ type: string
+ allOf:
+ - $ref: '#/components/schemas/AddressString3'
+ description: Address which should be verified for correct format
+ ExpressWallet:
+ title: Wallet
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ users:
+ type: array
+ description: Ids of users with access to the wallet
+ items:
+ type: object
+ properties:
+ user:
+ $ref: '#/components/schemas/Id'
+ permissions:
+ type: array
+ description: Array of permissions for the user
+ items:
+ type: string
+ example:
+ - admin
+ - view
+ - spend
+ coin:
+ type: string
+ description: Name of the blockchain the wallet is on
+ example: tbtc4
+ label:
+ type: string
+ description: Name the user assigned to the wallet
+ example: My TBTC4 Wallet
+ m:
+ type: integer
+ description: Number of signatures required for the wallet to send
+ example: 2
+ 'n':
+ type: integer
+ description: Number of signers on the wallet
+ example: 3
+ keys:
+ type: array
+ description: Ids of wallet keys
+ items:
+ $ref: '#/components/schemas/Id'
+ keySignatures:
+ type: object
+ description: Signatures for the backup and BitGo public keys signed by the user key
+ properties:
+ backupPub:
+ type: string
+ description: Signature for the backup pub
+ example: 1fe81d0c91457d89993b01475bfb9e5809067ae046926faeab6e63beea009d8dd460387e0c3843034570798a9c2bcc1dbbea2988ee5a36979e0bbe6e02f7840af2
+ bitgoPub:
+ type: string
+ description: Signature for the BitGo pub
+ example: 209d0e9a6d4352b66fae0a35ce62c1059bcc4db9e2883abc4f1b3d20481c5cebb7299c581efd9e0151abaf2496da7c6d75d276de36ed3de37c94e9cc5a2ea77e59
+ tags:
+ type: array
+ description: Tags set on the wallet
+ items:
+ $ref: '#/components/schemas/Id'
+ receiveAddress:
+ $ref: '#/components/schemas/Address2'
+ balance:
+ type: integer
+ description: Wallet balance as number
+ example: 0
+ balanceString:
+ type: string
+ description: Wallet balance as string
+ example: '0'
+ confirmedBalance:
+ type: integer
+ description: Confirmed wallet balance as number
+ example: 0
+ confirmedBalanceString:
+ type: string
+ description: Confirmed wallet balance as string
+ example: '0'
+ spendableBalance:
+ type: integer
+ description: Spendable wallet balance as number
+ example: 0
+ spendableBalanceString:
+ type: string
+ description: Spendable wallet balance as string
+ example: '0'
+ deleted:
+ type: boolean
+ description: Flag which indicates the wallet has been deleted
+ example: false
+ isCold:
+ type: boolean
+ description: Flag for identifying cold wallets
+ example: false
+ freeze:
+ type: object
+ description: Freeze state (used to stop the wallet from spending)
+ properties:
+ time:
+ type: string
+ format: date-time
+ description: Time when the wallet becomes frozen
+ expires:
+ type: string
+ format: date-time
+ description: Time when the wallet is unfrozen and allowed to spend
+ example: {}
+ disableTransactionNotifications:
+ type: boolean
+ description: Flag for disabling wallet transaction notifications
+ example: false
+ admin:
+ type: object
+ description: Admin data (wallet policies)
+ example: {}
+ approvalsRequired:
+ type: integer
+ description: Number of admin approvals required for an action to fire
+ example: 1
+ pendingApprovals:
+ type: array
+ description: Pending approvals on the wallet
+ items:
+ $ref: '#/components/schemas/PendingApproval1'
+ example: []
+ allowBackupKeySigning:
+ type: boolean
+ description: Flag for allowing signing with backup key
+ example: false
+ coinSpecific:
+ type: object
+ description: Coin-specific data
+ clientFlags:
+ type: array
+ items:
+ type: string
+ recoverable:
+ type: boolean
+ description: Flag indicating whether this wallet's user key is recoverable with the passphrase held by the user.
+ startDate:
+ type: string
+ format: date-time
+ description: Time when this wallet was created
+ hasLargeNumberOfAddresses:
+ type: boolean
+ description: |
+ Flag indicating that this wallet is large (more than 100,000 addresses). If this is set, some APIs may omit
+ properties which are expensive to calculate for wallets with many addresses (for example, the total address
+ counts returned by the List Addresses API).
+ config:
+ type: object
+ description: Custom configuration options for this wallet
+ ExpressWalletRecoverTokenRequest:
+ type: object
+ properties:
+ tokenContractAddress:
+ type: string
+ description: Contract address of the unsupported token
+ recipient:
+ type: string
+ description: Destination address recovered tokens should be sent to
+ walletPassphrase:
+ type: string
+ description: Wallet passphrase
+ prv:
+ type: string
+ description: User private key
+ broadcast:
+ type: boolean
+ description: Whether to send to BitGo for cosigning and broadcast the transaction. If false, a half-siged transaction will be returned.
+ ExpressWalletRecoverTokenResponse:
+ type: object
+ properties:
+ halfSigned:
+ type: object
+ properties:
+ contractSequenceId:
+ type: integer
+ example: 1101
+ expireTime:
+ type: integer
+ example: 1550088020
+ gasLimit:
+ type: integer
+ example: 500000
+ gasPrice:
+ type: integer
+ example: 20000000000
+ operationHash:
+ type: string
+ example: 9.44792020725999e+76
+ recipient:
+ type: object
+ properties:
+ address:
+ type: string
+ example: 4.7261295088313645e+47
+ amount:
+ type: string
+ example: '2400'
+ signature:
+ type: string
+ example: 1.9519588812712557e+156
+ tokenContractAddress:
+ type: string
+ example: 3.8941146273864216e+46
+ walletId:
+ $ref: '#/components/schemas/Id'
+ ExpressWalletSignTxRequest:
+ type: object
+ properties:
+ keychain:
+ type: object
+ properties:
+ encryptedPrv:
+ type: string
+ description: Encrypted user private key
+ description: |
+ The user's keychain object with an 'encryptedPrv' property. The 'walletPassphrase' parameter is required when using 'keychain'. Any request must include either 'keychain' or 'prv'.
+ prv:
+ type: string
+ description: |
+ User private key
+
+ Note: The request must include either 'prv' or 'keychain'
+ example: xprv9s21ZrQH143K3xQwj4yx3fHjDieEdqFDweBvFxn28qGvfQGvweUWuUuDRpepDu6opq3jiWHU9h3yYTKk5vvu4ykRuGA4i4Kz1vmFMPLTsoC
+ txPrebuild:
+ type: object
+ properties:
+ wallet:
+ $ref: '#/components/schemas/Id'
+ txHex:
+ type: string
+ description: Serialized transaction hex
+ txBase64:
+ type: string
+ description: Serialized transaction base64 (applies to XLM only). The request must include this or a txHex
+ txInfo:
+ oneOf:
+ - $ref: '#/components/schemas/UtxoTxInfo'
+ - $ref: '#/components/schemas/XlmTxInfo'
+ feeInfo:
+ oneOf:
+ - $ref: '#/components/schemas/UtxoFeeInfo'
+ - $ref: '#/components/schemas/XlmFeeInfo'
+ description: The transaction description object as created by 'Build Transaction'
+ coldDerivationSeed:
+ type: string
+ description: |
+ A seed used to create a deterministic BIP-32 path which is then used to derive a private key. This is useful when one wants to create multiple BitGo cold wallets but only protect a single master private key. Using the seed one can create a child key for a specific wallet, for instance an Ethereum wallet could use the "eth" seed while an XRP wallet could use "xrp" as a seed. Both of these child keys would be derived from a single master key and so only the master key needs to be stored and protected.
+ walletPassphrase:
+ type: string
+ description: |
+ Passphrase to decrypt the user keychain. 'walletPassphrase' is a required parameter when the parameter 'keychain' is provided.
+ recipients:
+ type: array
+ items:
+ type: object
+ description: Array of objects describing the recipients. See buildTransaction for more detail. Required on ETH.
+ FederationError:
+ type: object
+ properties:
+ status:
+ type: number
+ description: HTTP status code
+ detail:
+ type: string
+ description: Human-readable error message
+ error:
+ type: string
+ description: Human-readable error message
+ name:
+ type: string
+ description: Error code
+ requestId:
+ type: string
+ description: Client request id
+ required:
+ - status
+ - detail
+ - error
+ - name
+ - requestId
+ FeeAddressBalanceResponse:
+ type: object
+ properties:
+ balance:
+ type: string
+ description: |
+ Total balance in enterprise gas tank.
+ Freeze1:
+ type: object
+ properties:
+ time:
+ type: string
+ format: date-time
+ description: When the freeze started
+ expires:
+ type: string
+ format: date-time
+ description: When the freeze will end
+ GeographicAddress1:
+ type: object
+ properties:
+ name:
+ type: string
+ description: Legal name of the enterprise, not neccessarily the enterprise name
+ street:
+ type: string
+ description: Address line
+ street2:
+ type: string
+ nullable: true
+ description: Optional 2nd address line
+ suite:
+ type: string
+ description: Optional suite number
+ city:
+ type: string
+ description: City name
+ state:
+ type: string
+ description: State or region
+ postalCode:
+ type: string
+ description: Postcal code
+ country:
+ type: string
+ description: ISO 3166-1 Alpha-3 country code
+ example:
+ name: Jane Doe
+ street: '1'
+ street2: Wall Street
+ suite: '3'
+ city: New York
+ state: NY
+ postalCode: '10005'
+ country: USA
+ InitiateTrustlineParams:
+ type: object
+ properties:
+ memo:
+ type: object
+ properties:
+ type:
+ type: string
+ value:
+ type: string
+ description: |
+ The memo contains optional extra information that can also be used to identify payments in Stellar.
+ comment:
+ type: string
+ description: |
+ Optional metadata (only persisted in BitGo) to be applied to the transaction. Use this to add transaction-specific information such as the transaction's purpose or another identifier that you want to reference later. The value is shown in the UI in the transfer listing page.
+ maxLength: 256
+ trustlines:
+ type: array
+ items:
+ $ref: '#/components/schemas/Trustline'
+ description: List of trustlines to manage on the account.
+ required:
+ - trustlines
+ InternationalWireBankAccount:
+ title: International Wire Bank Account
+ type: object
+ description: |
+ An external bank account. 'routingNumber' must be set for US bank accounts.
+ 'swiftCode' must be set for banks outside the US.
+ properties:
+ accountNumber:
+ description: Bank account number or IBAN.
+ type: string
+ minLength: 1
+ maxLength: 34
+ example: 114584906
+ enterpriseId:
+ $ref: '#/components/schemas/Id'
+ address:
+ type: string
+ example: 2390 El Camino Real, Palo Alto, CA 94306
+ address1:
+ type: string
+ example: 2390 El Camino Real
+ address2:
+ type: string
+ example: Palo Alto, CA 94306
+ address3:
+ type: string
+ example: ''
+ name:
+ type: string
+ example: America California Bank
+ ownerName:
+ type: string
+ example: Donald E. Knuth
+ ownerAddress:
+ type: string
+ example: 2390 El Camino Real, Palo Alto, CA 94306
+ owner:
+ type: object
+ description: Bank account owner
+ properties:
+ name:
+ type: string
+ example: Donald E. Knuth
+ address1:
+ type: string
+ example: Computer Science Department
+ address2:
+ type: string
+ example: Stanford University
+ address3:
+ type: string
+ example: Stanford, CA 94305-9045
+ required:
+ - name
+ - address1
+ swiftCode:
+ description: Bank identifier code, as specified by ISO 9362. Required for international wire transfers.
+ type: string
+ example: DEUTDEFF500
+ minLength: 8
+ maxLength: 11
+ pattern: ^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?$
+ shortCountryCode:
+ $ref: '#/components/schemas/ShortCountryCode'
+ type:
+ $ref: '#/components/schemas/BankAccountType'
+ currency:
+ $ref: '#/components/schemas/BankAccountCurrency'
+ furtherCreditTo:
+ type: string
+ example: Donald E. Knuth
+ intermediaryBankName:
+ type: string
+ example: America California Bank
+ intermediaryBankId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ required:
+ - accountNumber
+ - address1
+ - shortCountryCode
+ - name
+ - owner
+ - enterpriseId
+ - swiftCode
+ InvalidAddress1:
+ title: Invalid address
+ allOf:
+ - $ref: '#/components/schemas/PlatformErrorNoName3'
+ - properties:
+ context:
+ type: object
+ properties:
+ address:
+ type: string
+ coin:
+ $ref: '#/components/schemas/Coin'
+ required:
+ - address
+ - coin
+ name:
+ type: string
+ description: Error code
+ enum:
+ - InvalidAddress
+ required:
+ - coin
+ - context
+ - address
+ - name
+ InvalidCustomNodeId:
+ allOf:
+ - $ref: '#/components/schemas/InvalidId1'
+ - properties:
+ name:
+ type: string
+ description: Error code
+ enum:
+ - InvalidCustomNodeId
+ required:
+ - name
+ InvalidEnterpriseId1:
+ title: Invalid enterprise ID
+ allOf:
+ - $ref: '#/components/schemas/InvalidId1'
+ - properties:
+ name:
+ type: string
+ description: Error code
+ enum:
+ - InvalidEnterpriseId
+ required:
+ - name
+ InvalidId1:
+ allOf:
+ - $ref: '#/components/schemas/PlatformErrorNoName3'
+ - properties:
+ context:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ required:
+ - context
+ InvalidOFAC:
+ title: Address error
+ allOf:
+ - $ref: '#/components/schemas/PlatformErrorNoName3'
+ - properties:
+ name:
+ type: string
+ description: Error code
+ enum:
+ - AddressError
+ error:
+ type: string
+ description: Human-readable error message
+ example: Address cannot be used
+ required:
+ - name
+ InvalidTransferId:
+ title: Invalid transfer ID
+ allOf:
+ - $ref: '#/components/schemas/InvalidId1'
+ - properties:
+ name:
+ type: string
+ description: Error code
+ enum:
+ - InvalidTransferId
+ required:
+ - name
+ InvalidUserId:
+ title: Invalid user ID
+ allOf:
+ - $ref: '#/components/schemas/InvalidId1'
+ - properties:
+ name:
+ type: string
+ description: Error code
+ enum:
+ - InvalidUserId
+ required:
+ - name
+ InvalidWalletId1:
+ title: Invalid wallet id
+ allOf:
+ - $ref: '#/components/schemas/InvalidId1'
+ - properties:
+ name:
+ type: string
+ description: Error code
+ enum:
+ - InvalidWalletId
+ required:
+ - name
+ Key:
+ title: Multisig
+ allOf:
+ - $ref: '#/components/schemas/KeyCommon'
+ - type: object
+ properties:
+ pub:
+ $ref: '#/components/schemas/Pub'
+ required:
+ - id
+ - type
+ KeyCommon:
+ type: object
+ properties:
+ encryptedPrv:
+ type: string
+ description: The encrypted private key
+ id:
+ $ref: '#/components/schemas/Id'
+ isBitGo:
+ type: boolean
+ description: True, if this key is owned by BitGo
+ example: false
+ source:
+ $ref: '#/components/schemas/KeySource'
+ type:
+ $ref: '#/components/schemas/KeyType'
+ required:
+ - id
+ - type
+ KeyCreateCoinSpecific:
+ type: object
+ properties:
+ lnbtc:
+ $ref: '#/components/schemas/KeyCreateCoinSpecificLnbtc'
+ tlnbtc:
+ $ref: '#/components/schemas/KeyCreateCoinSpecificLnbtc'
+ KeyCreateCoinSpecificLnbtc:
+ type: object
+ properties:
+ purpose:
+ allOf:
+ - $ref: '#/components/schemas/KeyPurpose'
+ description: The purpose of the key.
+ KeyPurpose:
+ type: string
+ enum:
+ - userAuth
+ - nodeAuth
+ example: userAuth
+ KeyShare:
+ type: object
+ properties:
+ from:
+ allOf:
+ - $ref: '#/components/schemas/KeyShareSource'
+ description: The source of the key share.
+ to:
+ allOf:
+ - $ref: '#/components/schemas/KeyShareSource'
+ description: The recipient of the key share.
+ publicShare:
+ type: string
+ description: Public part of the share concatenated with chain code (64+64 characters hex string).
+ privateShare:
+ type: string
+ description: Private part of the share concatenated with chain code (64+64 characters hex string). Depending on who the source and the recipient are, the share might be encrypted against the recipient's public key.
+ privateShareProof:
+ type: string
+ description: The certificate of the private share, signed by the source of the key share.
+ vssProof:
+ type: string
+ description: The verifiable shamir share verification value
+ required:
+ - from
+ - to
+ - publicShare
+ - privateShare
+ KeyShareResponse:
+ allOf:
+ - $ref: '#/components/schemas/KeyShare'
+ - type: object
+ properties:
+ hsmSig:
+ type: string
+ description: openPGP ASCII armored public key format string. Can be used to ensure that the "u" value came from the HSM. This contains the HSM signature/certification (signed by bitgo GPG key pair) of the public form of the "u" value and notation packets that indicate the commonPublicKey and the key ids of the two GPG keys used to share wrapping (userGPGPublicKey and backupGPGPublicKey).
+ required:
+ - hsmSig
+ KeySource:
+ type: string
+ enum:
+ - backup
+ - bitgo
+ - cold
+ - user
+ example: user
+ KeyTSS:
+ title: MPC
+ allOf:
+ - $ref: '#/components/schemas/KeyCommon'
+ - type: object
+ properties:
+ commonKeychain:
+ type: string
+ description: The commonKeychain for the key if this is a MPC key. This value is required to be set when the type is set to “tss” and when the source is either “user” or “backup”. Setting this indicates to BitGo that the owner of the key has received all key shares they needed for generating their key. This value is the concatenation of the common public key (32-byte) with the common chaincode (32-byte) as a hex string.
+ commonPub:
+ type: string
+ description: The common public key. This value is required to be set for BLS keys when the source is either "user" or "backup". Setting this indicates to BitGo that the owner of the key has received all key shares they needed for generating their key.
+ required:
+ - id
+ - type
+ - source
+ KeyTSSCreated:
+ title: MPC key
+ description: This schema contains KeyTSS attributes and several ephemeral fileds which are only available during the key creation since they are not stored.
+ allOf:
+ - $ref: '#/components/schemas/KeyTSS'
+ - type: object
+ properties:
+ commonKeychainSig:
+ type: string
+ description: openPGP ASCII armored pubkey format string. This contains the HSM signature/certification (signed by BitGo MPC GPG key pair) of the commonKeychain. This is necessary for verification purposes to ensure that the commonKeychain value came from BitGo's HSM. Used for full custody/OVC operations.
+ commonPublicKeySig:
+ type: string
+ description: OpenPGP ASCII pubkey armoured string containing HSM signature certification. Allows to ensure that commonPublicKey came from the HSM
+ keyShares:
+ type: array
+ items:
+ $ref: '#/components/schemas/KeyShareResponse'
+ walletHSMGPGPublicKeySigs:
+ type: string
+ description: GPG ASCII armored public key format that consists of HSM signature/certification and GPG notation data appended to the key signature subpackets
+ required:
+ - id
+ - type
+ - source
+ KeyType:
+ type: string
+ enum:
+ - tss
+ - independent
+ - blsdkg
+ default: independent
+ description: A value from a string enum denoting what kind of key this is. Defaults to “independent” indicating an on-chain key is requested. If set to “tss” this tells us that a “tss” key is requested.
+ example: tss
+ Keys:
+ type: array
+ items:
+ $ref: '#/components/schemas/Id'
+ example:
+ - 585951a5df8380e0e304a553
+ - 585951a5df8380e0e30d645c
+ - 585951a5df8380e0e30b6147
+ KeysResponse:
+ type: object
+ properties:
+ keys:
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/Key'
+ - $ref: '#/components/schemas/KeyTSS'
+ required:
+ - keys
+ ListBankAccountsResponse:
+ type: object
+ properties:
+ bankAccounts:
+ type: array
+ items:
+ $ref: '#/components/schemas/BankAccountResponse'
+ ListWalletSharesResponse:
+ type: object
+ properties:
+ incoming:
+ type: array
+ items:
+ $ref: '#/components/schemas/WalletShare1'
+ outgoing:
+ type: array
+ items:
+ $ref: '#/components/schemas/WalletShare1'
+ LockedSession:
+ type: object
+ properties:
+ created:
+ type: string
+ format: date-time
+ expires:
+ type: string
+ format: date-time
+ id:
+ $ref: '#/components/schemas/Id'
+ ip:
+ allOf:
+ - $ref: '#/components/schemas/Ip'
+ description: IP address of the client that requested this access token
+ ipRestrict:
+ type: array
+ items:
+ type: string
+ format: ipv4
+ description: IP addresses of clients that are allowed to use this token
+ origin:
+ type: string
+ example: test.bitgo.com
+ description: BitGo environment that issued this token. The token is only valid in this environment.
+ scope:
+ allOf:
+ - $ref: '#/components/schemas/Scope'
+ description: Session permissions
+ user:
+ $ref: '#/components/schemas/Id'
+ required:
+ - created
+ - expires
+ - id
+ - origin
+ - scope
+ - user
+ MalwareAddress:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/AddressString3'
+ date:
+ type: string
+ format: date-time
+ notes:
+ type: string
+ required:
+ - address
+ MalwareAddressResponse:
+ allOf:
+ - $ref: '#/components/schemas/MalwareAddress'
+ - type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - bitcoin
+ MemoObject:
+ type: object
+ properties:
+ type:
+ type: string
+ value:
+ type: string
+ description: |
+ Memo for Stellar or EOS. Type is only required for memos in Stellar transactions. The memo contains optional extra information that can also be used to identify payments in Stellar or EOS.
+ MemoString:
+ type: string
+ maxLength: 100
+ description: A memo for this specific transaction. This format is only available for Stacks.
+ Message1:
+ type: object
+ properties:
+ coin:
+ type: string
+ description: The coin associated with the wallet.
+ combineSigShare:
+ type: string
+ createdDate:
+ description: The date the message was created.
+ type: string
+ format: date-time
+ messageEncoded:
+ description: The message encoded as a hex string.
+ type: string
+ messageRaw:
+ description: The message as human readable text.
+ type: string
+ signatureShares:
+ type: array
+ items:
+ $ref: '#/components/schemas/SignatureShare'
+ state:
+ $ref: '#/components/schemas/TransactionRequestState1'
+ txHash:
+ type: string
+ description: The signed hex of the message.
+ updatedDate:
+ description: The date when the message state was updated.
+ type: string
+ format: date-time
+ required:
+ - messageRaw
+ - state
+ MultisigTypeVersion:
+ type: string
+ enum:
+ - MPCv2
+ MutabilityConstraint1:
+ type: string
+ description: |
+ Specifies whether a BitGo admin can change 'lockDate'
+ * 'managed' - Not locked, but requires approval from a BitGo admin to change
+ * 'permanent' - 'lockDate' cannot be changed
+ * 'sticky' - Not included in bulk unlock, but 'lockDate' can be individually changed
+ enum:
+ - managed
+ - permanent
+ - sticky
+ Name:
+ type: object
+ properties:
+ first:
+ type: string
+ example: Jane
+ full:
+ type: string
+ example: Jane Doe
+ last:
+ type: string
+ example: Doe
+ NearStakeIntent1:
+ title: Near Stake
+ allOf:
+ - $ref: '#/components/schemas/StakeIntent2'
+ - type: object
+ properties:
+ recipients:
+ type: array
+ items:
+ $ref: '#/components/schemas/RecipientEntry1'
+ required:
+ - recipients
+ NearUnstakeIntent1:
+ title: Near Unstake
+ allOf:
+ - $ref: '#/components/schemas/UnstakeIntent2'
+ - type: object
+ properties:
+ recipients:
+ type: array
+ items:
+ $ref: '#/components/schemas/RecipientEntry1'
+ required:
+ - recipients
+ NearWithdrawIntent1:
+ title: Near Claim Unstake
+ allOf:
+ - $ref: '#/components/schemas/WithdrawIntent2'
+ - type: object
+ properties:
+ recipients:
+ type: array
+ items:
+ $ref: '#/components/schemas/RecipientEntry1'
+ required:
+ - recipients
+ NextBatchPrevId:
+ type: string
+ format: uuid
+ example: 585951a5df8380e0e3063e9f
+ description: When a result set is truncated, this field returns the id of the last object in the previous batch. To get the next batch of results, pass this value via the 'prevId' query parameter.
+ NonParticipationTransactionBuildRequest:
+ title: Non participation transaction
+ allOf:
+ - $ref: '#/components/schemas/BuildParams'
+ - type: object
+ properties:
+ nonParticipation:
+ type: boolean
+ required:
+ - nonParticipation
+ NumKeychains:
+ description: |
+ Number of keys provided. This value must be 3 for hot wallets,
+ 1 for **ofc** wallets, and not specified for custodial wallets.
+ type: integer
+ example: 3
+ NumSignatures:
+ description: |
+ Number of signatures required. This value must be 2 for
+ hot wallets, 1 for **ofc** wallets, and not specified for custodial
+ wallets.
+ type: integer
+ example: 2
+ NumberOrString:
+ oneOf:
+ - type: string
+ pattern: ^-?[\d\.]+$
+ example: '1.5'
+ - type: number
+ PendingApproval1:
+ title: Pending approval
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ coin:
+ $ref: '#/components/schemas/Coin'
+ wallet:
+ $ref: '#/components/schemas/Id'
+ enterprise:
+ $ref: '#/components/schemas/Id'
+ organization:
+ $ref: '#/components/schemas/Id'
+ creator:
+ $ref: '#/components/schemas/Id'
+ createDate:
+ type: string
+ format: date-time
+ info:
+ anyOf:
+ - $ref: '#/components/schemas/PendingApprovalTransactionRequest'
+ - $ref: '#/components/schemas/PendingApprovalTransactionRequestFull1'
+ - $ref: '#/components/schemas/PendingApprovalUserChangeRequest'
+ - $ref: '#/components/schemas/PendingApprovalPolicyRuleRequest'
+ - $ref: '#/components/schemas/PendingApprovalUpdateApprovalsRequiredRequest'
+ - $ref: '#/components/schemas/PendingApprovalEnterpriseModificationResponse'
+ - $ref: '#/components/schemas/PendingApprovalEnterpriseInviteRequest'
+ state:
+ $ref: '#/components/schemas/PendingApprovalState1'
+ scope:
+ description: What kind of entity the Pending Approval is tied to
+ type: string
+ enum:
+ - enterprise
+ - wallet
+ userIds:
+ description: All the Users who should see this Pending Approval
+ type: array
+ items:
+ $ref: '#/components/schemas/Id'
+ approvalsRequired:
+ $ref: '#/components/schemas/ApprovalsRequired'
+ walletLabel:
+ type: string
+ resolvers:
+ type: array
+ items:
+ type: object
+ properties:
+ user:
+ type: string
+ date:
+ type: string
+ resolutionType:
+ type: string
+ enum:
+ - approved
+ - awaitingSignature
+ - pending
+ - pendingBitGoAdminApproval
+ - pendingCryptographicApproval
+ - pendingCustodianApproval
+ - pendingFinalApproval
+ - pendingIdVerification
+ - pendingVideoApproval
+ - processing
+ - rejected
+ signatures:
+ type: array
+ items:
+ type: string
+ videoApprover:
+ type: string
+ videoLink:
+ type: string
+ videoException:
+ type: string
+ required:
+ - user
+ - date
+ - resolutionType
+ - signatures
+ addressLabels:
+ type: array
+ items:
+ $ref: '#/components/schemas/PendingApprovalAddressLabel1'
+ PendingApprovalAddressLabel1:
+ description: Address labels of recipients in this Pending Approval
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/AddressString3'
+ label:
+ $ref: '#/components/schemas/AddressLabel'
+ walletLabel:
+ $ref: '#/components/schemas/WalletLabel'
+ required:
+ - address
+ - label
+ PendingApprovalState1:
+ anyOf:
+ - $ref: '#/components/schemas/PendingApprovalStatePending'
+ - $ref: '#/components/schemas/PendingApprovalStateResolved'
+ PendingApprovalTransactionRequestFull1:
+ title: Transaction request (full)
+ type: object
+ properties:
+ transactionRequestFull:
+ type: object
+ properties:
+ txRequestId:
+ type: string
+ policyUniqueId:
+ $ref: '#/components/schemas/Id'
+ verificationItems:
+ type: array
+ items:
+ type: string
+ verificationRuleId:
+ type: string
+ videoApprovers:
+ $ref: '#/components/schemas/IdArray'
+ walletRebalanceEventId:
+ $ref: '#/components/schemas/Id'
+ txRequest:
+ $ref: '#/components/schemas/TransactionRequest1'
+ required:
+ - txRequestId
+ type:
+ type: string
+ enum:
+ - transactionRequestFull
+ PendingApprovals:
+ title: Pending approvals
+ type: object
+ properties:
+ pendingApprovals:
+ type: array
+ items:
+ $ref: '#/components/schemas/PendingApproval1'
+ Policy1:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ date:
+ type: string
+ format: date-time
+ label:
+ type: string
+ latest:
+ type: boolean
+ rules:
+ type: array
+ items:
+ $ref: '#/components/schemas/PolicyRule1'
+ version:
+ type: integer
+ required:
+ - id
+ - latest
+ - rules
+ - version
+ PolicyRule1:
+ type: object
+ properties:
+ id:
+ type: string
+ lockDate:
+ type: string
+ description: The time at which this rule becomes immutable
+ format: date-time
+ mutabilityConstraint:
+ $ref: '#/components/schemas/MutabilityConstraint1'
+ coin:
+ $ref: '#/components/schemas/Coin'
+ type:
+ $ref: '#/components/schemas/PolicyRuleTriggers'
+ condition:
+ $ref: '#/components/schemas/PolicyRuleConditions1'
+ action:
+ $ref: '#/components/schemas/PolicyRuleActions'
+ required:
+ - id
+ - lockDate
+ - type
+ - action
+ PolicyRuleConditions1:
+ title: Type
+ description: Parameters for the type
+ oneOf:
+ - title: Velocity limit
+ type: object
+ properties:
+ amountString:
+ $ref: '#/components/schemas/IntegerString'
+ timeWindow:
+ type: integer
+ minimum: 0
+ maximum: 2678400
+ description: Time window in seconds for a velocity limit, between 1 and a month
+ - title: USD velocity limit
+ type: object
+ properties:
+ amountString:
+ $ref: '#/components/schemas/IntegerString'
+ timeWindow:
+ type: integer
+ minimum: 0
+ maximum: 2678400
+ description: Time window in seconds for a velocity limit, between 1 and 30 days
+ - title: Whitelist
+ type: object
+ properties:
+ addresses:
+ description: Addresses allowed/restricted for a whitelist/blacklist
+ type: array
+ items:
+ oneOf:
+ - type: string
+ - $ref: '#/components/schemas/Id'
+ - title: Advanced whitelist
+ type: object
+ properties:
+ entries:
+ description: Entries specifying which addresses/ wallets/ enterprises are on the whitelist
+ type: array
+ items:
+ $ref: '#/components/schemas/AdvancedListRuleEntry1'
+ - title: Webhook
+ type: object
+ properties:
+ url:
+ type: string
+ description: the url to query for the webhook
+ PolicyRuleUpdateConditions:
+ title: Type
+ description: Parameters for the type
+ anyOf:
+ - title: Advanced whitelist
+ type: object
+ properties:
+ add:
+ $ref: '#/components/schemas/AdvancedListRuleEntry1'
+ required:
+ - add
+ - title: Whitelist
+ type: object
+ properties:
+ add:
+ description: Address to add to the list
+ oneOf:
+ - type: string
+ - $ref: '#/components/schemas/Id'
+ metaData:
+ type: object
+ description: An object with arbitrary metadata about the added address.
+ properties:
+ addedBy:
+ type: string
+ description: Text indicating who added this address to the whitelist
+ additionalProperties: true
+ required:
+ - add
+ - title: Remove address from whitelist
+ type: object
+ properties:
+ remove:
+ description: Address to remove from the list
+ oneOf:
+ - type: string
+ - $ref: '#/components/schemas/Id'
+ - $ref: '#/components/schemas/AdvancedListRuleEntry1'
+ required:
+ - remove
+ - type: object
+ PsbtHex:
+ type: string
+ description: BIP174 serialization of a PSBT
+ example: 70736274ff0100530100000001ccf3d1b853dcff06a939afef91d8b178d74028516bb831d77fcfd5b1ce6715f00000000000ffffffff01f0b9f5050000000017a914567cd7b44f9f3a07c3138f37bf984b60fbbaf24387000000004f010488b21e0000000000000000003a922e29f0c8eb0db2a60484cbdcb631f6b107c9caae3ffdcf3e7d2ec1f6bcd00312148715f361dab685a669d42431e5d6d3f973404dab9c9fd1b950b279ad763404cc18ae084f010488b21e0000000000000000006d1d656d3ddd91c194c04565a3603702a21016ced14a265f38982d6275e67b6403d3bac2313a7c6b21cbb11b14b0d10341f922c0a403a8bd8c87f0dc820f35af6e04f65cd8694f010488b21e000000000000000000cb04fd63ab34d90fe6466b880e2a02ccf8a863374312991af8911b1aaab443340336ef228ffe9b8efffba052c32d334660dd1f8366cf8fe44ae5aa672b6b62909504f2ef0389000100c00100000000010101010101010101010101010101010101010101010101010101010101010101010000000000ffffffff0100e1f5050000000017a914d909474404c124a3d04c3fbff61faa49cf43c58b87024730440220360d495738071ed6930084713724262ef55d710e06d85f90b56727ab83c91b5702200ae452a812717ef0ac8866989ffc963d88c14f9694fa57ef046dd699bea1d5da01210247496797efe8b56780cd9bee19ac3d916624829cacd3f1236fa608000193e54d0000000001012000e1f5050000000017a914d909474404c124a3d04c3fbff61faa49cf43c58b87010469522102cc4d0fa411cac244486f8eb2c08e035ff7410f460a359ca7f8810991bd3b42092102d72fd0d0d90293434ad5fca160f278e03c614497aa4e425cf454e2c1330f96ab210344d884136df550202865ffbc6218c7f9c88fe6ce39c945798190badb38a752f153ae220602cc4d0fa411cac244486f8eb2c08e035ff7410f460a359ca7f8810991bd3b420914f2ef038900000000000000000000000000000000220602d72fd0d0d90293434ad5fca160f278e03c614497aa4e425cf454e2c1330f96ab14cc18ae080000000000000000000000000000000022060344d884136df550202865ffbc6218c7f9c88fe6ce39c945798190badb38a752f114f65cd8690000000000000000000000000000000000010069522103f6f40764bd5d63f200a2778883acf75e96f15095c998263c087270d0c97e7e7f21035ffb7abc70159e0469f4b989a6d5e1785a2904169ff050b2f468fe5d3d5dbbf22103e1524d7f6fc57ab3eacbb659b787106780a475d1db483952c2310b7e9a38975b53ae2202035ffb7abc70159e0469f4b989a6d5e1785a2904169ff050b2f468fe5d3d5dbbf214cc18ae0800000000000000000100000000000000220203e1524d7f6fc57ab3eacbb659b787106780a475d1db483952c2310b7e9a38975b14f65cd86900000000000000000100000000000000220203f6f40764bd5d63f200a2778883acf75e96f15095c998263c087270d0c97e7e7f14f2ef03890000000000000000010000000000000000
+ Pub:
+ type: string
+ description: public part of a key pair
+ example: xpub661MyMwAqRbcGMVhmc7wqQRYMtcX9LAvSj1pjB213y5TsrkV2uuzJjWnjBrT1FUeNWGPjaVm5p7o6jdNcQJrV1cy3a1R8NQ9m7LuYKA8RpH
+ RecipientEntry1:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/TxAddress'
+ amount:
+ $ref: '#/components/schemas/Amount2'
+ data:
+ type: string
+ tokenData:
+ $ref: '#/components/schemas/TokenData1'
+ required:
+ - address
+ - amount
+ RecipientTokenData:
+ type: object
+ properties:
+ tokenName:
+ type: string
+ description: Name of token, as represented in BitGoJS Statics package.
+ tokenContractAddress:
+ type: string
+ description: Address of token or smart contract. Required if token is unsupported by BitGo. Not required if passing "tokenName".
+ decimalPlaces:
+ type: integer
+ description: Relevant for fungible tokens. Not required if passing "tokenName". Defaults to smallest base unit.
+ tokenType:
+ type: string
+ description: Token standard
+ enum:
+ - ERC20
+ - ERC721
+ - ERC1155
+ tokenId:
+ type: string
+ description: ID of token to use when constructing transaction or calldata. Required for NFTs.
+ tokenQuantity:
+ type: string
+ description: Quantity of token to use when constructing calldata (amount to transfer).
+ RejectReshare:
+ type: object
+ properties:
+ userId:
+ $ref: '#/components/schemas/Id'
+ required:
+ - userId
+ ResendShareEmailResponse:
+ type: object
+ properties:
+ resent:
+ type: boolean
+ ReservedUnspent:
+ type: object
+ description: a ReservedUnspent object
+ properties:
+ id:
+ type: string
+ description: The id of the unspent in the form :
+ example: 003f688cc349f1fca8ac5ffa21671ca911b6ef351085c60733ed8c2ebf162cb8:2
+ walletId:
+ $ref: '#/components/schemas/Id'
+ expireTime:
+ type: string
+ format: date-time
+ userId:
+ $ref: '#/components/schemas/Id'
+ required:
+ - id
+ - walletId
+ - expireTime
+ - userId
+ STXStakingOptions:
+ title: STX
+ type: object
+ properties:
+ contractName:
+ type: string
+ description: The STX staking contract name. Use pox-3.
+ default: pox-3
+ functionName:
+ type: string
+ description: STX staking contract function.
+ oneOf:
+ - type: string
+ description: Function name used to delegate funds.
+ default: delegate-stx
+ - type: string
+ description: Function name used to revoke delegated funds.
+ default: revoke-delegate-stx
+ functionArgs:
+ type: array
+ description: The 4 Objects are required and in the order expressed.
+ items:
+ anyOf:
+ - title: uint128
+ type: object
+ properties:
+ type:
+ type: string
+ default: uint128
+ description: Type of argument. Use the default.
+ val:
+ type: string
+ description: Amount in micro-stx
+ - title: principal
+ type: object
+ properties:
+ type:
+ type: string
+ default: principal
+ description: Type of argument. Use the default.
+ val:
+ type: string
+ description: Address of the validator
+ - title: optional
+ type: object
+ properties:
+ type:
+ type: string
+ default: optional
+ description: Type of argument. Use the default.
+ val:
+ type: string
+ description: The number of cycles that the delegation will last. This is a mandatory field that must be greater than 1.
+ - title: optional
+ type: object
+ properties:
+ type:
+ type: string
+ default: optional
+ description: Type of argument. Use the default.
+ val:
+ type: object
+ properties:
+ type:
+ type: string
+ default: tuple
+ description: Type of argument. Use the default.
+ val:
+ type: array
+ description: The 2 objects are required and in the order expressed.
+ items:
+ anyOf:
+ - title: hash
+ type: object
+ properties:
+ key:
+ type: string
+ default: hashbytes
+ description: Type of argument. Use the default.
+ type:
+ type: string
+ default: buffer
+ description: Type of argument. Use the default.
+ val:
+ type: string
+ description: The BTC Address hash.
+ - title: version
+ type: object
+ properties:
+ key:
+ type: string
+ default: version
+ description: Type of argument. Use the default.
+ type:
+ type: string
+ default: buffer
+ description: Type of argument. Use the default.
+ val:
+ type: string
+ description: The BTC Address version.
+ SalesforceAccount:
+ type: object
+ description: A salesforce Account object. All of the visible fields in the given account will be returned
+ SalesforceJoinedAccountAndOpportunity:
+ type: object
+ description: A salesforce Opportunity object with an added field called accountDetails that contains the salesforce Account object
+ allOf:
+ - $ref: '#/components/schemas/SalesforceOpportunity'
+ - type: object
+ properties:
+ accountDetails:
+ $ref: '#/components/schemas/SalesforceAccount'
+ SalesforceOpportunity:
+ type: object
+ description: A salesforce Opportunity object. All of the visible fields in the given opportunity will be returned
+ SendLabel:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ coin:
+ $ref: '#/components/schemas/Coin'
+ address:
+ $ref: '#/components/schemas/AddressString3'
+ enterpriseId:
+ $ref: '#/components/schemas/Id'
+ label:
+ type: string
+ maxLength: 250
+ required:
+ - id
+ - coin
+ - address
+ - enterpriseId
+ - label
+ SendTransaction:
+ title: Sent Transaction
+ allOf:
+ - $ref: '#/components/schemas/BuildParams'
+ - type: object
+ description: Include buildParams from the build request to be stored in case of rebuilding.
+ type: object
+ description: This endpoint broadcasts half-signed transactions.
+ properties:
+ comment:
+ type: string
+ description: An optional memo for the transaction.
+ maxLength: 256
+ halfSigned:
+ type: object
+ properties:
+ txHex:
+ type: string
+ description: The half-signed transaction. The request must include this or a txHex.
+ txHex:
+ type: string
+ description: The half-signed, serialized transaction hex. Alternative to sending halfSigned.
+ sequenceId:
+ type: string
+ description: Your own unique ID
+ videoApprovers:
+ $ref: '#/components/schemas/VideoApprovers'
+ Session1:
+ type: object
+ properties:
+ created:
+ type: string
+ format: date-time
+ expires:
+ type: string
+ format: date-time
+ id:
+ $ref: '#/components/schemas/Id'
+ ip:
+ allOf:
+ - $ref: '#/components/schemas/Ip'
+ description: IP address of the client that requested this access token
+ ipRestrict:
+ type: array
+ items:
+ type: string
+ format: ipv4
+ description: IP addresses of clients that are allowed to use this token
+ origin:
+ type: string
+ example: test.bitgo.com
+ description: BitGo environment that issued this token
+ scope:
+ allOf:
+ - $ref: '#/components/schemas/Scope'
+ description: Session permissions
+ unlock:
+ allOf:
+ - $ref: '#/components/schemas/Unlock1'
+ description: The Unlock object, returned if this session is currently unlocked.
+ user:
+ $ref: '#/components/schemas/Id'
+ required:
+ - created
+ - expires
+ - id
+ - origin
+ - scope
+ - user
+ ShareWalletRequest:
+ type: object
+ properties:
+ permission:
+ type: string
+ description: |
+ Comma-separated list of privileges for a wallet. Includes:
+
+ - 'admin' - Can manage wallet policies and users and approve or reject pending approvals.
+ - 'freeze' - Can freeze a wallet, disabling all withdrawals.
+ - 'spend' - Can initiate withdrawals and generate new receive addresses.
+ - 'trade' - Can initiate trades from a Go Account ('trading' wallet type).
+ - 'view' - Can view balances and transactions.
+
+ Permissions don't overlap. Required parameter if 'reshare' is false.
+ enum:
+ - admin
+ - spend
+ - trade
+ - view
+ example: spend,view
+ message:
+ type: string
+ description: User readable message to display to the share recipient
+ reshare:
+ type: boolean
+ description: Flag for reinviting a user to the wallet. This is required if the invitee has already been invited to the wallet, but has changed their password and needs a new invite
+ disableEmail:
+ type: boolean
+ description: Flag for disabling invite notification email
+ user:
+ $ref: '#/components/schemas/Id'
+ keychain:
+ $ref: '#/components/schemas/WalletShareKeychain'
+ skipKeychain:
+ type: boolean
+ description: If true, allows creating wallet shares without a sharing a key (keychain) when the wallet is shared with spend permission.
+ required:
+ - user
+ ShareWalletResponse:
+ type: object
+ description: Wallet share object
+ properties:
+ id:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: Wallet share id
+ coin:
+ allOf:
+ - $ref: '#/components/schemas/Coin'
+ description: Coin of the wallet
+ wallet:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: Wallet id
+ walletLabel:
+ $ref: '#/components/schemas/WalletLabel'
+ fromUser:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: Id of the user sharing the wallet
+ toUser:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: Id of the user receiving the share
+ permissions:
+ type: string
+ allOf:
+ - $ref: '#/components/schemas/WalletPermission'
+ message:
+ type: string
+ description: Message for the user receiving the share
+ state:
+ type: string
+ allOf:
+ - $ref: '#/components/schemas/WalletShareState1'
+ description: State of the share
+ enterprise:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: If the wallet belongs to an enterprise, the id of that enterprise
+ pendingApprovalId:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: If the share generated a pending approval, the id of that pending approval
+ keychain:
+ $ref: '#/components/schemas/WalletShareKeychain'
+ ShortCountryCode:
+ type: string
+ description: Two-letter country code, as specified by ISO 3166-1 alpha-2
+ minLength: 2
+ maxLength: 2
+ example: US
+ enum:
+ - AD
+ - AE
+ - AF
+ - AG
+ - AI
+ - AL
+ - AM
+ - AO
+ - AQ
+ - AR
+ - AS
+ - AT
+ - AU
+ - AW
+ - AX
+ - AZ
+ - BA
+ - BB
+ - BD
+ - BE
+ - BF
+ - BG
+ - BH
+ - BI
+ - BJ
+ - BL
+ - BM
+ - BN
+ - BO
+ - BQ
+ - BR
+ - BS
+ - BT
+ - BV
+ - BW
+ - BY
+ - BZ
+ - CA
+ - CC
+ - CD
+ - CF
+ - CG
+ - CH
+ - CI
+ - CK
+ - CL
+ - CM
+ - CN
+ - CO
+ - CR
+ - CU
+ - CV
+ - CW
+ - CX
+ - CY
+ - CZ
+ - DE
+ - DJ
+ - DK
+ - DM
+ - DO
+ - DZ
+ - EC
+ - EE
+ - EG
+ - EH
+ - ER
+ - ES
+ - ET
+ - FI
+ - FJ
+ - FK
+ - FM
+ - FO
+ - FR
+ - GA
+ - GB
+ - GD
+ - GE
+ - GF
+ - GG
+ - GH
+ - GI
+ - GL
+ - GM
+ - GN
+ - GP
+ - GQ
+ - GR
+ - GS
+ - GT
+ - GU
+ - GW
+ - GY
+ - HK
+ - HM
+ - HN
+ - HR
+ - HT
+ - HU
+ - ID
+ - IE
+ - IL
+ - IM
+ - IN
+ - IO
+ - IQ
+ - IR
+ - IS
+ - IT
+ - JE
+ - JM
+ - JO
+ - JP
+ - KE
+ - KG
+ - KH
+ - KI
+ - KM
+ - KN
+ - KP
+ - KR
+ - KW
+ - KY
+ - KZ
+ - LA
+ - LB
+ - LC
+ - LI
+ - LK
+ - LR
+ - LS
+ - LT
+ - LU
+ - LV
+ - LY
+ - MA
+ - MC
+ - MD
+ - ME
+ - MF
+ - MG
+ - MH
+ - MK
+ - ML
+ - MM
+ - MN
+ - MO
+ - MP
+ - MQ
+ - MR
+ - MS
+ - MT
+ - MU
+ - MV
+ - MW
+ - MX
+ - MY
+ - MZ
+ - NA
+ - NC
+ - NE
+ - NF
+ - NG
+ - NI
+ - NL
+ - 'NO'
+ - NP
+ - NR
+ - NU
+ - NZ
+ - OM
+ - PA
+ - PE
+ - PF
+ - PG
+ - PH
+ - PK
+ - PL
+ - PM
+ - PN
+ - PR
+ - PS
+ - PT
+ - PW
+ - PY
+ - QA
+ - RE
+ - RO
+ - RS
+ - RU
+ - RW
+ - SA
+ - SB
+ - SC
+ - SD
+ - SE
+ - SG
+ - SH
+ - SI
+ - SJ
+ - SK
+ - SL
+ - SM
+ - SN
+ - SO
+ - SR
+ - SS
+ - ST
+ - SV
+ - SX
+ - SY
+ - SZ
+ - TC
+ - TD
+ - TF
+ - TG
+ - TH
+ - TJ
+ - TK
+ - TL
+ - TM
+ - TN
+ - TO
+ - TR
+ - TT
+ - TV
+ - TW
+ - TZ
+ - UA
+ - UG
+ - UM
+ - US
+ - UY
+ - UZ
+ - VA
+ - VC
+ - VE
+ - VG
+ - VI
+ - VN
+ - VU
+ - WF
+ - WS
+ - YE
+ - YT
+ - ZA
+ - ZM
+ - ZW
+ SimulateWalletWebhookRequestBody:
+ oneOf:
+ - title: Transfer
+ type: object
+ properties:
+ transferId:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: The ID of a transfer on the specified wallet. This must be provided if the webhook is of type 'transfer'.
+ required:
+ - transferId
+ - title: Pending Approval
+ type: object
+ properties:
+ pendingApprovalId:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: The ID of a pending approval on the specified wallet. This must be provided if the webhook is of type 'pendingApproval'.
+ required:
+ - pendingApprovalId
+ - title: Transaction request
+ type: object
+ properties:
+ txRequestId:
+ type: string
+ description: The txRequestId of a transaction request on the specified wallet. This must be provided if the webhook is of type 'txRequest' or 'txRequestTransaction'.
+ required:
+ - txRequestId
+ SkipCircuitBreakers:
+ type: boolean
+ description: |
+ When set to true, transactions that are exclusively sent to whitelisted
+ addresses on the same enterprise will skip circuit breaker evaluations.
+ TokenData1:
+ type: object
+ properties:
+ tokenType:
+ type: string
+ description: The type of standard of the token.
+ example: ERC721
+ tokenQuantity:
+ type: string
+ description: The quantity of token to transfer (should be 1 for ERC721).
+ example: '101'
+ tokenContractAddress:
+ type: string
+ description: Address of the token contract which is necessary if the token is not supported on WP.
+ example: '0x3d8e90d5F403a0A18dfeeAd36E30EF95D5E1ad3a'
+ tokenName:
+ type: string
+ description: Name of the token as it is supported on WP.
+ example: tpolygon:name
+ tokenId:
+ type: string
+ description: Id of the token to be transferred which is required for NFTs.
+ example: '123'
+ decimalPlaces:
+ type: number
+ description: Number of decimal places the token uses (for fungible tokens unsupported in WP).
+ example: 18
+ TotalBalances:
+ type: object
+ properties:
+ balances:
+ type: array
+ items:
+ type: object
+ properties:
+ balanceString:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: |
+ String representation of the balance in base units. Guaranteed to not lose
+ precision.
+ coin:
+ $ref: '#/components/schemas/Coin'
+ Transaction1:
+ type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/TransactionState1'
+ unsignedTx:
+ allOf:
+ - $ref: '#/components/schemas/TransactionRequestUnsignedTransaction'
+ description: Holds the unsigned transaction for this transaction in a tx-request.
+ signatureShares:
+ type: array
+ description: Only used for MPC coins. This is used to collect signature shares from and exchange them with the user. Holds the signature shares for this transaction in a tx-request.
+ items:
+ $ref: '#/components/schemas/SignatureShare'
+ commitmentShares:
+ type: array
+ description: Only used for MPC coins on EdDSA curve. This is used to collect commitment shares from and exchange them with the user. Holds the commitment shares for this transaction in a tx-request.
+ items:
+ $ref: '#/components/schemas/CommitmentShare'
+ txHash:
+ type: string
+ description: The hash of the transaction from the TxRequest that has been signed and is pending broadcast.
+ bitgoPaillierChallenge:
+ description: BitGo-to-user paillier challenge. Required when signing with ECDSA MPC wallets.
+ type: object
+ properties:
+ p:
+ type: array
+ items:
+ type: string
+ required:
+ - state
+ - unsignedTx
+ TransactionBuildRequest:
+ title: Withdrawal
+ allOf:
+ - $ref: '#/components/schemas/BuildParams'
+ - type: object
+ properties:
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ amount:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: String representation of the amount to send in base units (satoshis/litoshis/zatoshis/duffs). For doge, only string is allowed.
+ address:
+ allOf:
+ - $ref: '#/components/schemas/AddressString3'
+ description: The address to send to
+ memo:
+ anyOf:
+ - $ref: '#/components/schemas/MemoString'
+ - $ref: '#/components/schemas/MemoObject'
+ description: A list of recipient addresses and amounts. Must be present but empty for Child-Pays-For-Parent transactions.
+ txFormat:
+ $ref: '#/components/schemas/UtxoTransactionFormat'
+ required:
+ - recipients
+ TransactionBuildResult:
+ type: object
+ properties:
+ keyDerivationPath:
+ type: string
+ TransactionInitiateRequest:
+ allOf:
+ - $ref: '#/components/schemas/BuildParams'
+ - type: object
+ properties:
+ recipients:
+ type: array
+ items:
+ type: object
+ properties:
+ amount:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrIntegerString'
+ description: String representation of the amount to send in base units (satoshis/litoshis/zatoshis/duffs). For doge, only string is allowed.
+ address:
+ allOf:
+ - $ref: '#/components/schemas/AddressString3'
+ description: The address to send to
+ memo:
+ anyOf:
+ - $ref: '#/components/schemas/MemoString'
+ - $ref: '#/components/schemas/MemoObject'
+ description: A list of recipient addresses and amounts. Must be present but empty for Child-Pays-For-Parent transactions.
+ TransactionRequest1:
+ anyOf:
+ - $ref: '#/components/schemas/TransactionRequestLite1'
+ - $ref: '#/components/schemas/TransactionRequestFull1'
+ required:
+ - txRequestId
+ - version
+ - latest
+ - walletId
+ - state
+ - date
+ - userId
+ - intent
+ TransactionRequestBase1:
+ type: object
+ properties:
+ txRequestId:
+ type: string
+ description: A unique ID for the TxRequest document across all wallets. The combination of the txRequestId and version will always be unique.
+ version:
+ type: number
+ description: The version of the document. Data changes are done only with inserts and incrementing the version.
+ latest:
+ type: boolean
+ description: A boolean flag that indicates whether the document is the latest version of the TxRequest.
+ walletId:
+ type: string
+ description: The id of the Wallet the TxRequest is for.
+ walletType:
+ allOf:
+ - $ref: '#/components/schemas/WalletTypePublic'
+ description: The type describes who owns the keys to the wallet associated to the TxRequest.
+ enterpriseId:
+ type: string
+ description: If the wallet that owns the TxRequest is owned by an enterprise then this is the Id of said enterprise.
+ state:
+ $ref: '#/components/schemas/TransactionRequestState1'
+ date:
+ allOf:
+ - $ref: '#/components/schemas/DateTime'
+ description: The date and time this version of the TxRequest document was created.
+ createdDate:
+ allOf:
+ - $ref: '#/components/schemas/DateTime'
+ description: The date and time the version 1 TxRequest document was created.
+ userId:
+ type: string
+ description: The Id of the User that produced this version of the TxRequest document. Could have created a new document or updated an existing document.
+ initiatedBy:
+ type: string
+ description: The Id of the User that originally created the TxRequest document (initiated the TxRequest).
+ updatedBy:
+ type: string
+ description: The Id of the User that last updated the TxRequest document. This is an alias for the userId field.
+ intent:
+ $ref: '#/components/schemas/TransactionRequestIntent1'
+ intents:
+ type: array
+ items:
+ $ref: '#/components/schemas/TransactionRequestIntent1'
+ pendingApprovalId:
+ type: string
+ description: The id of the Pending Approval that was created for the TxRequest if one was required.
+ isCanceled:
+ type: boolean
+ description: True, if the transaction request is canceled.
+ required:
+ - txRequestId
+ - version
+ - latest
+ - walletId
+ - state
+ - date
+ - createdDate
+ - userId
+ - initiatedBy
+ - updatedBy
+ - intents
+ TransactionRequestFull1:
+ title: Full
+ allOf:
+ - $ref: '#/components/schemas/TransactionRequestBase1'
+ - type: object
+ properties:
+ transactions:
+ description: Transaction information.
+ type: array
+ items:
+ $ref: '#/components/schemas/Transaction1'
+ messages:
+ description: Messages for the transaction request.
+ type: array
+ items:
+ $ref: '#/components/schemas/Message1'
+ required:
+ - txRequestId
+ - version
+ - latest
+ - walletId
+ - state
+ - date
+ - userId
+ - intent
+ - transactions
+ TransactionRequestIntent1:
+ anyOf:
+ - $ref: '#/components/schemas/AdaStakeIntent1'
+ - $ref: '#/components/schemas/ConsolidateTokenIntent1'
+ - $ref: '#/components/schemas/CosmosContractCallIntent'
+ - $ref: '#/components/schemas/DOTClaimIntent'
+ - $ref: '#/components/schemas/DotPaymentIntent'
+ - $ref: '#/components/schemas/DotStakingIntent'
+ - $ref: '#/components/schemas/DotUnstakingIntent'
+ - $ref: '#/components/schemas/EthAccelerationIntent'
+ - $ref: '#/components/schemas/EthFillNonceIntent'
+ - $ref: '#/components/schemas/EthPaymentIntent'
+ - $ref: '#/components/schemas/ETHSignMessageIntent'
+ - $ref: '#/components/schemas/EthStakingIntent'
+ - $ref: '#/components/schemas/NearStakeIntent1'
+ - $ref: '#/components/schemas/NearUnstakeIntent1'
+ - $ref: '#/components/schemas/NearWithdrawIntent1'
+ - $ref: '#/components/schemas/SolClaimIntent'
+ - $ref: '#/components/schemas/SolCreateAssociatedTokenAccountIntent'
+ - $ref: '#/components/schemas/SOLPaymentIntent'
+ - $ref: '#/components/schemas/SolStakeIntent'
+ - $ref: '#/components/schemas/SolUnstakeIntent'
+ - $ref: '#/components/schemas/TransferTokenIntent1'
+ - $ref: '#/components/schemas/UnstakeIntent2'
+ - $ref: '#/components/schemas/WalletRecoveryIntent1'
+ - $ref: '#/components/schemas/WithdrawIntent2'
+ TransactionRequestLite1:
+ title: Lite
+ allOf:
+ - $ref: '#/components/schemas/TransactionRequestBase1'
+ - type: object
+ properties:
+ unsignedTxs:
+ type: array
+ description: Holds all unsigned transactions that will be used to fulfill the TxRequest for MPC wallets.
+ items:
+ $ref: '#/components/schemas/TransactionRequestUnsignedTransaction'
+ signatureShares:
+ type: array
+ description: Only used for MPC coins. This is used to collect signature shares from and exchange them with the user.
+ items:
+ $ref: '#/components/schemas/SignatureShare'
+ commitmentShares:
+ type: array
+ description: Only used for MPC coins on EdDSA curve. This is used to collect commitment shares from and exchange them with the user.
+ items:
+ $ref: '#/components/schemas/CommitmentShare'
+ txHashes:
+ type: array
+ items:
+ type: string
+ description: The hashes of all transactions from the TxRequest that have been signed and are pending broadcast.
+ required:
+ - txRequestId
+ - version
+ - latest
+ - walletId
+ - state
+ - date
+ - userId
+ - intent
+ TransactionRequestState1:
+ type: string
+ enum:
+ - initialized
+ - pendingApproval
+ - pendingUserCommitment
+ - pendingUserRShare
+ - pendingUserGShare
+ - readyToSend
+ - pendingUserSignature
+ - pendingDelivery
+ - signed
+ - delivered
+ - canceled
+ - rejected
+ - failed
+ TransactionResponse:
+ type: object
+ properties:
+ transfer:
+ $ref: '#/components/schemas/Transfer'
+ txid:
+ type: string
+ description: The transaction's unique identifier
+ tx:
+ type: string
+ description: The encoded transaction, either base64 for XLM or hex for other coins
+ status:
+ $ref: '#/components/schemas/TransferState'
+ TransactionState1:
+ type: string
+ enum:
+ - initialized
+ - pendingSignature
+ - eddsaPendingCommitment
+ - eddsaPendingRShare
+ - eddsaPendingGShare
+ - readyToCombineShares
+ - signed
+ - held
+ - delivered
+ - invalidSignature
+ - rejected
+ - ecdsaMPCv2Round1
+ - ecdsaMPCv2Round2
+ - ecdsaMPCv2Round3
+ Transfer:
+ type: object
+ properties:
+ coin:
+ $ref: '#/components/schemas/Coin'
+ id:
+ $ref: '#/components/schemas/Id'
+ wallet:
+ $ref: '#/components/schemas/Id'
+ enterprise:
+ $ref: '#/components/schemas/Id'
+ txid:
+ $ref: '#/components/schemas/TxId'
+ txidType:
+ type: string
+ description: The type of the transaction id
+ enum:
+ - transactionHash
+ - blockHash
+ height:
+ type: integer
+ description: The height of the block this Transfer was confirmed in (999999999 if unconfirmed)
+ heightId:
+ type: string
+ description: The unique height id of the block
+ date:
+ type: string
+ format: date-time
+ description: The date this Transfer was last updated
+ confirmations:
+ type: integer
+ description: The number of blocks that have been confirmed since this Transfer's block was confirmed
+ type:
+ type: string
+ description: Defines whether or not this Transfer was sent or received by the user
+ enum:
+ - send
+ - receive
+ value:
+ type: integer
+ description: The total value (in base units) sent by this Transfer (may be approximate for ETH and other coins where amounts in base units can exceed 2^53 - 1)
+ valueString:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: The total value (in base units) sent by this Transfer represented as a String
+ intendedValueString:
+ description: A string representation (in base units) of the initial value for the transfer. This is present because when a transaction fails on chain, its value is mutated to be zero. This string is immutable and will always be the intended value of the initial transfer regardless of the final state of the transaction.
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ baseValue:
+ type: integer
+ description: The value (in base units) sent by this transfer, excluding network fees. BitGo is deprecating this field in the future. Instead, use baseValueWithoutFees.
+ baseValueString:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: The value (in base units) sent by this transfer, excluding network fees represented as a string. BitGo is deprecating this field in the future. Instead, use baseValueWithoutFees.
+ baseValueWithoutFees:
+ type: integer
+ description: The value (in base units) sent by this transfer excluding network fees.
+ baseValueWithoutFeesString:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: The value (in base units) sent by this transfer, excluding network fees, represented as a string
+ feeString:
+ type: string
+ description: The Transfer's fee (in base units) represented as a String
+ payGoFee:
+ type: integer
+ description: The Transfer's BitGo fee (in base units)
+ payGoFeeString:
+ type: string
+ description: The Transfer's BitGo fee (in base units) represented as a String
+ usd:
+ type: number
+ description: The amount of USD of this Transfer (will be negative if it's a send)
+ usdRate:
+ type: number
+ description: The USD price at the time this Transfer was created
+ state:
+ $ref: '#/components/schemas/TransferState'
+ tags:
+ type: array
+ description: The tags to be used on this Transfer (used in Policies)
+ items:
+ $ref: '#/components/schemas/Id'
+ history:
+ type: array
+ description: An audit log of events that have happened to the Transfer during its lifecycle
+ items:
+ type: object
+ properties:
+ date:
+ type: string
+ format: date-time
+ description: The date of this history object
+ user:
+ $ref: '#/components/schemas/Id'
+ action:
+ type: string
+ enum:
+ - created
+ - signed
+ - unconfirmed
+ - confirmed
+ - approved
+ - commented
+ - removed
+ - failed
+ - rejected
+ comment:
+ type: string
+ description: If this history object is of action 'commented', this is the comment from the user
+ comment:
+ type: string
+ description: A comment from the user
+ vSize:
+ type: integer
+ description: The size of the transaction
+ coinSpecific:
+ type: object
+ description: Transfer fields specific to each coin type
+ sequenceId:
+ type: string
+ description: |
+ A 'sequenceId' is a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With a 'sequenceId' you can easily reference transfers and transactions—for example, to safely retry sending. Because the system only confirms one send request per 'sequenceId' (and fails all subsequent attempts), you can retry sending without the risk of double spending. The 'sequenceId' is only visible to users on the wallet and is not shared publicly.
+ entries:
+ type: array
+ description: An array of objects describing the change in address balances made as a result of this Transfer
+ items:
+ type: object
+ properties:
+ address:
+ type: string
+ description: An address affected by this Transfer
+ example: 2NAUwNgXaoFj2VVnSEvNLGuez8CfdU2UCMZ
+ wallet:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: Only visible when the user has access to the wallet
+ value:
+ type: integer
+ description: The change (in base units) in the address's balance
+ valueString:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: The change (in base units) in the address's balance represented as a String
+ isChange:
+ type: boolean
+ description: True if this address is a change address (only exists for UTXO coins) and if this is a 'sent' Transfer
+ isPayGo:
+ type: boolean
+ description: True if this address is the BitGo PayGo wallet
+ token:
+ type: string
+ description: If this is a token entry, the token's symbol
+ example: omg
+ label:
+ type: string
+ description: Names of addresses given by the user.
+ failed:
+ type: boolean
+ description: true if this entry is failed.
+ associatedNativeCoinAddress:
+ type: string
+ description: The native coin receive address associated with the solana ATA address. This is currently present only for BitGo addresses.
+ required:
+ - address
+ - valueString
+ usersNotified:
+ type: boolean
+ description: Whether BitGo already sent notifications to the users of the transfer wallet
+ label:
+ type: string
+ description: Address labels (if any) from entries concatenated.
+ replaces:
+ type: array
+ description: Transaction IDs that this transfer replaces.
+ items:
+ type: string
+ replacedBy:
+ type: array
+ description: Transaction IDs that replace this transfer.
+ items:
+ type: string
+ required:
+ - id
+ - coin
+ - wallet
+ - txid
+ - height
+ - date
+ - confirmations
+ - type
+ - valueString
+ - usd
+ - usdRate
+ - state
+ - tags
+ - history
+ - comment
+ - coinSpecific
+ TransferState:
+ type: string
+ example: confirmed
+ enum:
+ - confirmed
+ - failed
+ - initialized
+ - pendingApproval
+ - rejected
+ - removed
+ - replaced
+ - signed
+ - unconfirmed
+ TransferTokenIntent1:
+ title: Transfer Token
+ allOf:
+ - $ref: '#/components/schemas/BaseIntent2'
+ - type: object
+ properties:
+ intentType:
+ type: string
+ enum:
+ - transferToken
+ recipients:
+ type: array
+ items:
+ $ref: '#/components/schemas/RecipientEntry1'
+ TransfersResponse:
+ type: object
+ properties:
+ transfers:
+ type: array
+ items:
+ $ref: '#/components/schemas/AnnotatedTransferWithInputsOutputs'
+ coin:
+ $ref: '#/components/schemas/Coin'
+ nextBatchPrevId:
+ $ref: '#/components/schemas/NextBatchPrevId'
+ required:
+ - transfers
+ - coin
+ Trustline:
+ type: object
+ properties:
+ token:
+ type: string
+ description: One of the supported coin types for Stellar tokens listed in [Coin-specific-implementation](#tag/Coin-specific-implementation)
+ example: txlm:BST-GBQTIOS3XGHB7LVYGBKQVJGCZ3R4JL5E4CBSWJ5ALIJUHBKS6263644L
+ action:
+ enum:
+ - add
+ - remove
+ limit:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: String representation of the amount to limit in base units (stroops)
+ TxBase64:
+ type: string
+ description: Serialized transaction base64 (applies to XLM only)
+ example: AAAAAGRnXg19FteG/7zPd+jDC7LDvRlzgfFC+JrPhRep0kYiAAAAZAB/4cUAAAACAAAAAAAAAAAAAAABAAAAAQAAAABkZ14NfRbXhv+8z3fowwuyw70Zc4HxQviaz4UXqdJGIgAAAAEAAAAAmljT/+FedddnAHwo95dOC4RNy6eVLSehaJY34b9GxuYAAAAAAAAAAAehIAAAAAAAAAAAAUrgwAkAAABAOExcvVJIUJv9HuVfbV0y7lRPRARv4wDtcdhHG7QN40h5wQ2uwPF52OGQ8KY+66a1A/8lNKB75sgj2xj44s8lDQ==
+ TxHex:
+ type: string
+ description: Serialized transaction hex
+ example: 01000000000101d58f82d996dd872012675adadf4606734906b25a413f6e2ee535c0c10aef96020000000000ffffffff028de888000000000017a914c91aa24f65827eecec775037d886f2952b73cbe48740420f000000000017a9149304d18497b9bfe9532778a0f06d9fff3b3befaf870500473044022023d7210ba6d8bbd7a28b8af226f40f7235caab79156f93f9c9969fc459ea7f73022050fbdca788fba3de686b66b3501853695ff9d6f375867470207d233b099576e001000069522103d4788cda52f91c1f6c82eb91491ca76108c9c5f0839bc4f02eccc55fedb3311c210391bcef9dcc89570a79ba3c7514e65cd48e766a8868eca2769fa9242fdcc796662102ef3c5ebac4b54df70dea1bb2655126368be10ca0462382fcb730e55cddd2dd6a53aec8b11400
+ Unlock1:
+ type: object
+ properties:
+ time:
+ type: string
+ format: date-time
+ expires:
+ type: string
+ format: date-time
+ txCount:
+ type: integer
+ txValue:
+ type: integer
+ txValueLimit:
+ type: number
+ spendingLimits:
+ $ref: '#/components/schemas/SpendingLimits'
+ UnlockRequest:
+ type: object
+ properties:
+ duration:
+ type: integer
+ minimum: 1
+ maximum: 3600
+ default: 600
+ description: Number of seconds that the session will stay unlocked
+ otp:
+ $ref: '#/components/schemas/Otp'
+ Unspent:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/UnspentId'
+ address:
+ type: string
+ description: The address of this unspent
+ example: 2MsKxhhkDo5WaLaYRGA9Cr3iSQPyXsu6Fi2
+ value:
+ type: integer
+ valueString:
+ $ref: '#/components/schemas/IntegerString'
+ blockHeight:
+ type: integer
+ description: The block this Unspent was created in
+ date:
+ type: string
+ format: date-time
+ description: The date this unspent was created
+ example: '2017-03-25T23:01:40.248Z'
+ coinbase:
+ type: boolean
+ description: True if this unspent came from the coinbase transaction
+ wallet:
+ $ref: '#/components/schemas/Id'
+ fromWallet:
+ $ref: '#/components/schemas/Id'
+ chain:
+ type: integer
+ description: The type of this unspent's address (P2SH, P2WSH, etc...)
+ example: 0
+ index:
+ type: integer
+ description: A monotonic counter used when creating new addresses
+ redeemScript:
+ type: string
+ description: The Script program used to cryptographically verify spending this unspent
+ example: 522102f1e990044d2a8be43d5b500bbdcb36277b97a4b07e01c5101ae8ec1568bfd6532103dab7dc82f2fc8c28200c1bdeca9c4cf181e0ca257395829cbd599395048afb57210205422e711827d8356f2fb75334d863941dd7eb45bd5788fa231dc5fa755135b653ae
+ witnessScript:
+ type: string
+ description: The segwit Script program used to cryptographically verify spending this unspent
+ example: 52210351311cd81144e6cbdba561d24dfc22644cb02d053339d4beace03231b3be4f372103a8d0c1a375b9ee1a2411f9f8e18373be7f228b18260f63bbfca48809170ed08b2103c3bd8bd074657bbe9ee6714b31a4a54b6fd5b5cda0e1030122f9bf46b5034f6b53ae
+ isSegwit:
+ type: boolean
+ UnspentId:
+ type: string
+ description: The id of the unspent in the form :
+ example: 003f688cc349f1fca8ac5ffa21671ca911b6ef351085c60733ed8c2ebf162cb8:2
+ UpdateBankAccountRequest:
+ type: object
+ description: Updates some fields on a bank account. The server only allows updating of bank accounts that have their verificationState set to 'rejected' or 'approved'. Does not allow updating of critical fields like accountNumber, enterpriseId, id, routingNumber, swiftCode.
+ properties:
+ address1:
+ type: string
+ example: 2390 El Camino Real
+ address2:
+ type: string
+ example: Palo Alto, CA 94306
+ address3:
+ type: string
+ example: ''
+ name:
+ type: string
+ example: America California Bank
+ owner:
+ type: object
+ description: Bank account owner
+ properties:
+ name:
+ type: string
+ example: Donald E. Knuth
+ address1:
+ type: string
+ example: Computer Science Department
+ address2:
+ type: string
+ example: Stanford University
+ address3:
+ type: string
+ example: Stanford, CA 94305-9045
+ shortCountryCode:
+ $ref: '#/components/schemas/ShortCountryCode'
+ address:
+ type: string
+ example: 2390 El Camino Real, Palo Alto, CA 94306
+ ownerName:
+ type: string
+ example: Donald E. Knuth
+ ownerAddress:
+ type: string
+ example: 2390 El Camino Real, Palo Alto, CA 94306
+ type:
+ type: string
+ enum:
+ - checking
+ - savings
+ furtherCreditTo:
+ type: string
+ example: Donald E. Knuth
+ intermediaryBankId:
+ type: string
+ example: 5c645791cf8eb19304292a8e3365fee3
+ intermediaryBankName:
+ type: string
+ example: Bank of America
+ UpdateCommentRequest:
+ type: object
+ properties:
+ comment:
+ type: string
+ description: The new comment for the transfer.
+ UpdateRemovePolicyRule:
+ type: object
+ properties:
+ coin:
+ allOf:
+ - $ref: '#/components/schemas/Coin'
+ description: |
+ Policy rules of types 'allTx', 'coinAddressWhitelist', 'coinAddressBlacklist' and 'webhook' are recommended to
+ be used without setting a coin so that they will apply to all coins and tokens that could be in a wallet. If
+ your policy rule is of one of these types and has a coin set on it, you also need to set the coin in the body.
+ This is necessary because the id alone may not be sufficient for finding the correct rule to update or delete.
+ id:
+ type: string
+ description: The id of the rule. The combination of id and coin must be unique among rules in the policy.
+ type:
+ $ref: '#/components/schemas/PolicyRuleTriggers'
+ condition:
+ $ref: '#/components/schemas/PolicyRuleUpdateConditions'
+ action:
+ $ref: '#/components/schemas/PolicyRuleActions'
+ required:
+ - id
+ - type
+ - action
+ UpdateSendLabel:
+ type: object
+ properties:
+ label:
+ type: string
+ maxLength: 250
+ description: A human-readable mapping to an address
+ required:
+ - label
+ UpdateWallet:
+ type: object
+ properties:
+ approvalsRequired:
+ $ref: '#/components/schemas/ApprovalsRequired'
+ buildDefaults:
+ $ref: '#/components/schemas/WalletBuildDefaults'
+ disableTransactionNotifications:
+ type: boolean
+ label:
+ $ref: '#/components/schemas/WalletLabel'
+ customChangeKeySignatures:
+ $ref: '#/components/schemas/CustomChangeKeySignatures'
+ coinSpecific:
+ $ref: '#/components/schemas/WalletUpdateCoinSpecific'
+ User:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ isActive:
+ type: boolean
+ isFrozen:
+ type: boolean
+ freezeReason:
+ type: string
+ example: Frozen due to suspicious activity
+ name:
+ $ref: '#/components/schemas/Name'
+ username:
+ $ref: '#/components/schemas/Email'
+ email:
+ type: object
+ properties:
+ email:
+ $ref: '#/components/schemas/Email'
+ verified:
+ type: boolean
+ example: true
+ phone:
+ type: object
+ properties:
+ phone:
+ type: string
+ example: 408-718-6885
+ verified:
+ type: boolean
+ example: true
+ country:
+ type: string
+ example: USA
+ state:
+ type: string
+ example: New York
+ UserKycState:
+ type: string
+ enum:
+ - approved
+ - flagged
+ - flagged_retry_allowed
+ - inreview
+ - pending
+ - rejected
+ - unverified
+ UserSharingKey:
+ type: object
+ required:
+ - email
+ properties:
+ email:
+ $ref: '#/components/schemas/Email'
+ UtxoFeeInfo:
+ title: UTXO
+ type: object
+ description: feeInfo (UTXO)
+ properties:
+ size:
+ type: integer
+ description: Estimated size of the transaction in bytes
+ example: 776
+ fee:
+ type: integer
+ description: Estimated fee in base unit for the transaction
+ example: 38800
+ feeRate:
+ allOf:
+ - $ref: '#/components/schemas/IntegerOrString'
+ - example: 10000
+ description: |
+ Custom minimum fee rate in a coin's base unit per kilobyte (or virtual kilobyte)--for example, satoshis per kvByte or microAlgos per kByte. If the applied 'feeRate' does not meet a coin's required minimum transaction fee amount, the minimum is still applied (for example, 1000 sat/kvByte or a flat 1000 microAlgos).
+ payGoFee:
+ type: integer
+ description: BitGo fee of the transaction (in base units)
+ example: 0
+ payGoFeeString:
+ type: integer
+ description: BitGo fee of the transaction (in base units) represented as a String
+ example: '0'
+ UtxoTransactionFormat:
+ type: string
+ description: |-
+ [UTXO only] Format of the returned transaction hex serialization.
+ 'legacy' for serialized transaction in custom bitcoinjs-lib format. 'psbt' for BIP174 serialized transaction
+ enum:
+ - legacy
+ - psbt
+ - psbt-lite
+ default: legacy
+ example: psbt
+ UtxoTxInfo:
+ title: UTXO
+ type: object
+ description: txInfo (UTXO)
+ properties:
+ changeAddresses:
+ type: array
+ items:
+ $ref: '#/components/schemas/AddressString3'
+ nOutputs:
+ type: integer
+ description: Number of outputs
+ example: 2
+ nP2SHInputs:
+ type: integer
+ example: 0
+ nSegwitInputs:
+ type: integer
+ example: 1
+ unspents:
+ type: array
+ items:
+ $ref: '#/components/schemas/Unspent'
+ walletAddressDetails:
+ $ref: '#/components/schemas/Address2'
+ VideoApprovers:
+ type: array
+ items:
+ $ref: '#/components/schemas/Id'
+ description: |
+ A list of public ids of users that should do the video id verification for the transaction that is being sent or initiated.
+ minItems: 1
+ Wallet:
+ type: object
+ properties:
+ admin:
+ type: object
+ properties:
+ policy:
+ $ref: '#/components/schemas/Policy1'
+ allowBackupKeySigning:
+ type: boolean
+ approvalsRequired:
+ $ref: '#/components/schemas/ApprovalsRequired'
+ balanceString:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: Total balance in base units (e.g. Satoshis)
+ buildDefaults:
+ $ref: '#/components/schemas/WalletBuildDefaults'
+ coin:
+ $ref: '#/components/schemas/Coin'
+ coinSpecific:
+ $ref: '#/components/schemas/WalletCoinSpecific'
+ custodialWallet:
+ type: object
+ description: The associated custodial wallet object
+ custodialWalletId:
+ $ref: '#/components/schemas/Id'
+ deleted:
+ type: boolean
+ disableTransactionNotifications:
+ type: boolean
+ enterprise:
+ $ref: '#/components/schemas/Id'
+ freeze:
+ type: object
+ properties:
+ time:
+ type: string
+ format: dateTime
+ expires:
+ type: string
+ format: dateTime
+ id:
+ $ref: '#/components/schemas/Id'
+ isCold:
+ type: boolean
+ keys:
+ $ref: '#/components/schemas/Keys'
+ label:
+ $ref: '#/components/schemas/WalletLabel'
+ m:
+ $ref: '#/components/schemas/NumSignatures'
+ 'n':
+ $ref: '#/components/schemas/NumKeychains'
+ nodeId:
+ $ref: '#/components/schemas/Id'
+ receiveAddress:
+ $ref: '#/components/schemas/Address2'
+ recoverable:
+ type: boolean
+ tags:
+ type: array
+ items:
+ $ref: '#/components/schemas/Id'
+ spendableBalanceString:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: Spendable balance in base units (e.g. Satoshis)
+ unspentCount:
+ type: number
+ example: 100
+ description: Number of unspent outputs present in the wallet
+ startDate:
+ allOf:
+ - $ref: '#/components/schemas/DateTime'
+ description: Wallet creation time
+ type:
+ $ref: '#/components/schemas/WalletTypePublic'
+ users:
+ type: array
+ items:
+ $ref: '#/components/schemas/WalletUser'
+ customChangeKeySignatures:
+ $ref: '#/components/schemas/CustomChangeKeySignatures'
+ multisigType:
+ $ref: '#/components/schemas/WalletMultisigType'
+ multisigTypeVersion:
+ $ref: '#/components/schemas/MultisigTypeVersion'
+ required:
+ - approvalsRequired
+ - coin
+ - deleted
+ - disableTransactionNotifications
+ - id
+ - label
+ WalletBalance:
+ allOf:
+ - $ref: '#/components/schemas/Balance'
+ - type: object
+ properties:
+ tokens:
+ type: object
+ description: Object of key value pairs where the keys are the token symbols (e.g. omg) and the values are the balance data for that token symbol.
+ additionalProperties:
+ type: object
+ properties:
+ balanceString:
+ type: string
+ example: '30000'
+ confirmedBalanceString:
+ type: string
+ example: '20000'
+ heldBalanceString:
+ type: string
+ description: The difference between the balanceString and the spendableBalanceString.
+ example: '10000'
+ spendableBalanceString:
+ type: string
+ example: '20000'
+ stakedBalanceString:
+ type: string
+ example: '20000'
+ transferCount:
+ type: number
+ example: 100
+ unsupportedTokens:
+ type: object
+ description: Object of key value pairs where the keys are the unsupported token contracts (e.g. 0x9928e4046d7c6513326ccea028cd3e7a91c7590a) and the values are the balance data for that token contract. UnsupportedTokens will only be returned for wallets that supports Metamask Institutional and has enableMMI flag turned on
+ additionalProperties:
+ type: object
+ properties:
+ balanceString:
+ type: string
+ example: '30000'
+ confirmedBalanceString:
+ type: string
+ example: '20000'
+ heldBalanceString:
+ type: string
+ description: The difference between the balanceString and the spendableBalanceString.
+ example: '10000'
+ spendableBalanceString:
+ type: string
+ example: '20000'
+ stakedBalanceString:
+ type: string
+ example: '20000'
+ transferCount:
+ type: number
+ example: 100
+ WalletBuildDefaults:
+ type: object
+ properties:
+ minFeeRate:
+ type: integer
+ minimum: 1000
+ nullable: true
+ example: 12000
+ description: |
+ (UTXO only) Wallet-level minimum fee rate that must be greater than or equal to the default of 1000 satoshis/kvByte. Per transaction, you can override 'minFeeRate' with the 'feeRate' parameter.
+ maxFeeRate:
+ type: integer
+ minimum: 1000
+ nullable: true
+ example: 18000
+ description: |
+ (UTXO only) Wallet-level maximum fee rate that must be greater than or equal to the default of 1000 satoshis/kvByte. Per transaction, you can override 'maxFeeRate' with the 'feeRate' parameter.
+ feeMultiplier:
+ type: number
+ minimum: 1
+ nullable: true
+ example: 1.2
+ description: |
+ (UTXO only) Wallet-level custom multiplier for fee rate that must be greater than 1. The default multiplier is 1.2. The maximum fee rate still limits the new fee.
+ changeAddressType:
+ $ref: '#/components/schemas/DefaultChangeAddressType'
+ txFormat:
+ type: string
+ example: psbt
+ enum:
+ - legacy
+ - psbt
+ - psbt-lite
+ description: |
+ (UTXO only) The default transaction format to use for this wallet. Per transaction, you can override the default with the 'txFormat' parameter.
+ WalletCoinSpecific:
+ oneOf:
+ - title: Wallet
+ type: object
+ properties:
+ creationFailure:
+ type: array
+ items:
+ $ref: '#/components/schemas/TxId'
+ description: Includes list of fail initialization txids
+ pendingChainInitialization:
+ type: boolean
+ description: Whether the wallet needs to be initialized on the chain
+ - $ref: '#/components/schemas/WalletCoinSpecificCosmos'
+ - $ref: '#/components/schemas/WalletCoinSpecificXlm'
+ WalletCoinSpecificCosmos:
+ title: ATOM
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ description: Wallet address to send or receive assets.
+ example: cosmos1uvrgkp82dmeks368d7g2ejzm3axhapzveh5uek
+ lastChainIndex:
+ type: number
+ description: Index of last address that was derived.
+ example: 1
+ lastMemoId:
+ type: string
+ description: A running counter of the last known memo id. The first one is 0.
+ example: '0'
+ pendingEcdsaTssInitialization:
+ type: boolean
+ description: If true, this wallet cannot sign transactions or messages as the enterprise has not finished MPC setup.
+ example: false
+ required:
+ - rootAddress
+ - lastMemoId
+ WalletCoinSpecificXlm:
+ title: XLM
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ description: Root address of the wallet
+ example: GCTTCPH4IIDK7P72FFAEJ3ZFN6WDHJH6GGMRPHPM56ZWGIQ7B3XTIJAM
+ stellarUsername:
+ type: string
+ description: Username for the user's Stellar address
+ example: foo_bar@baz.com
+ homeDomain:
+ type: string
+ description: Home domain of a Stellar account
+ example: bitgo.com
+ stellarAddress:
+ type: string
+ description: Email-like address associated to a Stellar account
+ example: foo_bar@baz.com*bitgo.com
+ WalletConsolidateUnspentsResponse:
+ type: object
+ properties:
+ txHex:
+ oneOf:
+ - $ref: '#/components/schemas/TxHex'
+ - $ref: '#/components/schemas/PsbtHex'
+ txInfo:
+ $ref: '#/components/schemas/UtxoTxInfo'
+ feeInfo:
+ $ref: '#/components/schemas/UtxoFeeInfo'
+ WalletCreateCoinSpecific:
+ type: object
+ properties:
+ xlm:
+ $ref: '#/components/schemas/WalletCreateCoinSpecificXlm'
+ txlm:
+ $ref: '#/components/schemas/WalletCreateCoinSpecificXlm'
+ lnbtc:
+ $ref: '#/components/schemas/WalletCreateCoinSpecificLnbtc'
+ tlnbtc:
+ $ref: '#/components/schemas/WalletCreateCoinSpecificLnbtc'
+ WalletCreateCoinSpecificLnbtc:
+ type: object
+ properties:
+ keys:
+ allOf:
+ - $ref: '#/components/schemas/Keys'
+ example:
+ - 585951a5df8380e0e304a553
+ - 585951a5df8380e0e30d645c
+ description: Lightning wallet only. Array of two key IDs for 'userAuthKey' and 'nodeAuthKey'.
+ WalletCreateCoinSpecificXlm:
+ type: object
+ properties:
+ stellarUsername:
+ type: string
+ description: Username for the user's Stellar address. It's case insensitive, and it can't be changed after it's set.
+ pattern: ^[a-zA-Z0-9-_.+@]+$
+ example: foo_bar@baz.com
+ WalletCustomAddress:
+ type: string
+ example: ivxzn3bdn4uo
+ description: A custom address can be provided for EOS wallets. It must be exactly 12 alphanumeric characters.
+ WalletLimit:
+ type: object
+ properties:
+ coin:
+ $ref: '#/components/schemas/Coin'
+ limit:
+ type: integer
+ count:
+ type: integer
+ minimum: 0
+ isCustodial:
+ type: boolean
+ enum:
+ - true
+ required:
+ - coin
+ - count
+ WalletLimitsResponse:
+ type: array
+ items:
+ $ref: '#/components/schemas/WalletLimit'
+ WalletMaximumSpendable:
+ type: object
+ properties:
+ coin:
+ $ref: '#/components/schemas/Coin'
+ maximumSpendable:
+ type: string
+ example: '19948310'
+ WalletMultisigType:
+ type: string
+ enum:
+ - onchain
+ - tss
+ - blsdkg
+ WalletPermission:
+ type: string
+ description: |
+ Comma-separated list of privileges for a wallet. Includes:
+
+ - 'admin' - Can manage wallet policies and users and approve or reject pending approvals.
+ - 'freeze' - Can freeze a wallet, disabling all withdrawals.
+ - 'spend' - Can initiate withdrawals and generate new receive addresses.
+ - 'trade' - Can initiate trades from a Go Account ('trading' wallet type).
+ - 'view' - Can view balances and transactions.
+
+ Permissions don't overlap. Required parameter if 'reshare' is false.
+ enum:
+ - admin
+ - spend
+ - trade
+ - view
+ example: spend,view
+ WalletRecoveryIntent1:
+ title: Wallet Recovery
+ type: object
+ properties:
+ intentType:
+ type: string
+ sequenceId:
+ type: string
+ description: |
+ A 'sequenceId' is a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With a 'sequenceId' you can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request per 'sequenceId' (and fails all subsequent attempts), you can retry sending without the risk of double spending. The 'sequenceId' is only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID.
+ example: abc123
+ comment:
+ type: string
+ description: The 'comment' is only visible to users on the wallet and is not shared publicly.
+ required:
+ - intentType
+ WalletShare1:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ coin:
+ $ref: '#/components/schemas/Coin'
+ wallet:
+ $ref: '#/components/schemas/Id'
+ walletLabel:
+ $ref: '#/components/schemas/WalletLabel'
+ fromUser:
+ $ref: '#/components/schemas/Id'
+ toUser:
+ $ref: '#/components/schemas/Coin'
+ permission:
+ type: string
+ description: |
+ Comma-separated list of privileges for a wallet. Includes:
+
+ - 'admin' - Can manage wallet policies and users and approve or reject pending approvals.
+ - 'freeze' - Can freeze a wallet, disabling all withdrawals.
+ - 'spend' - Can initiate withdrawals and generate new receive addresses.
+ - 'trade' - Can initiate trades from a Go Account ('trading' wallet type).
+ - 'view' - Can view balances and transactions.
+
+ Permissions don't overlap. Required parameter if 'reshare' is false.
+ enum:
+ - admin
+ - spend
+ - trade
+ - view
+ example: spend,view
+ message:
+ type: string
+ description: User readable message to display to the share recipient
+ state:
+ $ref: '#/components/schemas/WalletShareState1'
+ enterprise:
+ $ref: '#/components/schemas/Id'
+ pendingApprovalId:
+ allOf:
+ - $ref: '#/components/schemas/Id'
+ description: Only set if this wallet share is currently pending approval
+ keychain:
+ description: Only set if this wallet share has an associated keychain
+ type: object
+ properties:
+ pub:
+ description: Sharing user's root public key
+ type: string
+ encryptedPrv:
+ description: Sharing user's private key encrypted under their wallet passphrase
+ type: string
+ fromPubKey:
+ description: Sharing user's derived public key which will be used to calculate the wallet sharing secret.
+ type: string
+ toPubKey:
+ description: Shared-to user's derived public key which will be used to calculate the wallet sharing secret.
+ type: string
+ path:
+ description: BIP32 HD path of the derived public keys (fromPubKey and toPubKey)
+ example: m/1234/1/1
+ type: string
+ required:
+ - id
+ - coin
+ - wallet
+ - walletLabel
+ - fromUser
+ - toUser
+ - permissions
+ - message
+ - state
+ - enterprise
+ WalletShareKeychain:
+ type: object
+ description: Key passed to the receiving user, included if the wallet was shared with spend permission
+ properties:
+ pub:
+ description: One of wallet pub (onchain), commonPub (BLS) or commonKeychain (MPC)
+ type: string
+ encryptedPrv:
+ description: Private key of the user sharing the wallet encrypted under their wallet passphrase
+ type: string
+ fromPubKey:
+ description: Derived public key of the user sharing the wallet
+ type: string
+ toPubKey:
+ description: Derived public key of the user receiving the share
+ type: string
+ path:
+ description: BIP32 HD path of the derived public keys (fromPubKey and toPubKey)
+ example: m/1234/1/1
+ type: string
+ WalletShareState1:
+ type: string
+ example: active
+ enum:
+ - pendingapproval
+ - active
+ - accepted
+ - canceled
+ - rejected
+ WalletSpending:
+ type: object
+ properties:
+ velocityLimitSpending:
+ type: array
+ items:
+ type: object
+ properties:
+ coin:
+ allOf:
+ - $ref: '#/components/schemas/Coin'
+ - example: btc
+ timeWindow:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ - example: '3600'
+ description: |
+ String representation of the time window in seconds (ex: 0 = per transaction, 3600 = hourly,
+ 86400 = daily).
+ limitAmountString:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ - example: '1000000'
+ description: |
+ String representation of the spending limit in base units.
+ amountSpentString:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ - example: '148310'
+ description: |
+ String representation of the current amount spent in base units. Guaranteed to not lose
+ precision.
+ WalletUnspents:
+ type: object
+ properties:
+ coin:
+ $ref: '#/components/schemas/Coin'
+ unspents:
+ type: array
+ items:
+ $ref: '#/components/schemas/Unspent'
+ WalletUpdateCoinSpecific:
+ type: object
+ properties:
+ eth:
+ $ref: '#/components/schemas/WalletUpdateCoinSpecificEth'
+ teth:
+ $ref: '#/components/schemas/WalletUpdateCoinSpecificEth'
+ WalletUpdateCoinSpecificEth:
+ type: object
+ properties:
+ deployForwardersManually:
+ type: boolean
+ flushForwardersManually:
+ type: boolean
+ WalletUser:
+ type: object
+ properties:
+ user:
+ $ref: '#/components/schemas/Id'
+ permissions:
+ type: array
+ items:
+ $ref: '#/components/schemas/WalletPermission'
+ example:
+ user: 55e8a1a5df8380e0e30e20c6
+ permissions:
+ - admin
+ - view
+ - spend
+ WalletsResponse:
+ type: object
+ properties:
+ wallets:
+ type: array
+ items:
+ $ref: '#/components/schemas/Wallet'
+ nextBatchPrevId:
+ $ref: '#/components/schemas/NextBatchPrevId'
+ totalCount:
+ type: integer
+ required:
+ - wallets
+ WalletsWithCoinResponse:
+ allOf:
+ - $ref: '#/components/schemas/WalletsResponse'
+ - type: object
+ properties:
+ coin:
+ $ref: '#/components/schemas/Coin'
+ required:
+ - coin
+ Webhook1:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ label:
+ type: string
+ example: Test Webhook
+ created:
+ $ref: '#/components/schemas/DateTime'
+ coin:
+ $ref: '#/components/schemas/Coin'
+ type:
+ $ref: '#/components/schemas/WebhookTypeWallet'
+ url:
+ type: string
+ format: uri
+ example: https://your.server.com/webhook
+ version:
+ type: integer
+ example: 2
+ description: 2 for coins running on API v2.
+ numConfirmations:
+ type: integer
+ example: 6
+ state:
+ type: string
+ description: If 'active', indicates the webhook can trigger and send to the URL. If 'suspended', indicates the webhook can't trigger.
+ enum:
+ - active
+ - suspended
+ example: active
+ lastAttempt:
+ $ref: '#/components/schemas/DateTime'
+ failingSince:
+ $ref: '#/components/schemas/DateTime'
+ successiveFailedAttempts:
+ type: integer
+ example: 0
+ walletId:
+ type: string
+ allowBlockedHosts:
+ type: boolean
+ allToken:
+ type: boolean
+ txRequestStates:
+ type: array
+ items:
+ $ref: '#/components/schemas/TransactionRequestState1'
+ description: If present, only transaction request state changes from the list will trigger notifications. If not present, all transaction request state changes will trigger notifications.
+ txRequestTransactionStates:
+ type: array
+ items:
+ $ref: '#/components/schemas/TransactionState1'
+ description: If present, only transaction request transaction state changes from the list will trigger notifications. If not present, all transaction request transaction state changes will trigger notifications.
+ identityStatus:
+ type: array
+ items:
+ $ref: '#/components/schemas/IdentityStatus'
+ description: If present, only identity status changes from the list will trigger notifications. If not present, all identity status changes will trigger notifications.
+ userKycState:
+ type: array
+ items:
+ $ref: '#/components/schemas/VerifiedKycState'
+ description: If present, only user kyc state changes from the list will trigger notifications. If not present, all kyc state changes will trigger notifications.
+ enterpriseKycState:
+ type: array
+ items:
+ $ref: '#/components/schemas/VerifiedKycState'
+ description: 'If present, only enterprise kyc state changes from the list will trigger notifications. If not present, all kyc state changes will trigger notifications. '
+ required:
+ - url
+ WebhookNotification:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/Id'
+ coin:
+ $ref: '#/components/schemas/Coin'
+ type:
+ $ref: '#/components/schemas/WebhookTypeWallet'
+ walletType:
+ type: string
+ example: cold
+ transferType:
+ type: string
+ example: receive
+ value:
+ type: integer
+ example: 1055354
+ valueString:
+ type: string
+ example: 1055354
+ baseValue:
+ type: integer
+ example: 1055354
+ baseValueString:
+ type: string
+ example: 1055354
+ feeString:
+ type: string
+ example: 71854
+ initiator:
+ type: array
+ items:
+ type: string
+ example: external
+ receiver:
+ type: string
+ example: tb1q3tzuxef7qc0sl8jq6vh3hpeq0w7swmq9a7eh4p
+ version:
+ type: integer
+ example: 2
+ state:
+ type: string
+ description: If 'failed', webhook notification failed to connect with the target URL. If 'new', webhook notification was newly generated, in response to an event. If 'pending', webhook notification is awaiting processing by the webhook worker. If 'processed', webhook notification successfully sent to target URL. If 'unconfirmed', webhook notification is awaiting confirmation on the blockchain.
+ enum:
+ - failed
+ - new
+ - pending
+ - processed
+ - unconfirmed
+ example: new
+ WebhookTypeBlock:
+ type: string
+ enum:
+ - block
+ - wallet_confirmation
+ example: block
+ XlmFeeInfo:
+ title: XLM
+ type: object
+ description: feeInfo (XLM)
+ properties:
+ height:
+ type: integer
+ description: Height of the ledger that provided the values
+ example: 123456
+ xlmBaseFee:
+ type: string
+ description: Base network fee per transaction operation
+ example: '100'
+ xlmBaseReserve:
+ type: string
+ description: Base reserve used to calculate the minimum balance required by the network
+ example: '5000000'
+ XlmTxInfo:
+ title: XLM
+ type: object
+ description: txInfo (XLM)
+ properties:
+ fee:
+ type: integer
+ description: Network fee
+ example: 100
+ operations:
+ type: array
+ items:
+ type: object
+ properties:
+ amount:
+ type: string
+ description: Amount in Lumens as string
+ example: '10.5'
+ asset:
+ type: object
+ properties:
+ code:
+ type: string
+ example: XLM
+ destination:
+ type: string
+ example: GCNFRU774FPHLV3HAB6CR54XJYFYITOLU6KS2J5BNCLDPYN7I3DOMIPY
+ type:
+ type: string
+ enum:
+ - payment
+ - createAccount
+ example: payment
+ sequence:
+ type: string
+ example: '35995558267060226'
+ source:
+ type: string
+ example: GBSGOXQNPULNPBX7XTHXP2GDBOZMHPIZOOA7CQXYTLHYKF5J2JDCF7LT
+ InscriptionId:
+ type: string
+ description: The ID of the inscription in the form i
+ example: 003f688cc349f1fca8ac5ffa21671ca911b6ef351085c60733ed8c2ebf162cb8i2
+ pattern: ^[\da-f]{64}i[\d]+$
+ Actions:
+ type: object
+ description: |
+ Wrapper object for a list of Actions. Not paginated.
+ required:
+ - actions
+ properties:
+ actions:
+ type: array
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/AlwaysDenyAction'
+ - $ref: '#/components/schemas/WalletAdminAction'
+ - $ref: '#/components/schemas/FinalApprovalAction'
+ - $ref: '#/components/schemas/EnterpriseAdminAction'
+ - $ref: '#/components/schemas/EnterpriseUserAction'
+ TransferAmountCondition:
+ title: Amount
+ type: object
+ description: Enables policy rules to trigger based on withdrawal amount. The amount is by asset, such as BTC or USD.
+ required:
+ - name
+ - label
+ - description
+ - status
+ - parameters
+ properties:
+ name:
+ type: string
+ description: The name of the condition.
+ enum:
+ - transfer.amount
+ example: transfer.amount
+ label:
+ type: string
+ description: A label for the condition which can be shown to an end user.
+ example: Spending limit
+ description:
+ type: string
+ description: A description for the condition which can be shown to an end user.
+ example: Allows creating a condition based on the Spending limit
+ status:
+ type: string
+ description: |
+ Status of the condition. Indicates if the condition is usable 'ACTIVE' or not 'INACTIVE'.
+
+ * 'ACTIVE' - The condition is available for use.
+ * 'INACTIVE' - The condition is NOT available for use.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ parameters:
+ type: array
+ description: A list of Parameters to control how the condition behaves.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/OperatorConditionParameter'
+ - $ref: '#/components/schemas/AmountConditionParameter'
+ - $ref: '#/components/schemas/CoinConditionParameter'
+ OperatorConditionParameter:
+ title: Operator
+ type: object
+ description: The boolean operator used when comparing the transfer amount with the limit defined in this condition.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ - values
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - operator
+ example: operator
+ label:
+ type: string
+ description: A label for the condition parameter that you can display to users.
+ example: Comparison Operator
+ description:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: The comparison operator to use when comparing the transfer amount with the given amount
+ type:
+ type: string
+ description: Accepts only enumerated values as listed in the 'values' property of this condition.
+ enum:
+ - ENUMERATED
+ example: ENUMERATED
+ required:
+ type: string
+ description: A value must always be provided, i.e. the parameter is required.
+ enum:
+ - ALWAYS
+ example: ALWAYS
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: 'false'
+ values:
+ $ref: '#/components/schemas/ValidValues'
+ ValidValues:
+ type: array
+ description: A list of valid values, only values from this list will be accepted.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/GreaterThanValue'
+ - $ref: '#/components/schemas/GreaterThanOrEqualToValue'
+ - $ref: '#/components/schemas/LessThanValue'
+ - $ref: '#/components/schemas/LessThanOrEqualToValue'
+ GreaterThanValue:
+ title: Greater than
+ type: object
+ description: The greater than (>) operator.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - '>'
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Greater than
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: The transfer amount must be greater than the given limit for the condition to trigger
+ GreaterThanOrEqualToValue:
+ title: Greater than or equal to
+ type: object
+ description: The greater than or equal to (>=) operator.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - '>='
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Greater than or equal to
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: The transfer amount must be greater than or equal to the given limit for the condition to trigger
+ LessThanValue:
+ title: Less than
+ type: object
+ description: The less than (>) operator.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - <
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Less than
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: The transfer amount must be less than the given limit for the condition to trigger
+ LessThanOrEqualToValue:
+ title: Less than or equal to
+ type: object
+ description: The less than or equal to (<=) operator.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - <=
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Less than or equal to
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: The transfer amount must be less than or equal to the given limit for the condition to trigger
+ AmountConditionParameter:
+ title: Amount
+ type: object
+ description: The amount incoming transfers will be compared with.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - amount
+ example: amount
+ label:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: The amount to compare to
+ description:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: The transfer amount will be compared with this limit
+ type:
+ type: string
+ description: The type of acceptable values for this condition parameter.
+ enum:
+ - NON_NEGATIVE_NUMBER
+ example: NON_NEGATIVE_NUMBER
+ required:
+ type: string
+ description: A value must always be provided, i.e. the parameter is required.
+ enum:
+ - ALWAYS
+ example: ALWAYS
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: 'false'
+ CoinConditionParameter:
+ title: Coin
+ type: object
+ description: The asset the amount is expressed in.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - coin
+ example: coin
+ label:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: Currency
+ description:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: This condition only applies to transfers of this currency (USD applies to all transfers)
+ type:
+ type: string
+ description: The type of acceptable values for this condition parameter.
+ enum:
+ - COIN_OR_USD
+ example: COIN_OR_USD
+ required:
+ type: string
+ description: A value must always be provided, i.e. the parameter is required.
+ enum:
+ - ALWAYS
+ example: ALWAYS
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: 'false'
+ TransferVelocityLimitCondition:
+ title: Velocity limit
+ type: object
+ description: Enables policy rules to trigger based on how much withdraws over a period of time from a specific wallet or from all wallets. The amount is by asset, such as BTC or USD.
+ required:
+ - name
+ - label
+ - description
+ - status
+ - parameters
+ properties:
+ name:
+ type: string
+ description: The name of the condition.
+ enum:
+ - transfer.velocity.limit
+ example: transfer.velocity.limit
+ label:
+ type: string
+ description: A label for the condition which can be shown to an end user.
+ example: Spending Limit
+ description:
+ type: string
+ description: A description for the condition which can be shown to an end user.
+ example: Allows creating a condition based on the amount of coin or USD that can be spent over a period of time
+ status:
+ type: string
+ description: |
+ Status of the condition. Indicates if the condition is usable 'ACTIVE' or not 'INACTIVE'.
+
+ * 'ACTIVE' - The condition is available for use.
+ * 'INACTIVE' - The condition is NOT available for use.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ parameters:
+ type: array
+ description: A list of Parameters to control how the condition behaves.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/VelocityAmountConditionParameter'
+ - $ref: '#/components/schemas/TimeWindowConditionParameter'
+ - $ref: '#/components/schemas/VelocityCoinConditionParameter'
+ - $ref: '#/components/schemas/ScopeConditionParameter'
+ VelocityAmountConditionParameter:
+ title: Amount
+ type: object
+ description: The withdrawable amount within the time window.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - amount
+ example: amount
+ label:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: Amount
+ description:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: The amount that can be spent within the time window
+ type:
+ type: string
+ description: The type of acceptable values for this condition parameter.
+ enum:
+ - NON_NEGATIVE_NUMBER
+ example: NON_NEGATIVE_NUMBER
+ required:
+ type: string
+ description: A value must always be provided, i.e. the parameter is required.
+ enum:
+ - ALWAYS
+ example: ALWAYS
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: 'false'
+ TimeWindowConditionParameter:
+ title: Time window
+ type: object
+ description: The period of time this condition covers, in seconds.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - timeWindow
+ example: timeWindow
+ label:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: time window
+ description:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: The period of time this condition covers, in seconds
+ type:
+ type: string
+ description: The type of acceptable values for this condition parameter.
+ enum:
+ - NON_NEGATIVE_NUMBER
+ example: NON_NEGATIVE_NUMBER
+ required:
+ type: string
+ description: A value must always be provided, i.e. the parameter is required.
+ enum:
+ - ALWAYS
+ example: ALWAYS
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: 'false'
+ VelocityCoinConditionParameter:
+ title: Unit
+ type: object
+ description: The unit of currency the amount is denoted in, can be a cryptocurrency or a fiat currency.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - coin
+ example: coin
+ label:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: Unit
+ description:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: The unit the amount is denoted in, can be a coin or a fiat currency
+ type:
+ type: string
+ description: The type of acceptable values for this condition parameter.
+ enum:
+ - COIN_OR_USD
+ example: COIN_OR_USD
+ required:
+ type: string
+ description: A value must always be provided, i.e. the parameter is required.
+ enum:
+ - ALWAYS
+ example: ALWAYS
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: 'false'
+ ScopeConditionParameter:
+ title: Scope
+ type: object
+ description: Defines the entities included in the velocity calculation.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ - values
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - scope
+ example: scope
+ label:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: scope
+ description:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: Entities that will be included in the velocity calculation
+ type:
+ type: string
+ description: Accepts only enumerated values as listed in the 'values' property of this condition.
+ enum:
+ - ENUMERATED
+ example: ENUMERATED
+ required:
+ type: string
+ description: A value must always be provided, i.e. the parameter is required.
+ enum:
+ - ALWAYS
+ example: ALWAYS
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: 'false'
+ values:
+ type: array
+ description: A list of valid values, only values from this list will be accepted.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/WalletValue'
+ - $ref: '#/components/schemas/EnterpriseValue'
+ WalletValue:
+ title: Wallet
+ type: object
+ description: Applies to a specific wallet.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - wallet
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Wallet
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: Only spending from the transferring wallet will be included
+ EnterpriseValue:
+ title: Enterprise
+ type: object
+ description: Applies to the entire enterprise.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - enterprise
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Enterprise
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: Spending from the entire transferring wallet's enterprise will be included
+ TransferInitiatorsCondition:
+ title: Initiator
+ type: object
+ description: Enables you to create a condition based on transaction initiator.
+ required:
+ - name
+ - label
+ - description
+ - status
+ - parameters
+ properties:
+ name:
+ type: string
+ description: The name of the condition.
+ enum:
+ - transfer.initiators
+ example: transfer.initiators
+ label:
+ type: string
+ description: A label for the condition which can be shown to an end user.
+ example: Transfer Initiators
+ description:
+ type: string
+ description: A description for the condition which can be shown to an end user.
+ example: Enables creating a condition based on if the transfer initiator is a listed user.
+ status:
+ type: string
+ description: Identifies if the condition is currently active and usable.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ parameters:
+ type: array
+ description: A list of parameters that control how the condition behaves.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/TransferInitiatorsUserIdsConditionParameter'
+ TransferInitiatorsUserIdsConditionParameter:
+ type: object
+ description: The list of user ids the transfer initiator condition will checker against for triggering.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - userIds
+ example: userIds
+ label:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: User Ids
+ description:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: The list of user ids to check the transfer initiator against.
+ type:
+ type: string
+ description: The type of acceptable values for this condition parameter, a valid HMAC BitGo ID.
+ enum:
+ - BITGO_USER_ID
+ example: BITGO_USER_ID
+ required:
+ type: string
+ description: ALWAYS if the parameter is required otherwise OPTIONAL.
+ enum:
+ - ALWAYS
+ example: ALWAYS
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: 'true'
+ TransferWebhookCondition:
+ type: object
+ description: Enables you to create a condition based on if the transfer should send a payload to a webhook URL and receive a status code.
+ required:
+ - name
+ - label
+ - description
+ - status
+ - parameters
+ properties:
+ name:
+ type: string
+ description: The name of the condition.
+ enum:
+ - transfer.webhook
+ example: transfer.webhook
+ label:
+ type: string
+ description: A label for the condition that you can display to an end user.
+ example: Transfer Webhook
+ description:
+ type: string
+ description: A description for the Condition which can be shown to an end user.
+ example: Enables creating a condition based on if the transfer should send a payload to a webhook URL and receive a status code.
+ status:
+ type: string
+ description: Identifies if the condition is currently active and usable.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ parameters:
+ type: array
+ description: A list of parameters that control how the condition behaves.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/TransferWebhookUrlConditionParameter'
+ - $ref: '#/components/schemas/TransferWebhookCoinConditionParameter'
+ TransferWebhookUrlConditionParameter:
+ type: object
+ description: The webhook URL the transfer sends a payload to.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - webhookUrl
+ example: webhookUrl
+ label:
+ type: string
+ description: A description for the condition parameter that you can display to an end user.
+ example: Webhook URL
+ description:
+ type: string
+ description: The webhook URL to post the transfer payload to.
+ example: The webhook URL to post the transfer payload to
+ type:
+ type: string
+ description: The type of acceptable values for this condition parameter. Must be a valid webhook URL string.
+ enum:
+ - FREE_FORM
+ example: FREE_FORM
+ required:
+ type: string
+ description: ALWAYS if the parameter is required otherwise OPTIONAL.
+ enum:
+ - ALWAYS
+ example: ALWAYS
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: 'false'
+ TransferWebhookCoinConditionParameter:
+ type: object
+ description: The asset to check the transfer against to determine if a webhook payload should be sent.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - coin
+ example: coin
+ label:
+ type: string
+ description: A description for the condition parameter that you can display to an end user.
+ example: Asset
+ description:
+ type: string
+ description: The asset this condition applies to.
+ example: The asset this condition applies to
+ type:
+ type: string
+ description: The type of acceptable values for this condition parameter. Must be a valid coin ticker string.
+ enum:
+ - COIN
+ example: COIN
+ required:
+ type: string
+ description: ALWAYS if the parameter is required otherwise OPTIONAL.
+ enum:
+ - OPTIONAL
+ example: OPTIONAL
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: 'false'
+ TransferDestinationTypeCondition:
+ title: Destination
+ type: object
+ description: Enables policy rules to trigger based on destination.
+ required:
+ - name
+ - label
+ - description
+ - status
+ - parameters
+ properties:
+ name:
+ type: string
+ description: The name of the condition.
+ enum:
+ - transfer.destination.type
+ example: transfer.destination.type
+ label:
+ type: string
+ description: A label for the condition that you can display to users.
+ example: Destination
+ description:
+ type: string
+ description: A description for the condition that you can display to an end user.
+ example: Allows creating a condition based on the type of the funds destination
+ status:
+ type: string
+ description: |
+ Status of the condition. Indicates if the condition is usable 'ACTIVE' or not 'INACTIVE'.
+
+ * 'ACTIVE' - The condition is available for use.
+ * 'INACTIVE' - The condition is NOT available for use.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ parameters:
+ type: array
+ description: A list of Parameters to control how the condition behaves.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/DestinationTypeTypeConditionParameter'
+ - $ref: '#/components/schemas/DestinationTypeCoinConditionParameter'
+ DestinationTypeTypeConditionParameter:
+ title: Destination
+ type: object
+ description: The type of destination this condition will match.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ - values
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - type
+ example: type
+ label:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: Type
+ description:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: The type of destination this condition will match
+ type:
+ type: string
+ description: Accepts only enumerated values as listed in the 'values' property of this condition.
+ enum:
+ - ENUMERATED
+ example: ENUMERATED
+ required:
+ type: string
+ description: A value must always be provided, i.e. the parameter is required.
+ enum:
+ - ALWAYS
+ example: ALWAYS
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: 'false'
+ values:
+ type: array
+ description: A list of valid values, only values from this list will be accepted.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/WhitelistedAddressValue'
+ - $ref: '#/components/schemas/NonWhitelistedAddressValue'
+ DestinationTypeCoinConditionParameter:
+ title: Asset
+ type: object
+ description: The asset this condition applies to.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - coin
+ example: coin
+ label:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: Asset
+ description:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: The asset this condition applies to. Optional.
+ type:
+ type: string
+ description: A cryptocurrency asset.
+ enum:
+ - COIN
+ example: COIN
+ required:
+ type: string
+ description: A value is not required.
+ enum:
+ - OPTIONAL
+ example: OPTIONAL
+ allowMultiple:
+ type: boolean
+ description: Only one value can be provided.
+ example: 'false'
+ WhitelistedAddressValue:
+ title: Whitelisted
+ type: object
+ description: The destination is whitelisted.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - whitelistedAddress
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Whitelisted address
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: The destination is whitelisted
+ NonWhitelistedAddressValue:
+ title: Not whitelisted
+ type: object
+ description: The destination is not whitelisted.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - nonWhitelistedAddress
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Non-whitelisted address
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: The destination is not whitelisted
+ FilteringConditions:
+ type: object
+ description: |
+ Wrapper object for a list of Filtering Conditions. Not paginated.
+ required:
+ - conditions
+ properties:
+ conditions:
+ type: array
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/WalletTypeCondition'
+ - $ref: '#/components/schemas/WalletIdsCondition'
+ - $ref: '#/components/schemas/WalletAllCondition'
+ WalletAllCondition:
+ title: Wallet all
+ type: object
+ description: Wallet-all condition for the all-wallets scope.
+ required:
+ - name
+ - label
+ - description
+ - status
+ properties:
+ name:
+ type: string
+ description: The name of the condition.
+ enum:
+ - wallet.all
+ example: wallet.all
+ label:
+ type: string
+ description: A label for the condition which can be shown to an end user.
+ example: Wallet All
+ description:
+ type: string
+ description: A description for the condition which can be shown to an end user.
+ example: For all Wallets
+ status:
+ type: string
+ description: |
+ Status of the condition. Indicates if the condition is usable 'ACTIVE' or not 'INACTIVE'.
+
+ * 'ACTIVE' - The condition is available for use.
+ * 'INACTIVE' - The condition is NOT available for use.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ WalletIdsCondition:
+ title: Wallet ID
+ type: object
+ description: Wallet ID condition for the all-wallets scope.
+ required:
+ - name
+ - label
+ - description
+ - status
+ - parameters
+ properties:
+ name:
+ type: string
+ description: The name of the condition.
+ enum:
+ - wallet.ids
+ example: wallet.ids
+ label:
+ type: string
+ description: A label for the condition which can be shown to an end user.
+ example: Wallet Id
+ description:
+ type: string
+ description: A description for the condition which can be shown to an end user.
+ example: The Wallet Ids
+ status:
+ type: string
+ description: |
+ Status of the condition. Indicates if the condition is usable 'ACTIVE' or not 'INACTIVE'.
+
+ * 'ACTIVE' - The condition is available for use.
+ * 'INACTIVE' - The condition is NOT available for use.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ parameters:
+ type: array
+ description: A list of Parameters to control how the condition behaves.
+ items:
+ allOf:
+ - $ref: '#/components/schemas/WalletIdParameter'
+ WalletIdParameter:
+ type: object
+ description: The Wallet Id parameter determines on which Wallets this condition will trigger.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - walletId
+ example: walletId
+ label:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: Wallet Id
+ description:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: he Wallet Ids
+ type:
+ type: string
+ description: The type of acceptable values for this condition parameter.
+ enum:
+ - BITGO_WALLET_ID
+ example: BITGO_WALLET_ID
+ required:
+ type: string
+ description: This Conditions parameter must always be provided.
+ enum:
+ - ALWAYS
+ example: ALWAYS
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: 'true'
+ WalletTypeCondition:
+ title: Wallet type
+ type: object
+ description: Wallet-type condition for the all-wallets scope.
+ required:
+ - name
+ - label
+ - description
+ - status
+ - parameters
+ properties:
+ name:
+ type: string
+ description: The name of the condition.
+ enum:
+ - wallet.type
+ example: wallet.type
+ label:
+ type: string
+ description: A label for the condition which can be shown to an end user.
+ example: Wallet Type
+ description:
+ type: string
+ description: A description for the condition which can be shown to an end user.
+ example: Allows creating a condition based on the Wallet Type
+ status:
+ type: string
+ description: |
+ Status of the condition. Indicates if the condition is usable 'ACTIVE' or not 'INACTIVE'.
+
+ * 'ACTIVE' - The condition is available for use.
+ * 'INACTIVE' - The condition is NOT available for use.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ parameters:
+ type: array
+ description: A list of Parameters to control how the condition behaves.
+ items:
+ allOf:
+ - $ref: '#/components/schemas/WalletTypeParameter'
+ WalletTypeParameter:
+ type: object
+ description: The Wallet Type parameter determines on what type of Wallet this condition will trigger.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ - values
+ properties:
+ name:
+ type: string
+ description: The name of the condition parameter.
+ enum:
+ - walletType
+ example: walletType
+ label:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: Type
+ description:
+ type: string
+ description: A description for the condition parameter which can be shown to an end user.
+ example: The Wallet Type
+ type:
+ type: string
+ description: This Conditions parameter has a set of defined values.
+ enum:
+ - ENUMERATED
+ required:
+ type: string
+ description: This Conditions parameter must always be provided.
+ enum:
+ - ALWAYS
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: 'true'
+ values:
+ type: array
+ description: A list of valid values, only values from this list will be accepted.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/CustodialValue'
+ - $ref: '#/components/schemas/HotValue'
+ - $ref: '#/components/schemas/ColdValue'
+ - $ref: '#/components/schemas/TradingValue'
+ - $ref: '#/components/schemas/CustodialPairedValue'
+ - $ref: '#/components/schemas/BackingValue'
+ CustodialValue:
+ title: Custodial cold wallet
+ type: object
+ description: Custodial cold wallet.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - custodial
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Custodial Wallet
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: A custodial wallet
+ HotValue:
+ title: Self-managed hot wallet
+ type: object
+ description: Self-managed hot wallet wallet.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - hot
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Hot Wallet
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: A hot wallet
+ ColdValue:
+ title: Self-managed cold wallet
+ type: object
+ description: Self-managed cold wallet.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - cold
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Cold Wallet
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: A cold wallet
+ TradingValue:
+ title: Go Account
+ type: object
+ description: Go Account.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - trading
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Trading Wallet
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: A trading wallet
+ CustodialPairedValue:
+ title: Custodial-paired wallet
+ type: object
+ description: Custodial-paired wallet.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - custodialPaired
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Custodial Paired Wallet
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: A custodial paired wallet
+ BackingValue:
+ title: Backing hot wallet
+ type: object
+ description: Backing hot wallet.
+ required:
+ - value
+ - label
+ - description
+ properties:
+ value:
+ type: string
+ enum:
+ - backing
+ description: The actual value.
+ label:
+ type: string
+ description: A label for the condition parameter Value which can be shown to an end user.
+ example: Backing Wallet
+ description:
+ type: string
+ description: A description for the condition parameter Value which can be shown to an end user.
+ example: A backing wallet
+ Conditions:
+ type: object
+ description: |
+ Wrapper object for a list of Conditions. Not paginated.
+ properties:
+ conditions:
+ type: array
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/TransferDestinationTypeCondition'
+ - $ref: '#/components/schemas/TransferVelocityLimitCondition'
+ - $ref: '#/components/schemas/TransferAmountCondition'
+ - $ref: '#/components/schemas/TransferInitiatorsCondition'
+ - $ref: '#/components/schemas/TransferWebhookCondition'
+ PolicyRuleVersions:
+ type: object
+ description: |
+ description: All versions of a policy rule. Not paginated.
+ required:
+ - versions
+ properties:
+ versions:
+ type: array
+ description: |
+ List of policy rule versions. The list is sorted by version number in descending order, but rules with a
+ null version, such as those in pending approval or denied, appear first.
+ items:
+ $ref: '#/components/schemas/PolicyRule2'
+ CreatePolicyRuleRequest:
+ type: object
+ description: Create or Update policy rule Request.
+ required:
+ - name
+ - adminOnly
+ - clauses
+ - filteringConditions
+ properties:
+ name:
+ type: string
+ maxLength: 256
+ description: Human readable name of the rule.
+ example: Get approval if transferring more than 2 BTC in a minute
+ adminOnly:
+ type: boolean
+ description: true, if the policy rule is a BitGo internal rule, false otherwise.
+ example: false
+ clauses:
+ type: array
+ description: |
+ List of policy rule Clauses: a combination of Conditions and Actions.
+ items:
+ type: object
+ description: |
+ A combination of Conditions and Actions.
+ required:
+ - conditions
+ - actions
+ properties:
+ conditions:
+ type: array
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/TransferAmountConditionRequest'
+ - $ref: '#/components/schemas/TransferVelocityLimitConditionRequest'
+ - $ref: '#/components/schemas/TransferDestinationTypeConditionRequest'
+ - $ref: '#/components/schemas/TransferInitiatorsConditionRequest'
+ - $ref: '#/components/schemas/TransferWebhookConditionRequest'
+ actions:
+ type: array
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/AlwaysDenyActionRequest'
+ - $ref: '#/components/schemas/WalletAdminActionRequest'
+ - $ref: '#/components/schemas/FinalApprovalActionRequest'
+ - $ref: '#/components/schemas/EnterpriseUsersActionRequest'
+ filteringConditions:
+ type: array
+ description: List of Filtering Conditions that must trigger for the policy rule to be Evaluated.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/WalletIdsFilteringCondition'
+ - $ref: '#/components/schemas/WalletTypeFilteringCondition'
+ - $ref: '#/components/schemas/WalletAllFilteringCondition'
+ lockType:
+ type: string
+ description: |
+ Indicates how the policy rule is locked.
+
+ * 'LOCK_AFTER_DATE' - Will lock after the lockDate set on the policy rule.
+ * 'PERMANENT' - Is permanently locked.
+ enum:
+ - LOCK_AFTER_DATE
+ - PERMANENT
+ example: PERMANENT
+ lockDate:
+ type: string
+ description: |
+ The date after which the policy rule will be locked. Only applicable if the policy rule is locked with
+ 'LOCK_AFTER_DATE'.
+ format: date-time
+ example: '2023-11-13T14:49:48.830522Z'
+ AllWalletsScope:
+ type: object
+ description: |
+ A policy rule scope. For example the All Wallets scope.
+ required:
+ - id
+ - name
+ - label
+ - description
+ - conditions
+ properties:
+ id:
+ type: string
+ description: Unique id of the scope. A UUID.
+ example: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ name:
+ type: string
+ description: Name of the scope.
+ enum:
+ - wallet.segregated
+ example: wallet.segregated
+ label:
+ type: string
+ description: A label for the scope which can be shown to an end user.
+ example: Wallet
+ description:
+ type: string
+ description: A description for the scope which can be shown to an end user.
+ example: A BitGo Wallet
+ conditions:
+ type: array
+ description: A list of Filtering Conditions the scope supports. For example the Wallet Type Filtering condition.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/WalletTypeCondition'
+ - $ref: '#/components/schemas/WalletIdsCondition'
+ - $ref: '#/components/schemas/WalletAllCondition'
+ scopes:
+ type: object
+ description: Wrapper object for a list of scopes. Not paginated.
+ properties:
+ scopes:
+ description: A list of scopes available on your Enterprise.
+ type: array
+ items:
+ $ref: '#/components/schemas/AllWalletsScope'
+ Touchpoint:
+ type: object
+ description: A Touchpoint. For example the Transfer from a Wallet Touchpoint.
+ required:
+ - id
+ - name
+ - status
+ - label
+ - description
+ - adminOnly
+ properties:
+ id:
+ type: string
+ description: Id of the Touchpoint. A UUID.
+ example: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ name:
+ type: string
+ description: Name of the Touchpoint.
+ enum:
+ - wallet.segregated.transfer
+ - policies.management.edit
+ example: wallet.segregated.transfer
+ label:
+ type: string
+ description: A label for the Touchpoint which can be shown to an end user.
+ example: Transfer from a Segregated Wallet
+ description:
+ type: string
+ description: A description for the Touchpoint which can be shown to an end user.
+ example: When transferring from a BitGo Segregated Wallet
+ status:
+ type: string
+ description: |
+ Status of the Touchpoint. Indicates if the Touchpoint is usable 'ACTIVE' or not 'INACTIVE'.
+
+ * 'ACTIVE' - The Touchpoint is available for use.
+ * 'INACTIVE' - The Touchpoint is NOT available for use.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ adminOnly:
+ type: boolean
+ description: true, if this is an internal Touchpoint, false otherwise.
+ example: false
+ TouchpointsResults:
+ description: A paginated list of Touchpoints
+ allOf:
+ - type: object
+ properties:
+ touchpoints:
+ type: array
+ items:
+ $ref: '#/components/schemas/Touchpoint'
+ - $ref: '#/components/schemas/PaginatedResults'
+ GeneralError:
+ type: object
+ properties:
+ code:
+ type: string
+ message:
+ type: string
+ status:
+ type: integer
+ ValidationError:
+ allOf:
+ - $ref: '#/components/schemas/GeneralError'
+ - type: object
+ properties:
+ failedValidations:
+ type: object
+ AlwaysDenyAction:
+ title: Automatically reject
+ type: object
+ description: Automatically denies a transfer.
+ required:
+ - name
+ - label
+ - description
+ - status
+ - adminOnly
+ properties:
+ name:
+ type: string
+ description: The name of the action.
+ enum:
+ - approvals.always.deny
+ example: approvals.always.deny
+ label:
+ type: string
+ description: A label for the action which can be shown to an end user.
+ example: Deny
+ description:
+ type: string
+ description: A description for the action which can be shown to an end user.
+ example: Automatically reject
+ status:
+ type: string
+ description: |
+ Status of the action. Indicates if the Actions is usable 'ACTIVE' or not 'INACTIVE'.
+
+ * 'ACTIVE' - The action is available for use.
+ * 'INACTIVE' - The action is NOT available for use.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ adminOnly:
+ type: boolean
+ description: true, if this is an internal action, false otherwise.
+ example: false
+ AlwaysDenyActionRequest:
+ title: Automatically reject
+ type: object
+ description: Automatically reject.
+ required:
+ - name
+ properties:
+ name:
+ type: string
+ description: Name of the associated Action.
+ enum:
+ - approvals.always.deny
+ example: approvals.always.deny
+ Clause:
+ type: object
+ description: |
+ A combination of Conditions and Actions.
+ properties:
+ actions:
+ type: array
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/AlwaysDenyActionRequest'
+ - $ref: '#/components/schemas/EnterpriseAdminActionRequest'
+ - $ref: '#/components/schemas/WalletAdminActionRequest'
+ - $ref: '#/components/schemas/FinalApprovalActionRequest'
+ - $ref: '#/components/schemas/EnterpriseUsersActionRequest'
+ conditions:
+ type: array
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/TransferAmountConditionRequest'
+ - $ref: '#/components/schemas/TransferVelocityLimitConditionRequest'
+ - $ref: '#/components/schemas/TransferDestinationTypeConditionRequest'
+ - $ref: '#/components/schemas/TransferInitiatorsConditionRequest'
+ EnterpriseAdminAction:
+ title: Require enterprise-admin approval
+ type: object
+ description: Requires approval from an enterprise admin.
+ required:
+ - name
+ - label
+ - description
+ - status
+ - adminOnly
+ properties:
+ name:
+ type: string
+ description: The name of the action.
+ enum:
+ - approvals.customer.enterpriseAdmin
+ example: approvals.customer.enterpriseAdmin
+ label:
+ type: string
+ description: A label for the action which can be shown to an end user.
+ example: Enterprise Admin
+ description:
+ type: string
+ description: A description for the action which can be shown to an end user.
+ example: Enterprise admin approval
+ status:
+ type: string
+ description: |
+ Status of the action. Indicates if the Actions is usable 'ACTIVE' or not 'INACTIVE'.
+
+ * 'ACTIVE' - The action is available for use.
+ * 'INACTIVE' - The action is NOT available for use.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ adminOnly:
+ type: boolean
+ description: true, if this is an internal action, false otherwise.
+ example: false
+ EnterpriseAdminActionRequest:
+ title: Require enterprise-admin approval
+ type: object
+ description: Require enterprise-admin approval.
+ required:
+ - name
+ properties:
+ name:
+ type: string
+ description: Name of the associated Action.
+ enum:
+ - approvals.customer.enterpriseAdmin
+ example: approvals.customer.enterpriseAdmin
+ operator:
+ $ref: '#/components/schemas/OperatorType'
+ EnterpriseUserAction:
+ title: Require approval from a set of enterprise users
+ type: object
+ description: Requires approval from a set of enterprise users.
+ required:
+ - name
+ - label
+ - description
+ - status
+ - adminOnly
+ - parameters
+ properties:
+ name:
+ type: string
+ description: The name of the action.
+ enum:
+ - approvals.customer.enterpriseUser
+ example: approvals.customer.enterpriseUser
+ label:
+ type: string
+ description: A label for the action which can be shown to an end user.
+ example: Require approval from a set of users
+ description:
+ type: string
+ description: A description for the action which can be shown to an end user.
+ example: Enterprise users approval
+ status:
+ type: string
+ description: |
+ Status of the action. Indicates if the Actions is usable 'ACTIVE' or not 'INACTIVE'.
+
+ * 'ACTIVE' - The action is available for use.
+ * 'INACTIVE' - The action is NOT available for use.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ adminOnly:
+ type: boolean
+ description: true, if this is an internal action, false otherwise.
+ example: false
+ parameters:
+ type: array
+ description: A list of Parameters to control how the action behaves.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/EnterpriseUserIdsActionParameter'
+ - $ref: '#/components/schemas/MinRequireActionParameter'
+ - $ref: '#/components/schemas/InitiatorIsAllowedToApproveActionParameter'
+ EnterpriseUserIdsActionParameter:
+ title: Approvers user ids
+ type: object
+ description: The set of enterprise users approvers.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the action parameter.
+ enum:
+ - userIds
+ example: userIds
+ label:
+ type: string
+ description: A label for the action parameter which can be shown to an end user.
+ example: Users
+ description:
+ type: string
+ description: A description for the action parameter which can be shown to an end user.
+ example: List of enterprise users for approval
+ type:
+ type: string
+ description: The type of acceptable values for this action parameter.
+ enum:
+ - BITGO_USER_ID
+ example: BITGO_USER_ID
+ required:
+ type: string
+ description: A value must be always provided for exactly one or more of the action Parameters with a 'required' value of 'ONE_OR_MORE'. In other words, all the action Parameters with a 'required' of 'ONE_OR_MORE' form a group, and a value must be provided for one or more of the action Parameters in the group.
+ enum:
+ - ONE_OR_MORE
+ example: ONE_OR_MORE
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: true
+ EnterpriseUsersActionRequest:
+ title: Require approval from a set of enterprise users
+ type: object
+ description: Require approval from a set of enterprise users.
+ required:
+ - name
+ - parameters
+ properties:
+ name:
+ type: string
+ description: Name of the associated Action.
+ enum:
+ - approvals.customer.enterpriseUser
+ example: approvals.customer.enterpriseUser
+ parameters:
+ type: object
+ description: Required data needed to configure the Action.
+ required:
+ - userIds
+ - minRequired
+ properties:
+ userIds:
+ type: array
+ items:
+ type: string
+ example: 63cf101298470200073bbae71add80d5
+ description: List of enterprise users for approval
+ example:
+ - 63cf101298470200073bbae71add80d5
+ minRequired:
+ type: number
+ description: Minimum required number of approvers
+ example: 1
+ initiatorIsAllowedToApprove:
+ type: boolean
+ description: Whether the initiator is allowed to approve this action. false by default.
+ example: false
+ default: false
+ operator:
+ $ref: '#/components/schemas/OperatorType'
+ FinalApprovalAction:
+ title: Require final approval from wallet users
+ type: object
+ description: Requires final approval from wallet users after wallet-admin approval. Final approvers don't have to be wallet admins.
+ required:
+ - name
+ - label
+ - description
+ - status
+ - adminOnly
+ - parameters
+ properties:
+ name:
+ type: string
+ description: The name of the action.
+ enum:
+ - approvals.customer.finalApproval
+ example: approvals.customer.finalApproval
+ label:
+ type: string
+ description: A label for the action which can be shown to an end user.
+ example: Require final approval from wallet users
+ description:
+ type: string
+ description: A description for the action which can be shown to an end user.
+ example: Require final approval from wallet users
+ status:
+ type: string
+ description: |
+ Status of the action. Indicates if the Actions is usable 'ACTIVE' or not 'INACTIVE'.
+
+ * 'ACTIVE' - The action is available for use.
+ * 'INACTIVE' - The action is NOT available for use.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ adminOnly:
+ type: boolean
+ description: true, if this is an internal action, false otherwise.
+ example: false
+ parameters:
+ type: array
+ description: A list of Parameters to control how the action behaves.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/FinalApproversUserIdsActionParameter'
+ - $ref: '#/components/schemas/InitiatorIsAllowedToApproveActionParameter'
+ FinalApprovalActionRequest:
+ title: Require final approval from wallet users
+ type: object
+ description: Require final approval from wallet users.
+ required:
+ - name
+ - parameters
+ properties:
+ name:
+ type: string
+ description: Name of the associated Action.
+ enum:
+ - approvals.customer.finalApproval
+ example: approvals.customer.finalApproval
+ parameters:
+ type: object
+ description: Required data needed to configure the Action.
+ required:
+ - userIds
+ properties:
+ userIds:
+ type: array
+ items:
+ type: string
+ example: 63cf101298470200073bbae71add80d5
+ description: The final approvers
+ example:
+ - 63cf101298470200073bbae71add80d5
+ initiatorIsAllowedToApprove:
+ type: boolean
+ description: Whether the initiator is allowed to approve this action. true by default.
+ example: true
+ default: true
+ operator:
+ $ref: '#/components/schemas/OperatorType'
+ FinalApproversUserIdsActionParameter:
+ title: Final approvers user ids
+ type: object
+ description: The final approvers.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the action parameter.
+ enum:
+ - userIds
+ example: userIds
+ label:
+ type: string
+ description: A label for the action parameter which can be shown to an end user.
+ example: Users
+ description:
+ type: string
+ description: A description for the action parameter which can be shown to an end user.
+ example: List of users for final approval
+ type:
+ type: string
+ description: The type of acceptable values for this action parameter.
+ enum:
+ - BITGO_USER_ID
+ example: BITGO_USER_ID
+ required:
+ type: string
+ description: A value must be always provided for exactly one or more of the action Parameters with a 'required' value of 'ONE_OR_MORE'. In other words, all the action Parameters with a 'required' of 'ONE_OR_MORE' form a group, and a value must be provided for one or more of the action Parameters in the group.
+ enum:
+ - ONE_OR_MORE
+ example: ONE_OR_MORE
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: true
+ InitiatorIsAllowedToApproveActionParameter:
+ title: Initiator is allowed to approve
+ type: object
+ description: Whether the initiator is allowed to approve this action.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the action parameter.
+ enum:
+ - initiatorIsAllowedToApprove
+ example: initiatorIsAllowedToApprove
+ label:
+ type: string
+ description: A label for the action parameter which can be shown to an end user.
+ example: Initiator Is Allowed To Approve
+ description:
+ type: string
+ description: A description for the action parameter which can be shown to an end user.
+ example: Whether the initiator is allowed to approve this action
+ type:
+ type: string
+ description: The type of acceptable values for this action parameter.
+ enum:
+ - BOOLEAN
+ example: BOOLEAN
+ required:
+ type: string
+ description: A value is not required.
+ enum:
+ - OPTIONAL
+ example: OPTIONAL
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: false
+ MinRequireActionParameter:
+ title: Minimum number of approvals required
+ type: object
+ description: Minimum required number of approvers.
+ required:
+ - name
+ - label
+ - description
+ - type
+ - required
+ - allowMultiple
+ properties:
+ name:
+ type: string
+ description: The name of the action parameter.
+ enum:
+ - minRequired
+ example: minRequired
+ label:
+ type: string
+ description: A label for the action parameter which can be shown to an end user.
+ example: Approvals Required
+ description:
+ type: string
+ description: A description for the action parameter which can be shown to an end user.
+ example: Minimum required number of approvers
+ type:
+ type: string
+ description: The type of acceptable values for this action parameter.
+ enum:
+ - POSITIVE_NUMBER
+ example: POSITIVE_NUMBER
+ required:
+ type: string
+ description: A value must always be provided, i.e. the parameter is required.
+ enum:
+ - ALWAYS
+ example: ALWAYS
+ allowMultiple:
+ type: boolean
+ description: true, if multiple values can be provided, i.e. as a list of values. When false only one value can be provided, i.e. a list with more than one element will be rejected.
+ example: false
+ OperatorType:
+ type: string
+ description: Boolean operators that join Conditions, and/or Actions. Must be null on the last Condition or Action, or if there is only one Condition or Action, must be non-null on all others.
+ enum:
+ - AND
+ - OR
+ example: AND
+ PaginatedResults:
+ type: object
+ description: Common fields of a paginated result.
+ required:
+ - page
+ - totalPages
+ - totalElements
+ properties:
+ page:
+ type: integer
+ description: Page number. Page numbers start at 1.
+ totalPages:
+ type: integer
+ description: Total number of pages. Total pages start at 1.
+ totalElements:
+ type: integer
+ description: Total number of elements across all pages.
+ PaginatedResultsWithNextBatchPrevId:
+ type: object
+ description: Common fields of a paginated result paged with a nextBatchPrevId.
+ required:
+ - nextBatchPrevId
+ properties:
+ nextBatchPrevId:
+ type: string
+ description: The value to pass as the prevId to the API for getting the next page.
+ PolicyRule2:
+ type: object
+ description: |
+ A Policy Rule, the combination of a Scope, a Touchpoint, Conditions, and Actions. It allows you to define what
+ needs to happen (Actions) before a user can execute a sensitive operation (Touchpoint) on a Scope (e.g. a Wallet)
+ depending on the specific details of the operation (Conditions). See Concepts.
+ required:
+ - id
+ - uniqueId
+ - name
+ - status
+ - adminOnly
+ - touchpointId
+ - touchpointLabel
+ - scopeId
+ - scopeLabel
+ - clauses
+ - filteringConditions
+ - locked
+ - lockType
+ - createdBy
+ - modifiedBy
+ - createdDate
+ - modifiedDate
+ properties:
+ id:
+ type: string
+ description: Id of the Policy Rule. This identifier is not unique in isolation, it must be paired with an specific Policy Rule Version number to uniquely identified a particular version of a Policy Rule. A UUID.
+ example: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ uniqueId:
+ type: string
+ description: The uniqueId of the Policy Rule version. A UUID.
+ example: cb4e0a0a-2768-4024-904a-178ca6d2cd54
+ name:
+ type: string
+ description: Human readable name of the rule.
+ example: My first policy rule
+ status:
+ type: string
+ description: |
+ Indicates if the Policy Rule is considered in Evaluations.
+
+ * 'ACTIVE' - Will be Evaluated.
+ * 'INACTIVE' - Will NOT be Evaluated.
+ * 'DENIED' - The requested policy rule change was Denied.
+ * 'PENDING_APPROVAL' - This version of the policy rule is Pending Approval before it can be activated.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ - DENIED
+ - PENDING_APPROVAL
+ example: ACTIVE
+ version:
+ type: integer
+ description: The Policy Rule Version, an integer that is incremented each time the Policy Rule changes.
+ default: 1
+ example: 1
+ adminOnly:
+ type: boolean
+ description: true, if the Policy Rule is a BitGo internal rule. Typically, this allows setting Global Policy Rules across enterprises.
+ example: false
+ touchpointId:
+ type: string
+ description: The id of the Touchpoint associated with the Policy Rule. A UUID.
+ example: 0a244ae3-26cf-48ed-9854-edd5b9751f3e
+ touchpointLabel:
+ type: string
+ description: Label of the Touchpoint associated with the Policy Rule. For example the Transfer from a Wallet Touchpoint.
+ example: Transfer from a Wallet
+ scopeId:
+ type: string
+ description: The id of the Scope associated with the Policy Rule. A UUID.
+ example: 08a3f714-c330-41e6-bd83-bad3a8d37188
+ scopeLabel:
+ type: string
+ description: Label of the Scope associated with the Policy Rule. For example the All Wallets Scope.
+ example: All Wallets
+ clauses:
+ type: array
+ description: |
+ List of Policy Rule Clauses: a combination of Conditions and Actions.
+ items:
+ $ref: '#/components/schemas/Clause'
+ filteringConditions:
+ type: array
+ description: List of Filtering Conditions that must trigger for this Policy Rule to be Evaluated.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/WalletTypeFilteringCondition'
+ - $ref: '#/components/schemas/WalletIdsFilteringCondition'
+ - $ref: '#/components/schemas/WalletAllFilteringCondition'
+ locked:
+ type: boolean
+ description: true, if the Policy Rule is locked, false otherwise.
+ example: false
+ lockType:
+ type: string
+ description: |
+ Indicates how the Policy Rule is locked.
+
+ * 'LOCK_AFTER_DATE' - Will lock after the lockDate set on the Policy Rule.
+ * 'PERMANENT' - Is permanently locked.
+ enum:
+ - LOCK_AFTER_DATE
+ - PERMANENT
+ example: PERMANENT
+ lockDate:
+ type: string
+ description: |
+ The date after which the Policy Rule will be locked. Only applicable if the Policy Rule is locked with
+ 'LOCK_AFTER_DATE'.
+ format: date-time
+ example: '2023-11-13T14:49:48.830522Z'
+ enterpriseId:
+ type: string
+ description: The id of the Enterprise this Policy Rule belongs to.
+ example: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ lastTriggeredDate:
+ type: string
+ description: |
+ The date when the Policy Rule was last triggered. Only applicable if the Policy Rule is locked with
+ 'LOCK_AFTER_DATE'.
+ format: date-time
+ example: '2023-11-13T14:49:48.830522Z'
+ lastTriggeredEvaluationId:
+ type: string
+ description: |
+ The id of the Evaluation that last triggered the Policy Rule. A UUID.
+ example: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ createdBy:
+ type: string
+ description: The id of the user who created the Policy Rule or the string \"BitGo\".
+ example: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ modifiedBy:
+ type: string
+ description: The id of the user who last modified the Policy Rule or the string \"BitGo\".
+ example: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ createdDate:
+ type: string
+ description: The date when the Policy Rule was created. A timestamp.
+ format: date-time
+ example: '2023-11-13T14:49:48.830522Z'
+ modifiedDate:
+ type: string
+ description: The date when the Policy Rule was last modified. A timestamp.
+ format: date-time
+ example: '2023-11-13T14:49:48.830522Z'
+ lockModifiedBy:
+ type: string
+ description: The id of the user who last modified the lock of the Policy Rule.
+ example: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ evaluationId:
+ type: string
+ description: |
+ The id of the Evaluation that was done when this Policy Rule version was requested to be created, modified
+ or deleted. A UUID.
+ example: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ PolicyRulesResults:
+ description: Paginated list of Policy Rules.
+ allOf:
+ - $ref: '#/components/schemas/PaginatedResultsWithNextBatchPrevId'
+ - type: object
+ properties:
+ rules:
+ type: array
+ description: |
+ A list of Policy Rules matching the search criteria.
+ items:
+ $ref: '#/components/schemas/PolicyRule2'
+ TransferAmountConditionParameters:
+ type: object
+ description: Data required to evaluate the condition.
+ required:
+ - operator
+ - amount
+ - coin
+ properties:
+ operator:
+ type: string
+ enum:
+ - '>'
+ - '>='
+ - <
+ - <=
+ description: The comparison operator to use when comparing the transfer amount with the given limit
+ example: '>'
+ amount:
+ type: string
+ description: The transfer amount is compared with this limit.
+ example: '100000000'
+ coin:
+ type: string
+ description: This condition only applies to transfers of this currency (USD applies to all transfers).
+ example: btc
+ TransferAmountConditionRequest:
+ title: Amount
+ type: object
+ description: Transfer-amount condition.
+ required:
+ - name
+ - parameters
+ properties:
+ name:
+ type: string
+ description: Name of the condition.
+ enum:
+ - transfer.amount
+ example: transfer.amount
+ parameters:
+ $ref: '#/components/schemas/TransferAmountConditionParameters'
+ operator:
+ $ref: '#/components/schemas/OperatorType'
+ TransferDestinationTypeConditionParameters:
+ type: object
+ description: Data required to evaluate the transfer destination condition.
+ required:
+ - type
+ properties:
+ type:
+ type: string
+ enum:
+ - whitelistedAddress
+ - nonWhitelistedAddress
+ description: The type of destination this condition will match.
+ example: whitelistedAddress
+ coin:
+ type: string
+ description: The asset this condition applies to.
+ example: btc
+ TransferDestinationTypeConditionRequest:
+ title: Destination
+ type: object
+ description: Destination condition.
+ required:
+ - name
+ - parameters
+ properties:
+ name:
+ type: string
+ description: Name of the condition.
+ enum:
+ - transfer.destination.type
+ example: transfer.destination.type
+ parameters:
+ $ref: '#/components/schemas/TransferDestinationTypeConditionParameters'
+ operator:
+ $ref: '#/components/schemas/OperatorType'
+ TransferInitiatorsConditionParameters:
+ type: object
+ description: Data required to evaluate the transfer initiator condition.
+ required:
+ - userIds
+ properties:
+ userIds:
+ type: array
+ items:
+ type: string
+ description: A list of user IDs to validate for the transfer initiator.
+ example: '[659bdac013822ba1e8c60d8c497197c4, 63ebe51c12381c0007415e4f50bc95ce]'
+ TransferInitiatorsConditionRequest:
+ title: Initiator
+ type: object
+ description: Initiator condition.
+ required:
+ - name
+ - parameters
+ properties:
+ name:
+ type: string
+ description: Name of the condition.
+ enum:
+ - transfer.initiators
+ example: transfer.initiators
+ parameters:
+ $ref: '#/components/schemas/TransferInitiatorsConditionParameters'
+ operator:
+ $ref: '#/components/schemas/OperatorType'
+ TransferVelocityLimitConditionParameters:
+ type: object
+ description: Data required to evaluate the transfer velocity limit condition.
+ required:
+ - scope
+ - timeWindow
+ - amount
+ - coin
+ properties:
+ scope:
+ type: string
+ enum:
+ - wallet
+ - enterprise
+ description: Entities to include in the velocity calculation.
+ example: wallet
+ timeWindow:
+ type: string
+ description: A window of time in which a set of amount can be spent.
+ example: '60'
+ amount:
+ type: string
+ description: The transfer amount is compared with this limit.
+ example: '100000000'
+ coin:
+ type: string
+ description: The unit that the amount is denoted in, in either crypto or a fiat currency.
+ example: ETH
+ TransferVelocityLimitConditionRequest:
+ title: Velocity limit
+ type: object
+ description: Velocity-limit condition.
+ required:
+ - name
+ - parameters
+ properties:
+ name:
+ type: string
+ description: Name of the condition.
+ enum:
+ - transfer.velocity.limit
+ example: transfer.velocity.limit
+ parameters:
+ $ref: '#/components/schemas/TransferVelocityLimitConditionParameters'
+ operator:
+ $ref: '#/components/schemas/OperatorType'
+ TransferWebhookConditionParameters:
+ type: object
+ description: Data required to evaluate the transfer webhook condition.
+ required:
+ - webhookUrl
+ properties:
+ webhookUrl:
+ type: string
+ description: The webhook url to post transfer payload to.
+ example: https://webhook.site/91561f7b-4141-4ee2-8336-e10650cd000f
+ coin:
+ type: string
+ description: The asset this condition applies to.
+ example: btc
+ TransferWebhookConditionRequest:
+ title: Webhook
+ type: object
+ description: Transfer webhook condition.
+ required:
+ - name
+ - parameters
+ properties:
+ name:
+ type: string
+ description: Name of the condition.
+ enum:
+ - transfer.webhook
+ example: transfer.webhook
+ parameters:
+ $ref: '#/components/schemas/TransferWebhookConditionParameters'
+ WalletAdminAction:
+ title: Require wallet-admin approval
+ type: object
+ description: Requires approval from one or more wallet admin.
+ required:
+ - name
+ - label
+ - description
+ - status
+ - adminOnly
+ - parameters
+ properties:
+ name:
+ type: string
+ description: The name of the action.
+ enum:
+ - approvals.customer.walletAdmin
+ example: approvals.customer.walletAdmin
+ label:
+ type: string
+ description: A label for the action which can be shown to an end user.
+ example: Wallet Admin
+ description:
+ type: string
+ description: A description for the action which can be shown to an end user.
+ example: Require approval from wallet admins
+ status:
+ type: string
+ description: |
+ Status of the action. Indicates if the Actions is usable 'ACTIVE' or not 'INACTIVE'.
+
+ * 'ACTIVE' - The action is available for use.
+ * 'INACTIVE' - The action is NOT available for use.
+ enum:
+ - ACTIVE
+ - INACTIVE
+ example: ACTIVE
+ adminOnly:
+ type: boolean
+ description: true, if this is an internal action, false otherwise.
+ example: false
+ parameters:
+ type: array
+ description: A list of Parameters to control how the action behaves.
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/MinRequireActionParameter'
+ WalletAdminActionRequest:
+ title: Require Require approval from wallet admins
+ type: object
+ description: Require Require approval from wallet admins.
+ required:
+ - name
+ - parameters
+ properties:
+ name:
+ type: string
+ description: Name of the associated Action.
+ enum:
+ - approvals.customer.walletAdmin
+ example: approvals.customer.walletAdmin
+ parameters:
+ type: object
+ description: Required data needed to configure the Action.
+ required:
+ - minRequired
+ properties:
+ minRequired:
+ type: string
+ description: Number of required approvals
+ example: '1'
+ operator:
+ $ref: '#/components/schemas/OperatorType'
+ WalletAllFilteringCondition:
+ title: All wallets
+ type: object
+ description: Filter by all wallets.
+ required:
+ - name
+ properties:
+ name:
+ type: string
+ description: Name of the condition.
+ enum:
+ - wallet.all
+ example: wallet.all
+ WalletIdsFilteringCondition:
+ title: Wallet ID
+ type: object
+ description: Filter by wallet ID.
+ required:
+ - name
+ - parameters
+ properties:
+ name:
+ type: string
+ description: Name of the condition.
+ enum:
+ - wallet.ids
+ example: wallet.ids
+ parameters:
+ type: object
+ description: Required data needed to evaluate the Filtering Condition.
+ required:
+ - walletId
+ properties:
+ walletId:
+ type: array
+ items:
+ type: string
+ description: The Wallet Ids this Filtering Condition will match.
+ WalletTypeFilteringCondition:
+ title: Wallet type
+ type: object
+ description: Filter by wallet type.
+ required:
+ - name
+ - parameters
+ properties:
+ name:
+ type: string
+ description: Name of the condition.
+ enum:
+ - wallet.type
+ example: wallet.type
+ parameters:
+ type: object
+ description: Required data needed to evaluate the Filtering Condition.
+ required:
+ - walletType
+ properties:
+ walletType:
+ type: array
+ items:
+ type: string
+ enum:
+ - hot
+ - custodial
+ TradeUser:
+ required:
+ - email
+ - firstName
+ - id
+ - lastName
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ firstName:
+ type: string
+ lastName:
+ type: string
+ email:
+ type: string
+ format: email
+ example:
+ id: a253c86c-1f0f-42cc-bcd0-2dcc5040b204
+ firstName: Uncle
+ lastName: MoneyPenny
+ email: uncle.moneypenny@bitgo.com
+ Account1:
+ required:
+ - id
+ - name
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ name:
+ type: string
+ example:
+ id: f230fdebfa084ffebc7e00515f54603f
+ name: Uncle MoneyPenny's Trading Wallet
+ Accounts:
+ type: array
+ items:
+ $ref: '#/components/schemas/Account1'
+ AccountBalance:
+ required:
+ - currency
+ - balance
+ - heldBalance
+ - tradableBalance
+ - withdrawableBalance
+ type: object
+ properties:
+ currency:
+ type: string
+ description: Currency symbol
+ balance:
+ type: string
+ format: decimal
+ description: The total balance in the account
+ heldBalance:
+ type: string
+ format: decimal
+ description: The total balance reserved for some purpose, e.g. a pending withdrawal
+ tradableBalance:
+ type: string
+ format: decimal
+ description: The total balance available for trading
+ withdrawableBalance:
+ type: string
+ format: decimal
+ description: The total balance available for withdrawal
+ example:
+ currencyId: 6016e0a9-545a-45fb-8370-caab1680956a
+ currency: BTC
+ balance: '100.0'
+ heldBalance: '10.0'
+ tradableBalance: '90.0'
+ AccountBalances:
+ type: array
+ items:
+ $ref: '#/components/schemas/AccountBalance'
+ Order:
+ required:
+ - id
+ - accountId
+ - time
+ - creationDate
+ - completionDate
+ - type
+ - fundingType
+ - status
+ - product
+ - side
+ - quantity
+ - quantityCurrency
+ - filledQuantity
+ - filledQuoteQuantity
+ - averagePrice
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ accountId:
+ type: string
+ clientOrderId:
+ type: string
+ time:
+ type: string
+ format: date-time
+ description: DEPRECATED
+ creationDate:
+ type: string
+ format: date-time
+ scheduledDate:
+ type: string
+ format: date-time
+ lastFillDate:
+ type: string
+ format: date-time
+ completionDate:
+ type: string
+ format: date-time
+ settleDate:
+ type: string
+ format: date-time
+ type:
+ type: string
+ fundingType:
+ type: string
+ enum:
+ - margin
+ - funded
+ status:
+ $ref: '#/components/schemas/OrderStatus'
+ product:
+ type: string
+ description: Product name e.g. BTC-USD
+ side:
+ $ref: '#/components/schemas/Side'
+ quantity:
+ type: string
+ format: decimal
+ description: The specified quantity.
+ quantityCurrency:
+ type: string
+ description: The specified quantity currency.
+ filledQuantity:
+ type: string
+ format: decimal
+ description: The base quantity that was filled.
+ filledQuoteQuantity:
+ type: string
+ format: decimal
+ description: The quote quantity that was filled.
+ averagePrice:
+ type: string
+ format: decimal
+ limitPrice:
+ type: string
+ format: decimal
+ duration:
+ type: integer
+ description: Duration of the order in minutes.
+ twapInterval:
+ type: integer
+ description: Interval length of the TWAP order in minutes.
+ reason:
+ description: Reason for order cancellation. 'internalError' indicates an error occurred within the server while processing the order, resulting in an order cancellation. 'insufficientFunds' indicates that the order was cancelled due to shortage of funds to complete the transaction.
+ type: string
+ enum:
+ - internalError
+ - insufficientFunds
+ example: insufficientFunds
+ example:
+ id: 67fd640c-cb6c-4218-80ae-49e79ec15646
+ accountId: 60e740e7898f7d00064d43769a73dc48
+ clientOrderId: myorderid1
+ time: {}
+ creationDate: {}
+ scheduledDate: {}
+ lastFillDate: {}
+ completionDate: {}
+ settleDate: {}
+ fundingType: funded
+ type: market
+ status: completed
+ product: BTC-USD
+ side: buy
+ quantity: '1000'
+ quantityCurrency: USD
+ filledQuantity: '0.02457152'
+ filledQuoteQuantity: '1000'
+ averagePrice: '40697.32'
+ Orders:
+ type: array
+ items:
+ $ref: '#/components/schemas/Order'
+ NewOrderRequest:
+ oneOf:
+ - $ref: '#/components/schemas/NewMarketOrderRequest'
+ - $ref: '#/components/schemas/NewLimitOrderRequest'
+ - $ref: '#/components/schemas/NewTWAPOrderRequest'
+ NewMarketOrderRequest:
+ title: Market
+ required:
+ - product
+ - quantity
+ - quantityCurrency
+ - side
+ - type
+ type: object
+ properties:
+ clientOrderId:
+ type: string
+ description: Custom order ID. This must be a unique ID associated with an order and cannot be the same across multiple requests.
+ maxLength: 256
+ product:
+ type: string
+ description: Product name e.g. BTC-USD
+ type:
+ type: string
+ description: Must be set to "market"
+ side:
+ $ref: '#/components/schemas/Side'
+ quantity:
+ type: string
+ format: decimal
+ quantityCurrency:
+ type: string
+ description: The quantity currency must be in quote currency for buy and base currency for sell. e.g. If product is BTC-USD, the base currency will be BTC.
+ example:
+ clientOrderId: myorder1
+ type: market
+ product: BTC-USD
+ side: buy
+ quantity: '10000'
+ quantityCurrency: USD
+ NewLimitOrderRequest:
+ title: Limit
+ required:
+ - product
+ - quantity
+ - quantityCurrency
+ - side
+ - type
+ - limitPrice
+ type: object
+ properties:
+ clientOrderId:
+ type: string
+ description: Custom order ID. This must be a unique ID associated with an order and cannot be the same across multiple requests.
+ maxLength: 256
+ product:
+ type: string
+ description: Product name e.g. BTC-USD
+ type:
+ type: string
+ description: Must be set to "limit"
+ side:
+ $ref: '#/components/schemas/Side'
+ quantity:
+ type: string
+ format: decimal
+ quantityCurrency:
+ type: string
+ description: The quantity currency must be in the base currency for both buy and sell. e.g. If product is BTC-USD, the base currency will be BTC.
+ limitPrice:
+ type: string
+ format: decimal
+ duration:
+ type: integer
+ description: Duration of the limit order in minutes. For orders that are good till cancelled, skip duration and use timeInForce=GTC.
+ timeInForce:
+ type: string
+ description: Time in force for the order. GTC (Good Till Cancelled) is the only allowed value.
+ enum:
+ - GTC
+ example:
+ clientOrderId: myorder1
+ type: limit
+ product: BTC-USD
+ side: buy
+ quantity: '1'
+ quantityCurrency: BTC
+ limitPrice: '10005'
+ duration: 60
+ NewTWAPOrderRequest:
+ title: TWAP
+ required:
+ - product
+ - quantity
+ - quantityCurrency
+ - side
+ - type
+ - duration
+ - interval
+ type: object
+ properties:
+ clientOrderId:
+ type: string
+ description: Custom order ID. This must be a unique ID associated with an order and cannot be the same across multiple requests.
+ maxLength: 256
+ product:
+ type: string
+ description: Product name e.g. BTC-USD
+ type:
+ type: string
+ description: Must be set to "twap"
+ side:
+ $ref: '#/components/schemas/Side'
+ quantity:
+ type: string
+ format: decimal
+ quantityCurrency:
+ type: string
+ description: The quantity currency must be in quote currency for buy unless a limit price is specified, in which case buy orders can only be placed in the base currency. For sell, the quantity currency must be in base. e.g. If product is BTC-USD, the base currency will be BTC.
+ limitPrice:
+ type: string
+ format: decimal
+ duration:
+ type: integer
+ description: Duration of the TWAP order in minutes.
+ interval:
+ type: integer
+ description: Interval of the TWAP order in minutes.
+ scheduledDate:
+ type: string
+ format: date-time
+ example:
+ clientOrderId: myorder1
+ type: twap
+ product: BTC-USD
+ side: buy
+ quantity: '100000'
+ quantityCurrency: USD
+ duration: 60
+ interval: 5
+ PrimeTrade:
+ required:
+ - id
+ - orderId
+ - time
+ - product
+ - side
+ - price
+ - quoteQuantity
+ - quantity
+ - settled
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ orderId:
+ type: string
+ format: uuid
+ time:
+ type: string
+ format: date-time
+ product:
+ type: string
+ description: Product name e.g. BTC-USD
+ side:
+ $ref: '#/components/schemas/Side'
+ price:
+ type: string
+ format: decimal
+ quoteQuantity:
+ type: string
+ format: decimal
+ description: Quote quantity, e.g. For BTC-USD product, 100.50 USD
+ quantity:
+ type: string
+ format: decimal
+ description: Base quantity, e.g. For BTC-USD product, 0.0045 BTC
+ settled:
+ type: boolean
+ example:
+ id: 7e0c768e-2d16-4c1e-b39d-06fa20009397
+ orderId: d50ec984-77a8-460a-b958-66f114b0de9b
+ time: {}
+ side: buy
+ product: BTC-USD
+ quoteQuantity: '100.50'
+ price: '22333.33'
+ quantity: '0.0045'
+ settled: true
+ Trades:
+ type: array
+ items:
+ $ref: '#/components/schemas/PrimeTrade'
+ Currency:
+ required:
+ - id
+ - name
+ - symbol
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ symbol:
+ type: string
+ name:
+ type: string
+ example:
+ id: 6016e0a9-545a-45fb-8370-caab1680956a
+ symbol: BTC
+ name: Bitcoin
+ Currencies:
+ type: array
+ items:
+ $ref: '#/components/schemas/Currency'
+ Product:
+ required:
+ - baseCurrencyId
+ - baseCurrency
+ - baseMinSize
+ - id
+ - isTradeDisabled
+ - name
+ - quoteCurrencyId
+ - quoteCurrency
+ - quoteIncrement
+ - quoteMinSize
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ name:
+ type: string
+ description: Product name e.g. BTC
+ baseCurrencyId:
+ type: string
+ format: uuid
+ baseCurrency:
+ type: string
+ description: Currency name e.g. BTC
+ quoteCurrencyId:
+ type: string
+ format: uuid
+ quoteCurrency:
+ type: string
+ description: Currency name e.g. USD
+ baseMinSize:
+ type: string
+ format: decimal
+ baseMaxSize:
+ type: string
+ format: decimal
+ baseIncrement:
+ type: string
+ format: decimal
+ quoteMinSize:
+ type: string
+ format: decimal
+ quoteIncrement:
+ type: string
+ format: decimal
+ isTradeDisabled:
+ type: boolean
+ example:
+ id: 86d09911-e58e-4f27-ac1f-91d5f9c79952
+ name: BTC-USD
+ baseCurrencyId: 6016e0a9-545a-45fb-8370-caab1680956a
+ quoteCurrencyId: 7d5d1e8d-e6e1-4676-99af-190012515418
+ baseCurrency: BTC
+ quoteCurrency: USD
+ baseMinSize: '0.001'
+ baseMaxSize: '10000.00'
+ quoteIncrement: '0.01'
+ Products:
+ type: array
+ items:
+ $ref: '#/components/schemas/Product'
+ Level1OrderBookSnapshot:
+ required:
+ - askPrice
+ - askSize
+ - bidPrice
+ - bidSize
+ - product
+ - time
+ type: object
+ properties:
+ time:
+ type: string
+ format: date-time
+ product:
+ type: string
+ description: Product name e.g. BTC
+ bidPrice:
+ type: string
+ format: decimal
+ bidSize:
+ type: string
+ format: decimal
+ askPrice:
+ type: string
+ format: decimal
+ askSize:
+ type: string
+ format: decimal
+ example:
+ time: {}
+ product: BTC-USD
+ bidPrice: '7090.96'
+ bidSize: '1.253433'
+ askPrice: '7090.97'
+ askSize: '25.23881'
+ Level2OrderBookSnapshot:
+ required:
+ - asks
+ - bids
+ - product
+ - time
+ type: object
+ properties:
+ time:
+ type: string
+ format: date-time
+ product:
+ type: string
+ description: Product name e.g. BTC
+ bids:
+ type: array
+ description: An array of levels of [price, size]
+ items:
+ type: string
+ format: decimal
+ asks:
+ type: array
+ description: An array of levels of [price, size]
+ items:
+ type: string
+ format: decimal
+ example:
+ time: {}
+ product: BTC-USD
+ bids:
+ - - '7090.96'
+ - '1.253433'
+ asks:
+ - - '7090.97'
+ - '25.23881'
+ OrderStatus:
+ type: string
+ enum:
+ - pending_open
+ - open
+ - completed
+ - pending_cancel
+ - canceled
+ - error
+ - scheduled
+ Error:
+ required:
+ - error
+ - errorName
+ - reqId
+ type: object
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ reqId:
+ type: string
+ example:
+ error: invalid permission
+ errorName: backend:common:forbidden
+ reqId: d41d4d21e63d63b293caf55f2a739a79
+ Side:
+ description: Side of a trade, from the perspective of the requesting user
+ type: string
+ enum:
+ - buy
+ - sell
+ example: buy
+ TransactionRoute:
+ title: TransactionRoute
+ type: object
+ description: transaction route business object data model
+ properties:
+ id:
+ type: string
+ description: route id for transaction routes
+ title: uuid
+ rtType:
+ allOf:
+ - $ref: '#/components/schemas/RoutedTransactionType'
+ description: route type for transaction routes
+ data:
+ allOf:
+ - $ref: '#/components/schemas/RouteMetadata'
+ description: route metadata for transaction routes
+ enterpriseId:
+ type: string
+ description: enterprise id for transaction routes
+ walletId:
+ type: string
+ description: wallet id for transaction routes
+ ownerUserId:
+ type: string
+ description: owner user id for transaction routes
+ nonce:
+ type: string
+ description: nonce for use with signable routes, to prevent replay attacks
+ payload:
+ type: string
+ description: payload for transaction routes
+ signature:
+ type: string
+ description: signature for transaction routes
+ proof:
+ type: string
+ description: proof of signature for transaction routes
+ active:
+ type: boolean
+ description: active status for transaction routes
+ createdAt:
+ oneOf:
+ - type: string
+ - {}
+ description: creation timestamp for transaction routes, decodes from date or ISO Date string
+ updatedAt:
+ oneOf:
+ - type: string
+ - {}
+ description: updated timestamp for transaction routes, decodes from date or ISO Date string
+ required:
+ - id
+ - rtType
+ - data
+ - active
+ - createdAt
+ - updatedAt
+ RoutedTransactionType:
+ title: RoutedTransactionType
+ type: string
+ enum:
+ - RT_AUTO_LIQUIDATION
+ - RT_FINANCING
+ - RT_OES_ONCHAIN_SETTLEMENT
+ description: category of routed transaction for discrimination of status
+ RouteMetadata:
+ title: RouteMetadata
+ oneOf:
+ - $ref: '#/components/schemas/RouteMetadataAutoLiquidation'
+ - $ref: '#/components/schemas/RouteMetadataEmpty'
+ - $ref: '#/components/schemas/RouteMetadataFinancing'
+ - $ref: '#/components/schemas/RouteMetadataOESSettlement'
+ description: route metadata in general
+ RouteMetadataAutoLiquidation:
+ title: RouteMetadataAutoLiquidation
+ allOf:
+ - type: object
+ properties:
+ rtType:
+ type: string
+ enum:
+ - RT_AUTO_LIQUIDATION
+ required:
+ - rtType
+ - $ref: '#/components/schemas/RouteMetadataAddressOrder'
+ description: route metadata for auto-liquidation routes
+ RouteMetadataEmpty:
+ title: RouteMetadataEmpty
+ type: object
+ description: default route metadata, instead of "nullable"
+ properties: {}
+ RouteMetadataFinancing:
+ title: RouteMetadataFinancing
+ allOf:
+ - type: object
+ properties:
+ addressValue:
+ type: string
+ minLength: 1
+ - $ref: '#/components/schemas/BaseRouteMetadataFinancing'
+ description: route metadata for financing routes
+ RouteMetadataOESSettlement:
+ title: RouteMetadataOESSettlement
+ allOf:
+ - type: object
+ properties:
+ rtType:
+ type: string
+ enum:
+ - RT_OES_ONCHAIN_SETTLEMENT
+ required:
+ - rtType
+ - $ref: '#/components/schemas/RouteMetadataOESPartner'
+ description: route metadata for automated OES settlement routes
+ RouteMetadataOESPartner:
+ title: RouteMetadataOESPartner
+ type: object
+ description: route metadata for OES partner
+ properties:
+ partnerId:
+ type: string
+ description: OES partner ID
+ title: uuid
+ required:
+ - partnerId
+ BaseRouteMetadataFinancing:
+ title: BaseRouteMetadataFinancing
+ type: object
+ properties:
+ rtType:
+ type: string
+ enum:
+ - RT_FINANCING
+ required:
+ - rtType
+ RouteMetadataAddressOrder:
+ title: RouteMetadataAddressOrder
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/RouteMetadataAddress'
+ - $ref: '#/components/schemas/RouteMetadataOrder'
+ RouteMetadataAddress:
+ title: RouteMetadataAddress
+ type: object
+ description: route metadata for address related routes
+ properties:
+ addressValue:
+ type: string
+ minLength: 1
+ required:
+ - addressValue
+ RouteMetadataOrder:
+ title: RouteMetadataOrder
+ type: object
+ description: route metadata for order related routes
+ properties:
+ apiTradeProduct:
+ type: string
+ minLength: 1
+ exCoin:
+ type: string
+ description: exCoin is the coin we are trading away, e.g. BTC in a BTC-USD sell trade
+ minLength: 1
+ required:
+ - apiTradeProduct
+ - exCoin
+ StakingRequestPOSTBody:
+ type: object
+ properties:
+ clientId:
+ description: Optional user generated identifier to detect duplicated requests.
+ type: string
+ amount:
+ description: Amount to stake in base units (i.e. Wei for ETH). For Ethereum the amount must be a multiple of 32 ETH (32000000000000000000 Wei). For Testnet the 32 ETH multiple restriction does not apply.
+ type: string
+ example: '32000000000000000000'
+ type:
+ description: Staking Request type = 'STAKE'
+ type: string
+ example: STAKE
+ required:
+ - amount
+ - type
+ AvaxPStakingRequestPOSTBody:
+ title: AVAXP stake
+ allOf:
+ - $ref: '#/components/schemas/StakingRequestPOSTBody'
+ type: object
+ properties:
+ amount:
+ description: Amount to stake in base units.
+ type: string
+ example: '1000'
+ type:
+ description: Staking Request type = 'STAKE'.
+ type: string
+ example: STAKE
+ durationSeconds:
+ description: The length of time in seconds to complete a staking period.
+ type: integer
+ example: 604800
+ required:
+ - amount
+ - type
+ - durationSeconds
+ EthStakingRequestPOSTBody:
+ title: ETH stake
+ allOf:
+ - $ref: '#/components/schemas/StakingRequestPOSTBody'
+ type: object
+ properties:
+ gasPrice:
+ type: string
+ description: User overridden gas price to apply for the generated transactions for this request. GasPrice is in base units.
+ MaticStakingRequestPOSTBody:
+ title: MATIC stake
+ allOf:
+ - $ref: '#/components/schemas/StakingRequestPOSTBody'
+ type: object
+ properties:
+ gasPrice:
+ type: string
+ description: User overridden gas price to apply for the generated transactions for this request. GasPrice is in base units.
+ NearStakingRequestPOSTBody:
+ title: NEAR stake
+ allOf:
+ - $ref: '#/components/schemas/StakingRequestPOSTBody'
+ type: object
+ properties:
+ amount:
+ description: Amount to stake in base units.
+ type: string
+ example: '12000000000000000000'
+ SolStakingRequestPOSTBody:
+ title: SOL stake
+ allOf:
+ - $ref: '#/components/schemas/StakingRequestPOSTBody'
+ type: object
+ properties:
+ amount:
+ description: Amount to stake in base units.
+ type: string
+ example: '1000'
+ DotStakingRequestPOSTBody:
+ title: DOT stake
+ allOf:
+ - $ref: '#/components/schemas/StakingRequestPOSTBody'
+ type: object
+ properties:
+ amount:
+ description: Amount to stake in base units.
+ type: string
+ example: '10000000000'
+ CosmosLikeStakingRequestPOSTBody:
+ title: ATOM-like stake
+ allOf:
+ - $ref: '#/components/schemas/StakingRequestPOSTBody'
+ type: object
+ properties:
+ validator:
+ description: The validator to delegate to.
+ type: string
+ example: 017234b285929170324e1051ccd887dc08adf049650ecf5d383985b0b0048ab39b
+ required:
+ - validator
+ AtomStakingRequestPOSTBody:
+ title: ATOM stake
+ allOf:
+ - $ref: '#/components/schemas/StakingRequestPOSTBody'
+ type: object
+ UnStakingRequestPOSTBody:
+ type: object
+ properties:
+ clientId:
+ description: Optional user generated identifier to detect duplicated requests.
+ type: string
+ type:
+ description: Staking Request type = 'UNSTAKE'.
+ type: string
+ example: UNSTAKE
+ required:
+ - type
+ MaticUnStakingRequestPOSTBody:
+ title: MATIC unstake
+ allOf:
+ - $ref: '#/components/schemas/UnStakingRequestPOSTBody'
+ type: object
+ properties:
+ gasPrice:
+ type: string
+ description: User overridden gas price to apply for the generated transactions for this request. GasPrice is in base units.
+ NearUnStakingRequestPOSTBody:
+ title: NEAR unstake
+ allOf:
+ - $ref: '#/components/schemas/UnStakingRequestPOSTBody'
+ type: object
+ properties:
+ amount:
+ description: Amount to stake in base units.
+ type: string
+ example: '12000000000000000000'
+ type:
+ description: Staking Request type = 'UNSTAKE'.
+ type: string
+ example: UNSTAKE
+ required:
+ - amount
+ - type
+ SolUnStakingRequestPOSTBody:
+ title: SOL unstake
+ allOf:
+ - $ref: '#/components/schemas/UnStakingRequestPOSTBody'
+ type: object
+ properties:
+ type:
+ description: Staking Request type = 'UNSTAKE'.
+ type: string
+ example: UNSTAKE
+ delegationId:
+ description: The delegation ID representing the delegation to unstake.
+ type: string
+ required:
+ - type
+ DotUnStakingRequestPOSTBody:
+ title: DOT unstake
+ allOf:
+ - $ref: '#/components/schemas/UnStakingRequestPOSTBody'
+ type: object
+ properties:
+ type:
+ description: Staking Request type = 'UNSTAKE'.
+ type: string
+ example: UNSTAKE
+ delegationId:
+ description: The delegation ID representing the delegation to unstake.
+ type: string
+ amount:
+ description: Amount to unstake in base units.
+ type: string
+ example: '10000000000'
+ required:
+ - type
+ CosmosLikeUnStakingRequestPOSTBody:
+ title: ATOM-like unstake
+ allOf:
+ - $ref: '#/components/schemas/UnStakingRequestPOSTBody'
+ type: object
+ properties:
+ delegationId:
+ description: Optional delegation ID representing the delegation to unstake.
+ type: string
+ amount:
+ description: Amount to unstake in base units.
+ type: string
+ example: '10000000000'
+ required:
+ - amount
+ AtomUnStakingRequestPOSTBody:
+ title: ATOM unstake
+ allOf:
+ - $ref: '#/components/schemas/UnStakingRequestPOSTBody'
+ type: object
+ properties:
+ amount:
+ description: Amount to unstake in base units.
+ type: string
+ example: '10000000000'
+ required:
+ - amount
+ EthStakingRequest:
+ title: ETH
+ allOf:
+ - $ref: '#/components/schemas/StakingRequest'
+ type: object
+ properties:
+ gasPrice:
+ type: string
+ description: User overridden gas price to apply for the generated transactions for this request. GasPrice is in base units.
+ delegations:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ $ref: '#/components/schemas/EthStakingDelegation'
+ transactions:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ $ref: '#/components/schemas/EthStakingTransaction'
+ amount:
+ description: Amount to stake in base units (i.e. Wei for ETH). For Ethereum the amount needs to be a multiple of 32 ETH (32000000000000000000 Wei). For Testnet the 32 ETH multiple restriction does not apply.
+ type: string
+ MaticStakingRequest:
+ title: MATIC
+ allOf:
+ - $ref: '#/components/schemas/StakingRequest'
+ type: object
+ properties:
+ gasPrice:
+ type: string
+ description: User overridden gas price to apply for the generated transactions for this request. GasPrice is in base units.
+ delegations:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ $ref: '#/components/schemas/MaticStakingDelegation'
+ transactions:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ $ref: '#/components/schemas/MaticStakingTransaction'
+ amount:
+ description: Amount to stake in base units (i.e. Wei for MATIC)
+ type: string
+ NearStakingRequest:
+ title: NEAR
+ allOf:
+ - $ref: '#/components/schemas/StakingRequest'
+ type: object
+ properties:
+ delegations:
+ type: array
+ minItems: 1
+ maxItems: 1
+ items:
+ $ref: '#/components/schemas/NearStakingDelegation'
+ transactions:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ $ref: '#/components/schemas/NearStakingTransaction'
+ amount:
+ description: Amount to stake in base units.
+ type: string
+ CosmosLikeStakingRequest:
+ title: ATOM like
+ allOf:
+ - $ref: '#/components/schemas/StakingRequest'
+ type: object
+ properties:
+ delegations:
+ type: array
+ minItems: 1
+ maxItems: 1
+ items:
+ $ref: '#/components/schemas/CosmosLikeStakingDelegation'
+ transactions:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ $ref: '#/components/schemas/CosmosLikeStakingTransaction'
+ amount:
+ description: Amount to stake in base units.
+ type: string
+ AtomStakingRequest:
+ title: ATOM
+ allOf:
+ - $ref: '#/components/schemas/StakingRequest'
+ type: object
+ properties:
+ delegations:
+ type: array
+ minItems: 1
+ maxItems: 1
+ items:
+ $ref: '#/components/schemas/AtomStakingDelegation'
+ transactions:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ $ref: '#/components/schemas/AtomStakingTransaction'
+ amount:
+ description: Amount to stake in base units.
+ type: string
+ SolStakingRequest:
+ title: SOL
+ allOf:
+ - $ref: '#/components/schemas/StakingRequest'
+ type: object
+ properties:
+ delegations:
+ type: array
+ minItems: 1
+ maxItems: 1
+ items:
+ $ref: '#/components/schemas/SolStakingDelegation'
+ transactions:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ $ref: '#/components/schemas/SolStakingTransaction'
+ amount:
+ description: Amount to stake in base units.
+ type: string
+ DotStakingRequest:
+ title: DOT
+ allOf:
+ - $ref: '#/components/schemas/StakingRequest'
+ type: object
+ properties:
+ delegations:
+ type: array
+ minItems: 1
+ maxItems: 1
+ items:
+ $ref: '#/components/schemas/DotStakingDelegation'
+ transactions:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ $ref: '#/components/schemas/DotStakingTransaction'
+ amount:
+ description: Amount to stake in base units.
+ type: string
+ AvaxPStakingRequest:
+ title: AVAXP
+ allOf:
+ - $ref: '#/components/schemas/StakingRequest'
+ type: object
+ properties:
+ delegations:
+ type: array
+ minItems: 1
+ maxItems: 1
+ items:
+ $ref: '#/components/schemas/AvaxPStakingDelegation'
+ transactions:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ $ref: '#/components/schemas/AvaxPStakingTransaction'
+ amount:
+ description: Amount to stake in base units.
+ type: string
+ durationSeconds:
+ description: The length of time in seconds to complete a staking period.
+ type: integer
+ StakingDelegation:
+ type: object
+ properties:
+ id:
+ description: The staking request ID.
+ type: string
+ coin:
+ description: The staking asset.
+ type: string
+ walletId:
+ description: The ID of the wallet that the delegation is tied to.
+ type: string
+ delegationAddress:
+ description: The delegation address.
+ type: string
+ withdrawalAddress:
+ description: The withdrawal address.
+ type: string
+ delegated:
+ description: The delegation amount.
+ type: string
+ status:
+ description: The status of the delegation.
+ type: string
+ rewards:
+ description: The amount of rewards received over the lifetime.
+ type: string
+ lockedRewards:
+ description: The amount of locked rewards received.
+ type: string
+ pendingUnstake:
+ description: The amount that is pending unstake.
+ type: string
+ pendingStake:
+ description: The amount that is pending stake.
+ type: string
+ apy:
+ description: The estimated reward APY or APR if rewards are not compounding.
+ type: string
+ unstakingFee:
+ description: The total fees needed in the wallet to unstake an amount from the delegation.
+ type: string
+ unstakingMin:
+ description: The minimum amount needed to unstake from the delegation.
+ type: string
+ EthStakingDelegation:
+ title: ETH
+ allOf:
+ - $ref: '#/components/schemas/StakingDelegation'
+ type: object
+ MaticStakingDelegation:
+ title: MATIC
+ allOf:
+ - $ref: '#/components/schemas/StakingDelegation'
+ type: object
+ properties:
+ unstakeable:
+ description: True if unable to unstake.
+ type: boolean
+ NearStakingDelegation:
+ title: NEAR
+ allOf:
+ - $ref: '#/components/schemas/StakingDelegation'
+ type: object
+ CosmosLikeStakingDelegation:
+ title: ATOM like
+ allOf:
+ - $ref: '#/components/schemas/StakingDelegation'
+ type: object
+ AtomStakingDelegation:
+ allOf:
+ - $ref: '#/components/schemas/StakingDelegation'
+ type: object
+ SolStakingDelegation:
+ title: SOL
+ allOf:
+ - $ref: '#/components/schemas/StakingDelegation'
+ type: object
+ DotStakingDelegation:
+ title: DOT
+ allOf:
+ - $ref: '#/components/schemas/StakingDelegation'
+ type: object
+ AvaxPStakingDelegation:
+ allOf:
+ - $ref: '#/components/schemas/StakingDelegation'
+ type: object
+ DelegationResults:
+ type: object
+ properties:
+ delegations:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/CosmosLikeStakingDelegation'
+ - $ref: '#/components/schemas/DotStakingDelegation'
+ - $ref: '#/components/schemas/EthStakingDelegation'
+ - $ref: '#/components/schemas/MaticStakingDelegation'
+ - $ref: '#/components/schemas/NearStakingDelegation'
+ - $ref: '#/components/schemas/SolStakingDelegation'
+ page:
+ type: integer
+ description: The page number for paging purposes.
+ totalPages:
+ type: integer
+ description: The total number of pages for paging purposes.
+ totalElements:
+ type: integer
+ description: The number of elements per page used for paging purposes.
+ EthStakingTransactionSendRequest:
+ type: object
+ properties:
+ halfSigned:
+ description: A half-signed transaction object.
+ type: object
+ properties:
+ contractSequenceId:
+ description: The contract sequence ID of the transaction.
+ type: string
+ eip1559:
+ description: Eip1559 Params
+ type: object
+ properties:
+ maxPriorityFeePerGas:
+ type: string
+ maxFeePerGas:
+ type: string
+ operationHash:
+ type: string
+ expireTime:
+ type: string
+ signature:
+ type: string
+ comment:
+ type: string
+ EthStakingTransaction:
+ allOf:
+ - $ref: '#/components/schemas/StakingTransaction'
+ type: object
+ properties:
+ buildParams:
+ $ref: '#/components/schemas/TransactionBuildParams'
+ MaticStakingTransaction:
+ allOf:
+ - $ref: '#/components/schemas/StakingTransaction'
+ type: object
+ properties:
+ gasPrice:
+ description: The gas limit in base units.
+ type: string
+ NearStakingTransaction:
+ allOf:
+ - $ref: '#/components/schemas/StakingTransaction'
+ type: object
+ CosmosLikeStakingTransaction:
+ allOf:
+ - $ref: '#/components/schemas/StakingTransaction'
+ type: object
+ AtomStakingTransaction:
+ allOf:
+ - $ref: '#/components/schemas/StakingTransaction'
+ type: object
+ SolStakingTransaction:
+ allOf:
+ - $ref: '#/components/schemas/StakingTransaction'
+ type: object
+ AvaxPStakingTransaction:
+ allOf:
+ - $ref: '#/components/schemas/StakingTransaction'
+ type: object
+ DotStakingTransaction:
+ allOf:
+ - $ref: '#/components/schemas/StakingTransaction'
+ type: object
+ DotWalletStakingStateAttributes:
+ type: object
+ properties:
+ spendableAttributes:
+ $ref: '#/components/schemas/DotWalletStakingSpendableAttributes'
+ permissionAttributes:
+ $ref: '#/components/schemas/WalletStakingPermissionAttributes'
+ disclaimerAttributes:
+ $ref: '#/components/schemas/WalletStakingDisclaimerAttributes'
+ WalletStakingStateAttributes:
+ type: object
+ properties:
+ spendableAttributes:
+ $ref: '#/components/schemas/DotWalletStakingSpendableAttributes'
+ permissionAttributes:
+ $ref: '#/components/schemas/WalletStakingPermissionAttributes'
+ disclaimerAttributes:
+ $ref: '#/components/schemas/WalletStakingDisclaimerAttributes'
+ DotWalletStakingSpendableAttributes:
+ type: object
+ properties:
+ stakingSpendableAttributes:
+ $ref: '#/components/schemas/StakingSpendableAttributes'
+ unstakingSpendableAttributes:
+ $ref: '#/components/schemas/UnStakingSpendableAttributes'
+ AvaxpWalletStakingStateAttributes:
+ type: object
+ properties:
+ stakingSpendableAttributes:
+ allOf:
+ - $ref: '#/components/schemas/StakingSpendableAttributes'
+ type: object
+ properties:
+ minDuration:
+ description: The minimum duration in seconds for staking period.
+ type: integer
+ maxDuration:
+ description: The maximum duration in seconds for staking period.
+ type: integer
+ unstakingSpendableAttributes:
+ $ref: '#/components/schemas/UnStakingSpendableAttributes'
+ WalletStakingPermissionAttributes:
+ type: object
+ properties:
+ walletPermissionAttributes:
+ $ref: '#/components/schemas/WalletPermissionAttributes'
+ stakingPermissionAttributes:
+ $ref: '#/components/schemas/StakingPermissionAttributes'
+ unstakingPermissionAttributes:
+ $ref: '#/components/schemas/UnstakingPermissionAttributes'
+ WalletStakingDisclaimerAttributes:
+ type: object
+ properties:
+ stakingDisclaimerAttributes:
+ $ref: '#/components/schemas/StakingDisclaimerAttributes'
+ unstakingDisclaimerAttributes:
+ $ref: '#/components/schemas/UnstakingDisclaimerAttributes'
+ StakingSpendableAttributes:
+ type: object
+ properties:
+ max:
+ description: The maximum spendable amount.
+ type: string
+ min:
+ description: The minimum spendable amount.
+ type: string
+ fee:
+ description: The blockchain fee to submit the transactions needed to stake.
+ type: string
+ netMax:
+ description: The maximum spendable amount minus fees.
+ type: string
+ netMin:
+ description: The net minimum spendable amount plus fees.
+ type: string
+ isStakingDurationNeeded:
+ description: True, if staking duration in seconds is required.
+ type: boolean
+ minStakeMore:
+ description: The minimum amount required to stake to the same validator.
+ type: integer
+ UnStakingSpendableAttributes:
+ type: object
+ properties:
+ max:
+ description: The maximum spendable amount.
+ type: string
+ min:
+ description: The minimum spendable amount.
+ type: string
+ fee:
+ description: The blockchain fee to submit the transactions needed to unstake.
+ type: string
+ multipleDelegations:
+ description: True, if more than one active staking delegation exists for a wallet.
+ type: boolean
+ WalletPermissionAttributes:
+ type: object
+ properties:
+ hasEnoughAdmins:
+ description: True, if the wallet has enough admins to create a staking request.
+ type: boolean
+ numberOfRequiredAdmin:
+ description: The number of admins required to create a hot staking request.
+ type: integer
+ StakingPermissionAttributes:
+ type: object
+ properties:
+ enabled:
+ description: If the wallet has staking request submission permission.
+ type: string
+ disabledReason:
+ description: The reason that staking request submission has been disabled.
+ type: string
+ UnstakingPermissionAttributes:
+ type: object
+ properties:
+ enabled:
+ description: If the wallet has unstaking request submission permission.
+ type: string
+ disabledReason:
+ description: The reason that unstaking request submission has been disabled.
+ type: string
+ StakingDisclaimerAttributes:
+ type: object
+ properties:
+ info:
+ description: Disclaimer info
+ type: string
+ transactionsNeeded:
+ description: The number of transactions needed for a staking request.
+ type: integer
+ UnstakingDisclaimerAttributes:
+ type: object
+ properties:
+ info:
+ description: Disclaimer info
+ type: string
+ transactionsNeeded:
+ description: The number of transactions needed for an unstaking request.
+ type: integer
+ StakingWallet:
+ type: object
+ properties:
+ enterpriseId:
+ description: The ID of the enterprise where the the staking request was created.
+ type: string
+ walletId:
+ description: The ID of the wallet where the staking request was created.
+ type: string
+ walletType:
+ description: The type of wallet the staking request was created from, either cold, custodial, or hot.
+ type: string
+ label:
+ description: The label of the wallet the staking request was created from.
+ type: string
+ coin:
+ description: The staking asset.
+ type: string
+ delegated:
+ description: The delegated staked amount in base units.
+ type: string
+ pendingUnstake:
+ description: The amount that is actively being unstaked.
+ type: string
+ pendingStake:
+ description: The amount that is actively being staked.
+ type: string
+ spendableAttributes:
+ description: Spendable attributes
+ type: object
+ rewards:
+ description: The amount of rewards received in base units.
+ type: string
+ lockedRewards:
+ description: The amout of locked rewards in base units.
+ type: string
+ apy:
+ description: The reward accrual annual percentage rate. The rate is estimated yearly based on the last 7 days using the same methodology as leading beacon chain validator aggregators (e.g. https://beaconcha.in/validators).
+ type: string
+ createdDate:
+ description: The date the staking request was created.
+ type: string
+ modifiedDate:
+ description: The last date the staking wallet was modified.
+ type: string
+ required:
+ - enterpriseId
+ - walletId
+ - walletType
+ - label
+ - coin
+ - delegated
+ - pendingUnstake
+ - pendingStake
+ - rewards
+ - lockedRewards
+ - apy
+ - createdDate
+ - modifiedDate
+ StakingWalletsResponse:
+ type: object
+ properties:
+ stakingWallets:
+ description: An array of staking wallets.
+ type: array
+ items:
+ $ref: '#/components/schemas/StakingWallet'
+ page:
+ type: integer
+ description: The page number for paging purposes.
+ totalPages:
+ type: integer
+ description: The total number of pages for paging purposes.
+ totalElements:
+ type: integer
+ description: The number of elements per page used for paging purposes.
+ required:
+ - stakingWallets
+ - page
+ - totalPages
+ - totalElements
+ StakingEnterprise:
+ type: object
+ properties:
+ enterpriseId:
+ description: The ID of the enterprise where the the staking request was created from.
+ type: string
+ coin:
+ description: The staking asset.
+ type: string
+ delegated:
+ description: The delegated staked amount in base units.
+ type: string
+ rewards:
+ description: The reward accrual amount in base units.
+ type: string
+ apy:
+ description: Reward accrual annual percentage rate. Estimated yearly based on the last 7 days. Same methodology as leading beacon chain validator aggregators (e.g. https://beaconcha.in/validators)
+ type: string
+ StakingRewards:
+ type: object
+ properties:
+ rewards:
+ description: An array of rewards.
+ type: array
+ items:
+ $ref: '#/components/schemas/StakingReward'
+ page:
+ type: integer
+ description: The page number for paging purposes.
+ totalPages:
+ type: integer
+ description: The total number of pages for paging purposes.
+ totalElements:
+ type: integer
+ description: The number of elements per page used for paging purposes.
+ StakingReward:
+ type: object
+ properties:
+ reward:
+ description: The reward in base units.
+ type: string
+ walletId:
+ description: The wallet ID.
+ type: string
+ enterpriseId:
+ description: The enterprise ID.
+ type: string
+ date:
+ description: The date and time of the reward.
+ type: string
+ format: date-time
+ required:
+ - reward
+ - date
+ DelegationAccruals:
+ type: object
+ properties:
+ accruals:
+ description: An array of delegation accruals.
+ type: array
+ items:
+ $ref: '#/components/schemas/DelegationAccrual'
+ page:
+ type: integer
+ description: The page number for paging purposes.
+ totalPages:
+ type: integer
+ description: The total number of pages for paging purposes.
+ totalElements:
+ type: integer
+ description: The number of elements per page used for paging purposes.
+ DelegationAccrual:
+ type: object
+ properties:
+ rewardsReceived:
+ description: The total rewards received over the lifetime of the wallet.
+ type: string
+ delegated:
+ description: The total rewards delegated (staked).
+ type: string
+ pendingDelegated:
+ description: The total amount pending to be delegated (staked).
+ type: string
+ pendingUndelegated:
+ description: Total amount pending to be undelegated (unstaked).
+ type: string
+ spendable:
+ description: Total spendable (withdrawable) amount in the wallet.
+ type: string
+ locked:
+ description: The total amount locked but not delegated (staked). Example is staking rewards that are not re-staked and compounding.
+ type: string
+ delegationId:
+ description: The delegation ID.
+ type: string
+ delegationAddress:
+ description: The delegation address.
+ type: string
+ withdrawalAddress:
+ description: The withdrawal address.
+ type: string
+ walletId:
+ description: The wallet ID.
+ type: string
+ enterpriseId:
+ description: The enterprise ID.
+ type: string
+ coin:
+ description: The staking asset.
+ type: string
+ date:
+ description: The date and time of the accrual record.
+ type: string
+ format: date-time
+ TransactionBuildParams:
+ type: object
+ properties:
+ recipients:
+ description: Recipient build params data
+ type: object
+ properties:
+ amount:
+ description: The amount to stake in base units.
+ type: string
+ address:
+ description: The address.
+ type: string
+ data:
+ description: The staking data (ABI format).
+ type: string
+ stakingParams:
+ description: Staking params
+ type: object
+ properties:
+ requestId:
+ type: string
+ amount:
+ description: The amount to stake in base units.
+ type: string
+ validator:
+ description: The validator address.
+ type: string
+ actionType:
+ description: The action type (e.g. delegate).
+ type: string
+ gasPrice:
+ description: The Gas price in base units.
+ type: string
+ gasLimit:
+ description: The Gas limit in base units.
+ type: string
+ StakingRequestsResponse:
+ type: object
+ properties:
+ requests:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/EthStakingRequestWithTransactions'
+ - $ref: '#/components/schemas/NearStakingRequestWithTransactions'
+ - $ref: '#/components/schemas/CosmosLikeStakingRequestWithTransactions'
+ - $ref: '#/components/schemas/AtomStakingRequestWithTransactions'
+ - $ref: '#/components/schemas/SolStakingRequestWithTransactions'
+ - $ref: '#/components/schemas/DotStakingRequestWithTransactions'
+ - $ref: '#/components/schemas/MaticStakingRequest'
+ page:
+ type: integer
+ description: The page number for paging purposes.
+ totalPages:
+ type: integer
+ description: The total number of pages for paging purposes.
+ totalElements:
+ type: integer
+ description: The number of elements per page used for paging purposes.
+ StakingRequestsListResponse:
+ type: object
+ properties:
+ requests:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/EthStakingRequest'
+ - $ref: '#/components/schemas/MaticStakingRequest'
+ - $ref: '#/components/schemas/NearStakingRequest'
+ - $ref: '#/components/schemas/CosmosLikeStakingRequest'
+ - $ref: '#/components/schemas/AtomStakingRequest'
+ - $ref: '#/components/schemas/SolStakingRequest'
+ - $ref: '#/components/schemas/DotStakingRequest'
+ EthStakingRequestWithTransactions:
+ title: ETH
+ allOf:
+ - $ref: '#/components/schemas/EthStakingRequest'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/EthStakingTransaction'
+ NearStakingRequestWithTransactions:
+ title: NEAR
+ allOf:
+ - $ref: '#/components/schemas/NearStakingRequest'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/NearStakingTransaction'
+ CosmosLikeStakingRequestWithTransactions:
+ title: ATOM like
+ allOf:
+ - $ref: '#/components/schemas/CosmosLikeStakingRequest'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/CosmosLikeStakingTransaction'
+ AtomStakingRequestWithTransactions:
+ title: ATOM
+ allOf:
+ - $ref: '#/components/schemas/AtomStakingRequest'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/AtomStakingTransaction'
+ SolStakingRequestWithTransactions:
+ title: SOL
+ allOf:
+ - $ref: '#/components/schemas/SolStakingRequest'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/SolStakingTransaction'
+ DotStakingRequestWithTransactions:
+ title: DOT
+ allOf:
+ - $ref: '#/components/schemas/DotStakingRequest'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/DotStakingTransaction'
+ StakeableCoinsResult:
+ title: Stakeable coins
+ type: object
+ properties:
+ coins:
+ type: array
+ items:
+ $ref: '#/components/schemas/StakeableCoins'
+ page:
+ type: integer
+ totalPages:
+ type: integer
+ totalElements:
+ type: integer
+ StakingError:
+ title: Staking Error
+ type: object
+ properties:
+ code:
+ type: string
+ message:
+ type: string
+ status:
+ type: integer
+ ValidationError1:
+ title: Validation Error
+ type: object
+ properties:
+ code:
+ type: string
+ message:
+ type: string
+ status:
+ type: integer
+ failedValidations:
+ type: object
+ CoinsUnauthorizedError:
+ type: object
+ properties:
+ error:
+ type: string
+ errorName:
+ type: string
+ reqId:
+ type: string
+ context:
+ type: object
+ properties:
+ errorName:
+ type: string
+ StakeableCoins:
+ type: object
+ properties:
+ symbol:
+ type: string
+ baseUnit:
+ type: string
+ isToken:
+ type: boolean
+ isTss:
+ type: boolean
+ isMultiSig:
+ type: boolean
+ l1Chain:
+ type: string
+ StakingValidator:
+ type: object
+ properties:
+ delegationAddress:
+ description: The delegation address.
+ type: string
+ coin:
+ description: The staked coin.
+ type: string
+ delegated:
+ description: The total delegated amount in base units.
+ type: string
+ rewards:
+ description: The reward accrual amount in base units.
+ type: string
+ apy:
+ description: The annual percentage yield.
+ type: string
+ type:
+ description: The validator provider used for staking.
+ type: string
+ StakingValidatorsResponse:
+ type: object
+ properties:
+ validators:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ allOf:
+ - $ref: '#/components/schemas/StakingValidator'
+ - type: object
+ page:
+ type: integer
+ description: The page number for paging purposes.
+ totalPages:
+ type: integer
+ description: The total number of pages for paging purposes.
+ totalElements:
+ type: integer
+ description: The number of elements per page used for paging purposes.
+ StakingPartneredValidator:
+ type: object
+ properties:
+ delegationAddress:
+ description: The delegation address.
+ type: string
+ type:
+ description: The validator provider.
+ type: string
+ totalStaked:
+ description: The total staked amount in base units.
+ type: string
+ rewards:
+ description: The reward accrual amount in base units.
+ type: string
+ apy:
+ description: The annual percentage yield.
+ type: string
+ commission:
+ description: The fee charged by the validator as a percentage.
+ type: string
+ coin:
+ description: The staked coin.
+ type: string
+ avses:
+ description: The validator's actively validated services (AVS) for restaking.
+ type: array
+ items:
+ type: string
+ StakingPartneredValidatorsResponse:
+ type: object
+ properties:
+ validators:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ allOf:
+ - $ref: '#/components/schemas/StakingPartneredValidator'
+ - type: object
+ page:
+ type: integer
+ description: The page number for paging purposes.
+ totalPages:
+ type: integer
+ description: The total number of pages for paging purposes.
+ totalElements:
+ type: integer
+ description: The number of elements per page used for paging purposes.
+ StakingLicense:
+ type: object
+ properties:
+ coin:
+ description: The name of the coin.
+ type: string
+ fee:
+ description: The corresponding fee for coin in current license.
+ type: string
+ StakingLicenseResponse:
+ type: object
+ properties:
+ enterpriseId:
+ type: string
+ description: The enterprise ID.
+ defaultFee:
+ type: string
+ description: The default fee for the asset.
+ fees:
+ type: array
+ minItems: 1
+ maxItems: 500
+ items:
+ allOf:
+ - $ref: '#/components/schemas/StakingLicense'
+ - type: object
+ StakingRequest:
+ title: Staking Request
+ type: object
+ properties:
+ id:
+ description: Staking request ID.
+ type: string
+ clientId:
+ description: Optional clientId if passed into the request.
+ type: string
+ requestingUserId:
+ description: The ID of the user that created the staking request.
+ type: string
+ enterpriseId:
+ description: The ID of the enterprise where the the staking request was created.
+ type: string
+ walletId:
+ description: The ID of the wallet where the staking request was created.
+ type: string
+ withdrawalAddress:
+ description: Withdrawal Address
+ type: string
+ walletType:
+ description: The type of wallet the staking request was created from either cold, custodial, or hot.
+ type: string
+ type:
+ $ref: '#/components/schemas/StakingRequestType'
+ coin:
+ description: The coin to be staked (ETH, MATIC, NEAR, SOL).
+ type: string
+ createdDate:
+ description: The date the staking request was created.
+ type: string
+ format: date-time
+ status:
+ $ref: '#/components/schemas/StakingRequestStatus'
+ statusModifiedDate:
+ description: The last date the status changed.
+ type: string
+ error:
+ description: The reason the staking request failed.
+ type: string
+ totalStaked:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: The sum of the amounts of all confirmed staking transactions in this request.
+ required:
+ - id
+ - requestingUserId
+ - enterpriseId
+ - walletId
+ - withdrawalAddress
+ - walletType
+ - type
+ - coin
+ - createdDate
+ - status
+ - statusModifiedDate
+ StakingRequestStatus:
+ title: Staking Request Status
+ description: The status of the staking request. For ETH the status will change from NEW to READY when a validator has been assigned to the wallet's address.
+ type: string
+ enum:
+ - NEW
+ - PENDING_VALIDATORS
+ - READY
+ - PENDING_APPROVAL
+ - PENDING_BITGO_TRUST_APPROVAL
+ - PENDING
+ - FAILED
+ - REJECTED
+ - VALIDATOR_ACTIVATING
+ - PARTIAL_CONFIRMED
+ - CONFIRMED
+ - COOLDOWN
+ - WARMUP
+ - DELAYED_COOLDOWN
+ - DELAYED_WARMUP
+ - ETH_PARTIAL_EXITED
+ - ETH_EXITED
+ StakingRequestType:
+ title: Staking Request Type
+ description: The type of staking request.
+ type: string
+ enum:
+ - STAKE
+ - UNSTAKE
+ - CLAIM_REWARDS
+ - SWITCH_VALIDATOR
+ - CHECKPOINT
+ - UNSUPPORTED
+ StakingTransaction:
+ title: Staking Transaction
+ type: object
+ properties:
+ id:
+ description: The staking transaction ID.
+ type: string
+ stakingRequestId:
+ description: The staking request ID.
+ type: string
+ transactionType:
+ allOf:
+ - $ref: '#/components/schemas/StakingTransactionType'
+ - type: string
+ description: The transaction type (delegate).
+ txHash:
+ description: The transaction hash.
+ type: string
+ createdDate:
+ description: The date the transaction was created.
+ type: string
+ format: date-time
+ status:
+ $ref: '#/components/schemas/StakingTransactionStatus'
+ statusModifiedDate:
+ description: The last date the status changed.
+ type: string
+ format: date-time
+ error:
+ description: The reason the transaction failed.
+ type: string
+ amount:
+ allOf:
+ - $ref: '#/components/schemas/IntegerString'
+ description: The transaction Amount in base units (i.e. Wei for ETH).
+ delegationId:
+ description: The staking delegation the transaction is acting on.
+ type: string
+ pendingApprovalId:
+ description: Pending Approval ID
+ type: string
+ transferId:
+ description: Transfer ID
+ type: string
+ txRequestId:
+ description: Transaction Request ID for the Transaction Request API
+ type: string
+ required:
+ - stakingRequestId
+ - transactionType
+ - createdDate
+ - status
+ - statusModifiedDate
+ - delegationId
+ - amount
+ StakingTransactionStatus:
+ title: Staking Transaction Status
+ description: The status of the transaction, either NEW, READY, INITIATED, CONFIRMED, or REJECTED.
+ type: string
+ enum:
+ - WAITING
+ - READY
+ - SENDING
+ - PENDING_APPROVAL
+ - PENDING_BITGO_TRUST_APPROVAL
+ - REJECTED
+ - PENDING
+ - FAILED
+ - CONFIRMED
+ - VALIDATOR_ACTIVATING
+ - DELAYED_READY
+ StakingTransactionType:
+ title: Staking Transaction Type
+ description: The type of staking transaction.
+ type: string
+ enum:
+ - delegate
+ - reward
+ - undelegate
+ - withdraw_undelegated
+ - authorize
+ - ''
+ PlatformError4:
+ title: PlatformError
+ allOf:
+ - type: object
+ properties:
+ name:
+ type: string
+ context:
+ type: object
+ additionalProperties: {}
+ required:
+ - context
+ - $ref: '#/components/schemas/PlatformErrorNoName4'
+ PlatformErrorNoName4:
+ title: PlatformErrorNoName
+ type: object
+ properties:
+ error:
+ type: string
+ requestId:
+ type: string
+ required:
+ - error
+ - requestId
+ VaspStatus:
+ title: VaspStatus
+ oneOf:
+ - type: string
+ - type: string
+ enum:
+ - UNVERIFIED
+ - PENDING
+ - APPROVED
+ - VERIFIED
+ - REJECTED
+ - MERGED
+ VaspSource:
+ title: VaspSource
+ oneOf:
+ - type: string
+ - type: string
+ enum:
+ - MANUAL
+ - TRUST
+ - TRUSTHUB
+ description: Represents the source of a VASP (Virtual Asset Service Provider). It can be either one of the predefined VaspSourceEnum values or a string.
+ AdminUpdateVaspResponse:
+ title: AdminUpdateVaspResponse
+ allOf:
+ - $ref: '#/components/schemas/VaspResponseBase'
+ description: AdminCreateVaspResponse extends the base type
+ VaspResponseBase:
+ title: VaspResponseBase
+ type: object
+ properties:
+ id:
+ type: string
+ minLength: 1
+ vaspId:
+ type: string
+ minLength: 1
+ name:
+ type: string
+ minLength: 1
+ domain:
+ type: string
+ minLength: 1
+ piiEndpoint:
+ type: string
+ minLength: 1
+ publicKey:
+ type: string
+ minLength: 1
+ publicKeyVersion:
+ type: number
+ lei:
+ type: string
+ minLength: 1
+ createdAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ updatedAt:
+ type: string
+ format: date-time
+ title: ISO Date String
+ email:
+ type: string
+ minLength: 1
+ status:
+ $ref: '#/components/schemas/VaspStatus'
+ source:
+ $ref: '#/components/schemas/VaspSource'
+ jurisdiction:
+ type: string
+ minLength: 1
+ parent:
+ type: string
+ minLength: 1
+ failCount:
+ type: number
+ label:
+ type: string
+ minLength: 1
+ required:
+ - id
+ - vaspId
+ - name
+ - createdAt
+ - updatedAt
+ - status
+ - source
+ AdminCreateVaspResponse:
+ title: AdminCreateVaspResponse
+ allOf:
+ - $ref: '#/components/schemas/VaspResponseBase'
+ description: AdminCreateVaspResponse extends the base type
+ LegalPerson:
+ title: LegalPerson
+ allOf:
+ - type: object
+ properties:
+ legalName:
+ type: string
+ minLength: 1
+ required:
+ - legalName
+ - $ref: '#/components/schemas/BasePerson'
+ NaturalPerson:
+ title: NaturalPerson
+ allOf:
+ - type: object
+ properties:
+ firstName:
+ type: string
+ minLength: 1
+ lastName:
+ type: string
+ minLength: 1
+ required:
+ - firstName
+ - lastName
+ - $ref: '#/components/schemas/BasePerson'
+ BasePerson:
+ title: BasePerson
+ type: object
+ properties:
+ country:
+ type: string
+ minLength: 1
+ senderAddress:
+ type: string
+ minLength: 1
+ enterpriseId:
+ type: string
+ minLength: 1
+ required:
+ - country
+ - senderAddress
+ - enterpriseId
+ GetResourcesResult:
+ description: Paginated list of resources.
+ allOf:
+ - type: object
+ properties:
+ resources:
+ type: array
+ items:
+ $ref: '#/components/schemas/Resource'
+ page:
+ type: integer
+ totalPages:
+ type: integer
+ totalElements:
+ type: integer
+ - $ref: '#/components/schemas/PaginatedResults'
+ Resource:
+ type: object
+ description: A list of resources.
+ properties:
+ id:
+ type: string
+ description: Unique identifier for this resource.
+ example: 63c86bf4555aba000652d5c59aff2866
+ enterpriseId:
+ type: string
+ description: The id of the enterprise this resource belongs to.
+ example: 59cd72485007a239fb00282ed480da1f
+ type:
+ type: string
+ description: The type of resource.
+ example: wallet
+ label:
+ type: string
+ description: A label for the resource which can be shown to an end user.
+ example: Trading Wallet
+ status:
+ type: string
+ enum:
+ - ACTIVE
+ - INACTIVE
+ description: The current status of the resource.
+ example: ACTIVE
+ properties:
+ type: object
+ description: Any additional properties associated to this particular resource.
+ example:
+ coin: btc
+ walletType: custodial
+ createdDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ description: The date and time the resource was created.
+ example: '2024-01-01T00:00:00.000Z'
+ modifiedDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ description: The date and time the resource was last modified.
+ example: '2024-02-01T00:00:00.000Z'
+ ExchangeEddsaCommitmentsResponse:
+ title: ExchangeEddsaCommitmentsResponse
+ type: object
+ properties:
+ commitmentShare:
+ allOf:
+ - $ref: '#/components/schemas/CommitmentShare1'
+ description: The commitment share.
+ required:
+ - commitmentShare
+ CommitmentShare1:
+ title: CommitmentShare
+ allOf:
+ - type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - commitment
+ description: The type of the commitment share
+ required:
+ - type
+ - $ref: '#/components/schemas/BaseShare'
+ EncryptedShare:
+ title: EncryptedShare
+ allOf:
+ - type: object
+ properties:
+ type:
+ $ref: '#/components/schemas/ShareType'
+ required:
+ - type
+ - $ref: '#/components/schemas/BaseShare'
+ ShareType:
+ title: ShareType
+ type: string
+ enum:
+ - encryptedSignerShare
+ - encryptedRShare
+ TransactionRequestIdNonEmptyString:
+ title: TransactionRequestIdNonEmptyString
+ type: string
+ example: 123e4567-e89b-12d3-a456-426614174000
+ minLength: 1
+ format: uuid
+ CreateBitgoChallengeResponse:
+ title: CreateBitgoChallengeResponse
+ type: object
+ properties:
+ ntilde:
+ type: string
+ description: Range proof challenge value
+ example: e8be92b67d852d83c4e57a4c25139cbab1801654408c4260ca21d480ea5425a7a7778b30d52c24eed11363a6f7bf1efa986747a2016b91e84b9a7d49b723644f4488ec15c64d83289b1fa73a6607544a2c1964d31931ae9c0f4b5c66a0099f82d52a73d4d7a251a29f279c7f053cc0064989479d9b6d900e92641555683efadad5f08a68a6763102a7a14d4d5aecc6620587ceedb28db338858326fdad35e1b2db54b8a7679d8cad36d88c63c61aff15121c6ec06a724e16980fd334cdbbea8885f88e8a509a42b093361e3152bcf391e3a723ceb4786362fcad9c4945a372d617bebe077e1c7ee49ac81701c06ef126e1178b779f1f4be4b1a3616c3c1821b26ead5cc7b1442216162077fb125a4c9250001797e3a224c79f5cd5a78226a9192000bc584bf479aa1dd83d56628860619778a0c6d9801e2680349ccde39e604af6f1e75226c58d6f608c420eb8091def8d3c7a9a59414e9b9a1df542929c81165a46555f5f51c1cb080f04a9ccc74a5d1e3b053e1e2e4b8566d1a7995478a589
+ h1:
+ type: string
+ description: Range proof challenge value
+ example: e8be92b67d852d83c4e57a4c25139cbab1801654408c4260ca21d480ea5425a7a7778b30d52c24eed11363a6f7bf1efa986747a2016b91e84b9a7d49b723644f4488ec15c64d83289b1fa73a6607544a2c1964d31931ae9c0f4b5c66a0099f82d52a73d4d7a251a29f279c7f053cc0064989479d9b6d900e92641555683efadad5f08a68a6763102a7a14d4d5aecc6620587ceedb28db338858326fdad35e1b2db54b8a7679d8cad36d88c63c61aff15121c6ec06a724e16980fd334cdbbea8885f88e8a509a42b093361e3152bcf391e3a723ceb4786362fcad9c4945a372d617bebe077e1c7ee49ac81701c06ef126e1178b779f1f4be4b1a3616c3c1821b26ead5cc7b1442216162077fb125a4c9250001797e3a224c79f5cd5a78226a9192000bc584bf479aa1dd83d56628860619778a0c6d9801e2680349ccde39e604af6f1e75226c58d6f608c420eb8091def8d3c7a9a59414e9b9a1df542929c81165a46555f5f51c1cb080f04a9ccc74a5d1e3b053e1e2e4b8566d1a7995478a589
+ h2:
+ type: string
+ description: Range proof challenge value
+ example: e8be92b67d852d83c4e57a4c25139cbab1801654408c4260ca21d480ea5425a7a7778b30d52c24eed11363a6f7bf1efa986747a2016b91e84b9a7d49b723644f4488ec15c64d83289b1fa73a6607544a2c1964d31931ae9c0f4b5c66a0099f82d52a73d4d7a251a29f279c7f053cc0064989479d9b6d900e92641555683efadad5f08a68a6763102a7a14d4d5aecc6620587ceedb28db338858326fdad35e1b2db54b8a7679d8cad36d88c63c61aff15121c6ec06a724e16980fd334cdbbea8885f88e8a509a42b093361e3152bcf391e3a723ceb4786362fcad9c4945a372d617bebe077e1c7ee49ac81701c06ef126e1178b779f1f4be4b1a3616c3c1821b26ead5cc7b1442216162077fb125a4c9250001797e3a224c79f5cd5a78226a9192000bc584bf479aa1dd83d56628860619778a0c6d9801e2680349ccde39e604af6f1e75226c58d6f608c420eb8091def8d3c7a9a59414e9b9a1df542929c81165a46555f5f51c1cb080f04a9ccc74a5d1e3b053e1e2e4b8566d1a7995478a589
+ 'n':
+ type: string
+ description: BitGo's paillier modulus 'n'.
+ example: e8be92b67d852d83c4e57a4c25139cbab1801654408c4260ca21d480ea5425a7a7778b30d52c24eed11363a6f7bf1efa986747a2016b91e84b9a7d49b723644f4488ec15c64d83289b1fa73a6607544a2c1964d31931ae9c0f4b5c66a0099f82d52a73d4d7a251a29f279c7f053cc0064989479d9b6d900e92641555683efadad5f08a68a6763102a7a14d4d5aecc6620587ceedb28db338858326fdad35e1b2db54b8a7679d8cad36d88c63c61aff15121c6ec06a724e16980fd334cdbbea8885f88e8a509a42b093361e3152bcf391e3a723ceb4786362fcad9c4945a372d617bebe077e1c7ee49ac81701c06ef126e1178b779f1f4be4b1a3616c3c1821b26ead5cc7b1442216162077fb125a4c9250001797e3a224c79f5cd5a78226a9192000bc584bf479aa1dd83d56628860619778a0c6d9801e2680349ccde39e604af6f1e75226c58d6f608c420eb8091def8d3c7a9a59414e9b9a1df542929c81165a46555f5f51c1cb080f04a9ccc74a5d1e3b053e1e2e4b8566d1a7995478a589
+ p:
+ type: array
+ items:
+ type: string
+ description: Pallier proof challenge value
+ example: e8be92b67d852d83c4e57a4c25139cbab1801654408c4260ca21d480ea5425a7a7778b30d52c24eed11363a6f7bf1efa986747a2016b91e84b9a7d49b723644f4488ec15c64d83289b1fa73a6607544a2c1964d31931ae9c0f4b5c66a0099f82d52a73d4d7a251a29f279c7f053cc0064989479d9b6d900e92641555683efadad5f08a68a6763102a7a14d4d5aecc6620587ceedb28db338858326fdad35e1b2db54b8a7679d8cad36d88c63c61aff15121c6ec06a724e16980fd334cdbbea8885f88e8a509a42b093361e3152bcf391e3a723ceb4786362fcad9c4945a372d617bebe077e1c7ee49ac81701c06ef126e1178b779f1f4be4b1a3616c3c1821b26ead5cc7b1442216162077fb125a4c9250001797e3a224c79f5cd5a78226a9192000bc584bf479aa1dd83d56628860619778a0c6d9801e2680349ccde39e604af6f1e75226c58d6f608c420eb8091def8d3c7a9a59414e9b9a1df542929c81165a46555f5f51c1cb080f04a9ccc74a5d1e3b053e1e2e4b8566d1a7995478a589
+ required:
+ - ntilde
+ - h1
+ - h2
+ - 'n'
+ - p
+ TransactionRequest2:
+ title: TransactionRequest
+ oneOf:
+ - $ref: '#/components/schemas/TransactionRequestLite'
+ - $ref: '#/components/schemas/TransactionRequestFull'
+ SignatureShare1:
+ title: SignatureShare
+ allOf:
+ - type: object
+ properties:
+ vssProof:
+ type: string
+ description: The VSS proof of the signature share
+ privateShareProof:
+ type: string
+ description: The private share proof
+ publicShare:
+ type: string
+ description: The public share
+ - $ref: '#/components/schemas/SignatureShareWithoutVssProof'
+ ListTxRequestAwaitingSignatureForWalletResponse:
+ title: ListTxRequestAwaitingSignatureForWalletResponse
+ type: object
+ properties:
+ txRequests:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/TransactionState'
+ unsignedTx:
+ $ref: '#/components/schemas/UnsignedTransaction'
+ signatureShares:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ privateShareProof:
+ type: string
+ description: The private share proof
+ publicShare:
+ type: string
+ description: The public share
+ vssProof:
+ type: string
+ description: The VSS proof of the signature share
+ - $ref: '#/components/schemas/SignatureShareWithoutVssProof'
+ commitmentShares:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - commitment
+ description: The type of the commitment share
+ required:
+ - type
+ - $ref: '#/components/schemas/BaseShare'
+ txHash:
+ type: string
+ updatedDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ createdDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - state
+ - unsignedTx
+ description: The transactions associated with the transaction request
+ - $ref: '#/components/schemas/TransactionRequestBase'
+ bitgoRangeProofChallenge:
+ allOf:
+ - type: object
+ properties:
+ ntildeProof:
+ $ref: '#/components/schemas/NtildeProof'
+ required:
+ - ntildeProof
+ - $ref: '#/components/schemas/Challenge'
+ totalCount:
+ type: number
+ nextBatchPrevId:
+ type: string
+ description: When a result set is truncated, this field returns the id of the last object in the previous batch. To get the next batch of results, pass this value via the "prevId" query parameter.
+ example: 585951a5df8380e0e3063e9f
+ format: uuid
+ required:
+ - txRequests
+ Challenge:
+ title: Challenge
+ type: object
+ properties:
+ ntilde:
+ type: string
+ description: Range proof challenge value
+ h1:
+ type: string
+ description: Range proof challenge value
+ h2:
+ type: string
+ description: Range proof challenge value
+ required:
+ - ntilde
+ - h1
+ - h2
+ NtildeProof:
+ title: NtildeProof
+ type: object
+ description: The ntildeProof value is only required when creating the initial config.
+ properties:
+ h1WrtH2:
+ type: object
+ properties:
+ alpha:
+ type: array
+ items:
+ type: string
+ description: The alpha value of the range proof challenge proof is an array of 128 hex strings.
+ t:
+ type: array
+ items:
+ type: string
+ description: The t value of the range proof challenge proof is an array of 128 hex strings.
+ required:
+ - alpha
+ - t
+ h2WrtH1:
+ type: object
+ properties:
+ alpha:
+ type: array
+ items:
+ type: string
+ description: The alpha value of the range proof challenge proof is an array of 128 hex strings.
+ t:
+ type: array
+ items:
+ type: string
+ description: The t value of the range proof challenge proof is an array of 128 hex strings.
+ required:
+ - alpha
+ - t
+ required:
+ - h1WrtH2
+ - h2WrtH1
+ GetTransactionRequestsWithWalletPermissionsResponse:
+ title: GetTransactionRequestsWithWalletPermissionsResponse
+ type: object
+ properties:
+ nextBatchPrevId:
+ type: string
+ txRequests:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/TransactionState'
+ unsignedTx:
+ $ref: '#/components/schemas/UnsignedTransaction'
+ signatureShares:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ privateShareProof:
+ type: string
+ description: The private share proof
+ publicShare:
+ type: string
+ description: The public share
+ vssProof:
+ type: string
+ description: The VSS proof of the signature share
+ - $ref: '#/components/schemas/SignatureShareWithoutVssProof'
+ commitmentShares:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - commitment
+ description: The type of the commitment share
+ required:
+ - type
+ - $ref: '#/components/schemas/BaseShare'
+ txHash:
+ type: string
+ updatedDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ createdDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - state
+ - unsignedTx
+ description: The transactions associated with the transaction request
+ - $ref: '#/components/schemas/TransactionRequestBase'
+ required:
+ - txRequests
+ OrganizationRole:
+ title: OrganizationRole
+ type: string
+ enum:
+ - admin
+ - member
+ - customer
+ example: admin
+ Transfer1:
+ title: Transfer
+ type: object
+ properties:
+ baseValue:
+ type: number
+ description: The value (in base units) sent by this transfer, excluding network fees. BitGo is deprecating this field in the future.
+ baseValueString:
+ type: string
+ description: The value (in base units) sent by this transfer, excluding network fees represented as a string. BitGo is deprecating this field in the future.
+ example: '2000000'
+ pattern: ^-?\d+$
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ comment:
+ nullable: true
+ type: string
+ description: A comment from the user
+ date:
+ type: string
+ description: The date this Transfer was last updated
+ format: date-time
+ title: ISO Date String
+ enterprise:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ organization:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ bitgoOrg:
+ type: string
+ enum:
+ - BitGo Trust
+ - BitGo New York
+ - BitGo Germany
+ - BitGo Switzerland
+ - Frankfurt DE Trust
+ - BitGo Singapore
+ - BitGo Korea
+ - BitGo Sister Trust 1
+ - BitGo Inc
+ entries:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ type: string
+ description: An address affected by this Transfer
+ example: 2NAUwNgXaoFj2VVnSEvNLGuez8CfdU2UCMZ
+ valueString:
+ type: string
+ description: The change (in base units) in the address' balance represented as a string
+ example: '20000'
+ pattern: '"^-?\d+$"'
+ isChange:
+ type: boolean
+ description: True if this address is a change address (only exists for UTXO coins) and if this is a "send" transfer
+ wallet:
+ type: string
+ description: Only visible when the user has access to the wallet
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ value:
+ type: number
+ description: The change (in base units) in the address' balance
+ nftSymbol:
+ type: string
+ type:
+ type: string
+ enum:
+ - flushForwarderTokens
+ - walletFunding
+ - walletInitialization
+ - addressInitialization
+ - importedOutput
+ isPayGo:
+ type: boolean
+ description: True if this address is the BitGo PayGo wallet
+ token:
+ type: string
+ description: If this is a token entry, the token's symbol
+ example: omg
+ failed:
+ type: boolean
+ description: True if this entry is failed
+ associatedNativeCoinAddress:
+ type: string
+ description: The native coin receive address associated with the solana ATA address. This is currently present only for BitGo addresses. This change was done so that there is a mapping between the two addresses in the transfer entries.
+ required:
+ - address
+ description: An array of objects describing the change in address balances made as a result of this Transfer
+ history:
+ type: array
+ items:
+ type: object
+ properties:
+ action:
+ $ref: '#/components/schemas/TransferAction'
+ comment:
+ nullable: true
+ type: string
+ description: If this history object is of action "commented", this is the comment from the user
+ date:
+ type: string
+ description: The date of this history object
+ format: date-time
+ title: ISO Date String
+ transferId:
+ type: string
+ description: The ID of the transfer that this history object is associated with
+ txid:
+ type: string
+ description: The transaction ID of the transaction that this history object is associated with
+ user:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - action
+ - date
+ description: An audit log of events that have happened to the Transfer during its lifecycle
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ pendingApproval:
+ type: string
+ state:
+ $ref: '#/components/schemas/TransferState1'
+ stakingParams:
+ type: object
+ properties:
+ actionType:
+ type: string
+ requestId:
+ type: string
+ source:
+ type: string
+ enum:
+ - external
+ - internal
+ validator:
+ type: string
+ required:
+ - actionType
+ - requestId
+ txid:
+ type: string
+ description: The on-chain transaction id
+ example: b8a828b98dbf32d9fd1875cbace9640ceb8c82626716b4a64203fdc79bb46d26
+ type:
+ allOf:
+ - $ref: '#/components/schemas/TransferType'
+ description: Defines whether or not this Transfer was sent or received by the user
+ usd:
+ type: number
+ description: The amount of USD of this Transfer (will be negative if it's a send)
+ usdRate:
+ type: number
+ description: The USD rate at the time this Transfer was created
+ value:
+ type: number
+ description: The total value (in base units) sent by this Transfer (may be approximate for ETH and other coins where amounts in base units can exceed 2^53 - 1)
+ valueString:
+ type: string
+ description: The total value (in base units) sent by this Transfer represented as a String
+ example: '2000000'
+ pattern: ^-?\d+$
+ wallet:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ walletType:
+ type: string
+ enum:
+ - backing
+ - cold
+ - custodial
+ - custodialPaired
+ - hot
+ - trading
+ description: Wallet type
+ replaces:
+ type: array
+ items:
+ type: string
+ description: Transaction IDs that this transfer replaces.
+ replacedBy:
+ type: array
+ items:
+ type: string
+ description: Transaction IDs that replace this transfer.
+ required:
+ - coin
+ - date
+ - entries
+ - history
+ - id
+ - state
+ - type
+ - valueString
+ - wallet
+ TransferAction:
+ title: TransferAction
+ type: string
+ enum:
+ - created
+ - approved
+ - rejected
+ - signed
+ - unconfirmed
+ - confirmed
+ - removed
+ - commented
+ - failed
+ - regenerated
+ - replaced
+ - replacing
+ - abandoned
+ TransferState1:
+ title: TransferState
+ type: string
+ enum:
+ - initialized
+ - pendingApproval
+ - rejected
+ - signed
+ - unconfirmed
+ - confirmed
+ - removed
+ - failed
+ - replaced
+ - deleted
+ TransferType:
+ title: TransferType
+ type: string
+ enum:
+ - send
+ - receive
+ ListPendingApprovalsCountByEnterpriseResponse:
+ title: ListPendingApprovalsCountByEnterpriseResponse
+ type: object
+ properties:
+ enterprises:
+ $ref: '#/components/schemas/PendingApprovalsCountSchema'
+ organizations:
+ type: object
+ additionalProperties:
+ type: object
+ properties:
+ pendingApprovalsCount:
+ type: number
+ description: The number of pending approvals
+ required:
+ - pendingApprovalsCount
+ required:
+ - enterprises
+ PendingApprovalsCountSchema:
+ title: PendingApprovalsCountSchema
+ type: object
+ additionalProperties:
+ type: object
+ properties:
+ pendingApprovalsCount:
+ type: number
+ description: The number of pending approvals
+ required:
+ - pendingApprovalsCount
+ DeployAddressAndForwardTokenResponse:
+ title: DeployAddressAndForwardTokenResponse
+ type: object
+ properties:
+ txId:
+ type: string
+ required:
+ - txId
+ NumberLike:
+ title: NumberLike
+ type: number
+ AddressProofResult:
+ title: AddressProofResult
+ type: object
+ description: Proof of address ownership
+ properties:
+ iou:
+ type: boolean
+ description: True if this is an IOU
+ address:
+ type: string
+ description: The address
+ signature:
+ type: string
+ description: The proof signature
+ prefix:
+ type: string
+ description: A 64-character random string used to generate the proof
+ chain:
+ allOf:
+ - $ref: '#/components/schemas/ProofChain'
+ description: The coin name ('BITCOIN' or 'ETHEREUM')
+ proofType:
+ allOf:
+ - $ref: '#/components/schemas/ProofType'
+ description: The type of proof
+ auxProofData:
+ type: array
+ items:
+ type: object
+ properties:
+ type:
+ allOf:
+ - $ref: '#/components/schemas/AuxProofType'
+ description: The type of data
+ data:
+ type: object
+ properties:
+ script:
+ type: string
+ description: The REDEEM_SCRIPT or WITNESS_SCRIPT associated with the address
+ nonce:
+ type: string
+ salt:
+ type: string
+ init_code_hash:
+ type: string
+ required:
+ - type
+ - data
+ required:
+ - iou
+ ProofChain:
+ title: ProofChain
+ type: string
+ enum:
+ - BITCOIN
+ - ETHEREUM
+ ProofType:
+ title: ProofType
+ type: string
+ enum:
+ - BITCOIN_P2SH
+ - BITCOIN_P2SH_P2WSH
+ - BITCOIN_P2WSH
+ - ETHEREUM_CONTRACT
+ AuxProofType:
+ title: AuxProofType
+ type: string
+ enum:
+ - REDEEM_SCRIPT
+ - WITNESS_SCRIPT
+ - ETH_CREATE
+ - ETH_CREATE2
+ WalletAddress:
+ title: WalletAddress
+ type: object
+ properties:
+ chain:
+ allOf:
+ - $ref: '#/components/schemas/AddressChain'
+ example: '1'
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ index:
+ type: number
+ wallet:
+ type: string
+ id:
+ type: string
+ description: Platform public ID for an address
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ address:
+ $ref: '#/components/schemas/AddressString'
+ balance:
+ $ref: '#/components/schemas/TrimmedBalance1'
+ coinSpecific:
+ allOf:
+ - $ref: '#/components/schemas/AddressSubdocument'
+ description: Properties specific to certain coin types
+ label:
+ $ref: '#/components/schemas/AddressLabelString'
+ lastNonce:
+ type: number
+ default: -1
+ token:
+ type: string
+ proof:
+ type: string
+ signature:
+ type: string
+ lastConsolidatedTime:
+ type: string
+ format: date
+ title: Date String
+ needsConsolidation:
+ type: boolean
+ tokenConsolidationState: {}
+ required:
+ - chain
+ - coin
+ - index
+ - wallet
+ AddressChain:
+ title: AddressChain
+ type: number
+ enum:
+ - 0
+ - 1
+ - 10
+ - 11
+ - 20
+ - 21
+ - 30
+ - 31
+ - 40
+ - 41
+ TrimmedBalance1:
+ title: TrimmedBalance
+ type: object
+ properties:
+ balanceString:
+ type: string
+ description: String representation of the balance. Guaranteed to not lose precision.
+ example: '500000'
+ confirmedBalanceString:
+ type: string
+ description: The total balance of confirmed transactions for the address (in the chain's base unit). Guaranteed to not lose precision.
+ example: '400000'
+ spendableBalanceString:
+ type: string
+ description: The total balance of the address (in the chain's base unit) which may be used as inputs for creating new transactions in string representation. Guaranteed to not lose precision.
+ example: '40000'
+ updated:
+ oneOf:
+ - type: string
+ format: date-time
+ title: ISO Date String
+ - type: string
+ format: date
+ title: Date String
+ description: The last time a transaction affected the balance of this address
+ balance:
+ type: number
+ example: 50000
+ lockedBalanceString:
+ type: string
+ reservedBalanceString:
+ type: string
+ totalReceived:
+ type: number
+ description: The total amount received on this address (in the chain's base unit)
+ totalSent:
+ type: number
+ description: The total amount sent from this address (in the chain's base unit)
+ transferCount:
+ type: number
+ tokens:
+ type: object
+ additionalProperties: {}
+ nfts:
+ type: object
+ additionalProperties: {}
+ unsupportedNfts:
+ type: object
+ additionalProperties: {}
+ type: {}
+ metadata: {}
+ required:
+ - balanceString
+ - confirmedBalanceString
+ - spendableBalanceString
+ AddressSubdocument:
+ title: AddressSubdocument
+ oneOf:
+ - $ref: '#/components/schemas/AlgorandAddress'
+ - $ref: '#/components/schemas/AtomAddress'
+ - $ref: '#/components/schemas/AvaxPAddress'
+ - $ref: '#/components/schemas/UtxoAddress'
+ - $ref: '#/components/schemas/BitcoinCashAddress'
+ - $ref: '#/components/schemas/CasperAddress'
+ - $ref: '#/components/schemas/DotAddress'
+ - $ref: '#/components/schemas/EosAddress'
+ - $ref: '#/components/schemas/EthereumAddress'
+ - $ref: '#/components/schemas/Ethereum2Address'
+ - $ref: '#/components/schemas/FiatAddress'
+ - $ref: '#/components/schemas/HederaAddress'
+ - $ref: '#/components/schemas/OffchainAddressSubdocument'
+ - $ref: '#/components/schemas/SilvergateUSDAddress'
+ - $ref: '#/components/schemas/SolAddress'
+ - $ref: '#/components/schemas/StacksAddress'
+ - $ref: '#/components/schemas/StellarAddress'
+ - $ref: '#/components/schemas/TestcoinAddress'
+ - $ref: '#/components/schemas/TezosAddress'
+ - $ref: '#/components/schemas/TronAddress'
+ - $ref: '#/components/schemas/XRPAddress'
+ - $ref: '#/components/schemas/TonAddress'
+ AddressLabelString:
+ title: AddressLabelString
+ type: string
+ description: A human-readable label for the address
+ example: Bob's Hot Wallet Address
+ maxLength: 250
+ AlgorandAddress:
+ title: Algorand Address
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ trustedTokens:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/TrustedTokenState'
+ - $ref: '#/components/schemas/Token'
+ addressVersion:
+ type: number
+ threshold:
+ type: number
+ bitgoKey: {}
+ bitgoPubKey:
+ type: string
+ required:
+ - rootAddress
+ AtomAddress:
+ title: Atom Address
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ memoId:
+ type: string
+ required:
+ - rootAddress
+ - memoId
+ AvaxPAddress:
+ title: AvaxP Address
+ type: object
+ properties:
+ threshold:
+ type: number
+ addresses:
+ type: array
+ items:
+ type: string
+ required:
+ - threshold
+ - addresses
+ UtxoAddress:
+ title: Utxo Address
+ type: object
+ properties:
+ redeemScript:
+ type: string
+ witnessScript:
+ type: string
+ BitcoinCashAddress:
+ title: Bitcoin Cash Address
+ allOf:
+ - type: object
+ properties:
+ format:
+ $ref: '#/components/schemas/SupportedAddressFormat'
+ - $ref: '#/components/schemas/UtxoAddress'
+ CasperAddress:
+ title: Casper Address
+ type: object
+ properties:
+ accountHash:
+ type: string
+ rootAddress:
+ type: string
+ transferId:
+ type: string
+ required:
+ - accountHash
+ - rootAddress
+ - transferId
+ DotAddress:
+ title: Dot Address
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ nonceTracker:
+ type: object
+ properties:
+ lastReservedNonce:
+ type: number
+ lastExecutedNonce:
+ type: number
+ detectedMissingNonces:
+ type: array
+ items:
+ type: object
+ properties:
+ nonce:
+ type: number
+ isNonceLocked:
+ type: boolean
+ nonceLockExpireTime:
+ type: string
+ format: date
+ title: Date String
+ required:
+ - nonce
+ - isNonceLocked
+ detecMissingNoncesData:
+ type: array
+ items:
+ type: object
+ properties:
+ nonce:
+ type: number
+ isNonceLocked:
+ type: boolean
+ nonceLockExpireTime:
+ type: string
+ format: date
+ title: Date String
+ required:
+ - nonce
+ - isNonceLocked
+ required:
+ - lastReservedNonce
+ - lastExecutedNonce
+ - detectedMissingNonces
+ - detecMissingNoncesData
+ required:
+ - rootAddress
+ - nonceTracker
+ EosAddress:
+ title: Eos Address
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ memoId:
+ type: string
+ required:
+ - rootAddress
+ - memoId
+ EthereumAddress:
+ title: Ethereum Address
+ type: object
+ properties:
+ creationFailure:
+ type: array
+ items:
+ type: string
+ forwarderVersion:
+ type: number
+ nonce:
+ type: number
+ feeAddress:
+ type: string
+ pendingChainInitialization:
+ type: boolean
+ pendingDeployment:
+ type: boolean
+ txCount:
+ type: number
+ updateTime:
+ type: string
+ format: date
+ title: Date String
+ hopTxid:
+ type: string
+ salt:
+ type: string
+ usdtBug:
+ type: boolean
+ isTss:
+ type: boolean
+ isNonceLocked:
+ type: boolean
+ nonceLockExpireTime:
+ type: string
+ format: date
+ title: Date String
+ previousLowBalanceEmailSentAt:
+ type: string
+ format: date
+ title: Date String
+ required:
+ - creationFailure
+ - forwarderVersion
+ - nonce
+ - feeAddress
+ - pendingChainInitialization
+ - pendingDeployment
+ - txCount
+ - updateTime
+ Ethereum2Address:
+ title: Ethereum2 Address
+ type: object
+ properties:
+ feeAddress:
+ type: string
+ FiatAddress:
+ title: Fiat Address
+ type: object
+ properties:
+ bankAccountId:
+ type: string
+ faBankAccountId:
+ type: string
+ bankAccount:
+ $ref: '#/components/schemas/BankAccountJson'
+ HederaAddress:
+ title: Hedera Address
+ type: object
+ properties:
+ baseAddress:
+ type: string
+ memoId:
+ type: string
+ required:
+ - baseAddress
+ - memoId
+ OffchainAddressSubdocument:
+ title: Offchain Address
+ type: object
+ additionalProperties: {}
+ SilvergateUSDAddress:
+ title: Silvergate USD Address
+ type: object
+ properties:
+ bankAccountId:
+ type: string
+ bankAccount:
+ $ref: '#/components/schemas/BankAccountJson'
+ required:
+ - bankAccountId
+ SolAddress:
+ title: Sol Address
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ minimumFunding:
+ type: number
+ pendingChainInitialization:
+ type: boolean
+ trustedTokens:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/TrustedTokenState'
+ - $ref: '#/components/schemas/Token'
+ nonceExpiresAt:
+ type: string
+ format: date
+ title: Date String
+ nonceTxRequestid:
+ type: string
+ type:
+ type: string
+ required:
+ - rootAddress
+ - minimumFunding
+ - pendingChainInitialization
+ - trustedTokens
+ StacksAddress:
+ title: Stacks Address
+ type: object
+ properties:
+ baseAddress:
+ type: string
+ memoId:
+ type: string
+ required:
+ - baseAddress
+ - memoId
+ StellarAddress:
+ title: Stellar Address
+ type: object
+ properties:
+ memoId:
+ type: string
+ rootAddress:
+ type: string
+ required:
+ - memoId
+ - rootAddress
+ TestcoinAddress:
+ title: Testcoin Address
+ type: object
+ additionalProperties: {}
+ TezosAddress:
+ title: Tezos Address
+ type: object
+ properties:
+ counter:
+ type: number
+ updateTime:
+ type: string
+ format: date
+ title: Date String
+ txCount:
+ type: number
+ pendingChainInitialization:
+ type: boolean
+ pendingPublicKeyRevelation:
+ type: boolean
+ creationFailure:
+ type: array
+ items:
+ type: string
+ delegate:
+ type: string
+ previousLowBalanceEmailSentAt:
+ type: string
+ format: date
+ title: Date String
+ required:
+ - counter
+ - updateTime
+ - txCount
+ - pendingChainInitialization
+ - pendingPublicKeyRevelation
+ - creationFailure
+ TronAddress:
+ title: Tron Address
+ type: object
+ properties:
+ rootPub:
+ type: string
+ required:
+ - rootPub
+ XRPAddress:
+ title: XRP Address
+ type: object
+ properties:
+ nonceTracker:
+ type: object
+ properties:
+ detectedMissingNonces:
+ type: array
+ items:
+ type: object
+ properties:
+ nonce:
+ type: number
+ isNonceLocked:
+ type: boolean
+ nonceLockExpireTime:
+ type: string
+ format: date
+ title: Date String
+ required:
+ - nonce
+ - isNonceLocked
+ detectedMissingNoncesData:
+ type: array
+ items:
+ type: object
+ properties:
+ nonce:
+ type: number
+ isNonceLocked:
+ type: boolean
+ nonceLockExpireTime:
+ type: string
+ format: date
+ title: Date String
+ required:
+ - nonce
+ - isNonceLocked
+ required:
+ - detectedMissingNonces
+ - detectedMissingNoncesData
+ required:
+ - nonceTracker
+ TonAddress:
+ title: Ton Address
+ type: object
+ properties:
+ addresses:
+ type: array
+ items:
+ type: string
+ required:
+ - addresses
+ Token:
+ title: Token
+ type: object
+ properties:
+ limit:
+ type: string
+ token:
+ type: string
+ TrustedTokenState:
+ title: TrustedTokenState
+ type: string
+ enum:
+ - pending
+ - active
+ BankAccountJson:
+ title: BankAccountJson
+ type: object
+ properties:
+ accountNumber:
+ type: string
+ address1:
+ type: string
+ name:
+ type: string
+ owner:
+ type: object
+ properties:
+ name:
+ type: string
+ address1:
+ type: string
+ address2:
+ type: string
+ address3:
+ type: string
+ required:
+ - name
+ - address1
+ idHash:
+ type: string
+ verificationState:
+ type: string
+ address2:
+ type: string
+ address3:
+ type: string
+ enterpriseId:
+ type: string
+ id:
+ type: string
+ routingNumber:
+ type: string
+ shortCountryCode:
+ type: string
+ swiftCode:
+ type: string
+ type:
+ type: string
+ required:
+ - accountNumber
+ - address1
+ - name
+ - owner
+ - idHash
+ - verificationState
+ SupportedAddressFormat:
+ title: SupportedAddressFormat
+ type: string
+ enum:
+ - cashaddr
+ - base58
+ AddressQueryResult:
+ title: AddressQueryResult
+ type: object
+ properties:
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ pendingAddressCount:
+ type: number
+ description: Total number of addresses pending on-chain initialization on this wallet **Note:** for wallets with many addresses (100,000 or more), this property may be omitted for performance reasons. If the pending address count is needed for a large wallet, the 'includeTotalAddressCount' query parameter can be used to force an address count to be returned with the initial page of addresses.
+ totalAddressCount:
+ type: number
+ description: Total number of addresses which match the provided query parameters. **Note:** for wallets with many addresses (100,000 or more), this property may be omitted for performance reasons. If the total address count is needed for a large wallet, the 'includeTotalAddressCount' query parameter can be used to force an address count to be returned with the initial page of addresses.
+ addresses:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ $ref: '#/components/schemas/AddressString'
+ balance:
+ $ref: '#/components/schemas/TrimmedBalance1'
+ chain:
+ allOf:
+ - $ref: '#/components/schemas/AddressChain'
+ example: '1'
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ coinSpecific:
+ allOf:
+ - $ref: '#/components/schemas/AddressSubdocument'
+ description: Properties specific to certain coin types
+ id:
+ type: string
+ description: Platform public ID for an address
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ index:
+ type: number
+ label:
+ $ref: '#/components/schemas/AddressLabelString'
+ lastConsolidatedTime:
+ type: string
+ format: date
+ title: Date String
+ lastNonce:
+ type: number
+ default: -1
+ needsConsolidation:
+ type: boolean
+ proof:
+ type: string
+ signature:
+ type: string
+ token:
+ type: string
+ tokenConsolidationState: {}
+ wallet:
+ type: string
+ required:
+ - chain
+ - coin
+ - index
+ - wallet
+ nextBatchPrevId:
+ type: string
+ description: When a result set is truncated, this field returns the id of the last object in the previous batch. To get the next batch of results, pass this value via the 'prevId' query parameter.
+ example: 585951a5df8380e0e3063e9f
+ format: uuid
+ count:
+ type: number
+ description: Total number of addresses returned in this response
+ required:
+ - coin
+ InvalidWalletId2:
+ title: Invalid Wallet ID
+ allOf:
+ - type: object
+ properties:
+ name:
+ type: string
+ enum:
+ - InvalidWalletId
+ required:
+ - name
+ - $ref: '#/components/schemas/InvalidId'
+ forwardersBalanceResponse:
+ title: forwardersBalanceResponse
+ type: object
+ properties:
+ forwarders:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ type: string
+ description: The forwarder address.
+ balance:
+ type: string
+ description: Current balance of the forwarder address.
+ required:
+ - address
+ - balance
+ required:
+ - forwarders
+ ListWalletShareRequestResponse:
+ title: ListWalletShareRequestResponse
+ type: object
+ properties:
+ walletShareRequests:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ walletId:
+ $ref: '#/components/schemas/WalletIdString'
+ walletLabel:
+ type: string
+ coin:
+ type: string
+ userId:
+ type: string
+ userEmail:
+ type: string
+ userFullName:
+ type: string
+ permissions:
+ type: array
+ items:
+ type: string
+ enum:
+ - spend
+ created:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - id
+ - walletId
+ - walletLabel
+ - coin
+ - userId
+ - userEmail
+ - userFullName
+ - permissions
+ - created
+ required:
+ - walletShareRequests
+ VerifyWebhookNotificationResponse:
+ title: VerifyWebhookNotificationResponse
+ type: object
+ properties:
+ webhookId:
+ type: string
+ isValid:
+ type: boolean
+ required:
+ - webhookId
+ - isValid
+ CreateWebhookSecretResponse:
+ title: CreateWebhookSecretResponse
+ type: object
+ properties:
+ secret:
+ type: string
+ required:
+ - secret
+ RetrofitMPCv1WalletResponse:
+ allOf:
+ - title: RetrofitMPCv1WalletResponse
+ - $ref: '#/components/schemas/Wallet1'
+ Wallet1:
+ title: Wallet
+ type: object
+ properties:
+ allowBackupKeySigning:
+ type: boolean
+ approvalsRequired:
+ type: number
+ example: 1
+ minimum: 1
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ coinSpecific:
+ $ref: '#/components/schemas/WalletSubdocument'
+ deleted:
+ type: boolean
+ disableTransactionNotifications:
+ type: boolean
+ hasLargeNumberOfAddresses:
+ type: boolean
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ isCold:
+ type: boolean
+ label:
+ type: string
+ example: My Wallet
+ startDate:
+ type: string
+ description: Wallet creation time
+ format: date-time
+ title: ISO Date String
+ admin:
+ type: object
+ properties:
+ policy:
+ $ref: '#/components/schemas/Policy'
+ billingEnterprise:
+ type: string
+ buildDefaults:
+ type: object
+ properties:
+ minFeeRate:
+ type: number
+ description: (UTXO only) Wallet-level minimum fee rate that must be greater than or equal to the default of 1000 satoshis/kvByte. Per transaction, you can override "minFeeRate" with the "feeRate" parameter.
+ example: 12000
+ minimum: 1000
+ clientFlags:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ value:
+ type: boolean
+ config:
+ type: object
+ properties:
+ nodeId: {}
+ custodialWalletId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ customChangeKeySignatures:
+ type: object
+ properties:
+ user:
+ type: string
+ backup:
+ type: string
+ bitgo:
+ type: string
+ customerWalletId:
+ type: string
+ enterprise:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ organization:
+ type: string
+ bitgoOrg:
+ type: string
+ freeze:
+ type: object
+ properties:
+ time:
+ type: string
+ format: date-time
+ title: ISO Date String
+ expires:
+ type: string
+ format: date-time
+ title: ISO Date String
+ instantProvider:
+ type: string
+ keys:
+ type: array
+ example:
+ - 585951a5df8380e0e304a553
+ - 585951a5df8380e0e30d645c
+ - 585951a5df8380e0e30b6147
+ items:
+ type: string
+ keySignatures:
+ type: object
+ properties:
+ backupPub:
+ type: string
+ bitgoPub:
+ type: string
+ m:
+ type: number
+ description: Number of signatures required. This value must be 2 for hot wallets, 1 for **ofc** wallets, and not specified for custodial wallets.
+ example: 2
+ migratedFrom:
+ type: string
+ multisigType:
+ $ref: '#/components/schemas/MultiSigType'
+ multisigTypeVersion:
+ $ref: '#/components/schemas/MultisigTypeVersion1'
+ 'n':
+ type: number
+ description: Number of keys provided. This value must be 3 for hot wallets, 1 for **ofc** wallets, and not specified for custodial wallets.
+ example: 3
+ recoverable:
+ type: boolean
+ tags:
+ type: array
+ items:
+ type: string
+ type:
+ allOf:
+ - $ref: '#/components/schemas/WalletType'
+ description: The type describes who owns the keys to the wallet and how they are stored. "cold" wallets are wallets where the private key of the user key is stored exclusively outside of BitGo's system. "custodial" means that this wallet is a cold wallet where BitGo owns the keys. Only customers of the BitGo Trust can create this kind of wallet. "custodialPaired" means that this is a hot wallet that is owned by the customer but it will be linked to a cold (custodial) wallet where BitGo owns the keys. This option is only available to customers of BitGo Inc. BitGo stores an encrypted private key for the user key of "hot" wallets. "trading" wallets are trading accounts where the coin is "ofc". "distributedCustody" means You manage one key and another key agent manages the second key. BitGo manages the third key
+ subType:
+ $ref: '#/components/schemas/WalletSubType'
+ balanceString:
+ type: string
+ description: The cleared balance of the address in base units (e.g. Satoshis). Guaranteed to not lose precision. The is only returned if the 'expandBalance' query parameter is set to 'true'.
+ balance:
+ type: number
+ description: The cleared balance of the address in base units (e.g. Satoshis). The is only returned if the 'expandBalance' query parameter is set to 'true'.
+ confirmedBalanceString:
+ type: string
+ description: The total balance of confirmed transactions in base units (e.g. Satoshis). The is only returned if the 'expandBalance' query parameter is set to 'true'. Guaranteed to not lose precision.
+ confirmedBalance:
+ type: number
+ description: The total balance of confirmed transactions in base units (e.g. Satoshis). The is only returned if the 'expandBalance' query parameter is set to 'true'.
+ spendableBalanceString:
+ type: string
+ description: The total balance in base units (e.g. Satoshis) which may be used as inputs for creating new transactions in string representation. Guaranteed to not lose precision. The is only returned if the 'expandBalance' query parameter is set to 'true'.
+ spendableBalance:
+ type: number
+ description: The total balance in base units (e.g. Satoshis) which may be used as inputs for creating new transactions in string representation. The is only returned if the 'expandBalance' query parameter is set to 'true'.
+ users:
+ type: array
+ items:
+ type: object
+ properties:
+ needsRecovery:
+ type: boolean
+ permissions:
+ type: array
+ items:
+ type: string
+ enum:
+ - admin
+ - spend
+ - view
+ - freeze
+ - trade
+ recoverable:
+ type: boolean
+ user:
+ type: string
+ required:
+ - permissions
+ walletFlags:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ $ref: '#/components/schemas/WalletFlag1'
+ value:
+ type: string
+ required:
+ - name
+ - value
+ receiveAddress:
+ $ref: '#/components/schemas/WalletAddress'
+ required:
+ - allowBackupKeySigning
+ - approvalsRequired
+ - coin
+ - coinSpecific
+ - deleted
+ - disableTransactionNotifications
+ - hasLargeNumberOfAddresses
+ - id
+ - isCold
+ - label
+ - startDate
+ WalletSubdocument:
+ title: WalletSubdocument
+ oneOf:
+ - $ref: '#/components/schemas/AdaWallet'
+ - $ref: '#/components/schemas/AlgorandWallet'
+ - $ref: '#/components/schemas/AtomWallet'
+ - $ref: '#/components/schemas/AvaxPWallet'
+ - $ref: '#/components/schemas/UtxoWallet'
+ - $ref: '#/components/schemas/CasperWallet'
+ - $ref: '#/components/schemas/DotWallet'
+ - $ref: '#/components/schemas/EosWallet'
+ - $ref: '#/components/schemas/EthereumWallet'
+ - $ref: '#/components/schemas/Ethereum2Wallet'
+ - $ref: '#/components/schemas/FiatWallet'
+ - $ref: '#/components/schemas/HederaWallet'
+ - $ref: '#/components/schemas/NearWallet'
+ - $ref: '#/components/schemas/Offchain'
+ - $ref: '#/components/schemas/SilvergateUSDWallet'
+ - $ref: '#/components/schemas/StacksWallet'
+ - $ref: '#/components/schemas/TestcoinWallet'
+ - $ref: '#/components/schemas/TonWallet'
+ - $ref: '#/components/schemas/TronWallet'
+ - $ref: '#/components/schemas/StellarWallet'
+ - $ref: '#/components/schemas/XRPWallet'
+ - $ref: '#/components/schemas/TezosWallet'
+ - $ref: '#/components/schemas/SolWallet'
+ - $ref: '#/components/schemas/LightningCoinWallet'
+ MultiSigType:
+ title: MultiSigType
+ type: string
+ enum:
+ - onchain
+ - tss
+ - blsdkg
+ MultisigTypeVersion1:
+ title: MultisigTypeVersion
+ type: string
+ enum:
+ - MPCv2
+ WalletType:
+ title: WalletType
+ type: string
+ enum:
+ - backing
+ - cold
+ - custodial
+ - custodialPaired
+ - hot
+ - trading
+ WalletSubType:
+ title: WalletSubType
+ type: string
+ enum:
+ - distributedCustody
+ - pairedCustodial
+ WalletFlag1:
+ title: WalletFlag
+ type: string
+ enum:
+ - isStaking
+ - lightning
+ - musigKp
+ - trackingInscriptions
+ - lockedAmount
+ - rbf
+ - coldWalletStaking
+ - tokenizationToken
+ - oneClickStaking
+ AdaWallet:
+ title: Ada Wallet
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ addressCount:
+ type: string
+ pendingChainInitialization:
+ type: boolean
+ rewardAddress:
+ type: string
+ lastChainIndex:
+ type: object
+ additionalProperties:
+ type: number
+ required:
+ - rootAddress
+ - addressCount
+ - pendingChainInitialization
+ - rewardAddress
+ AlgorandWallet:
+ title: Algorand Wallet
+ type: object
+ properties:
+ addressVersion:
+ type: number
+ rootAddress:
+ type: string
+ trustedTokens:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/TrustedTokenState'
+ - $ref: '#/components/schemas/Token'
+ required:
+ - addressVersion
+ - rootAddress
+ AtomWallet:
+ title: Atom Wallet
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ lastMemoId:
+ type: string
+ lastChainIndex: {}
+ pendingEcdsaTssInitialization:
+ type: boolean
+ required:
+ - rootAddress
+ - lastMemoId
+ AvaxPWallet:
+ title: AvaxP Wallet
+ type: object
+ properties:
+ unlockAddresses:
+ type: array
+ items:
+ type: string
+ threshold:
+ type: number
+ required:
+ - unlockAddresses
+ - threshold
+ UtxoWallet:
+ title: Utxo Wallet
+ type: object
+ properties:
+ customChangeWalletId:
+ type: string
+ customChangeAddressType:
+ type: string
+ sendQueueInferredScriptTypes:
+ type: array
+ items:
+ type: string
+ CasperWallet:
+ title: Casper Wallet
+ type: object
+ properties:
+ accountHash:
+ type: string
+ creationFailure:
+ type: array
+ items:
+ type: string
+ lastTransferId:
+ type: string
+ pendingChainInitialization:
+ type: boolean
+ rootAddress:
+ type: string
+ required:
+ - accountHash
+ - creationFailure
+ - lastTransferId
+ - pendingChainInitialization
+ - rootAddress
+ DotWallet:
+ title: Dot Wallet
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ pendingChainInitialization:
+ type: boolean
+ nonceAddress:
+ type: string
+ required:
+ - rootAddress
+ - pendingChainInitialization
+ EosWallet:
+ title: Eos Wallet
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ pendingChainInitialization:
+ type: boolean
+ creationFailure:
+ type: array
+ items:
+ type: string
+ lastMemoId:
+ type: string
+ required:
+ - rootAddress
+ - pendingChainInitialization
+ - creationFailure
+ - lastMemoId
+ EthereumWallet:
+ title: Ethereum Wallet
+ type: object
+ properties:
+ pendingChainInitialization:
+ type: boolean
+ creationFailure:
+ type: array
+ items:
+ type: string
+ gasPriceTier:
+ type: string
+ tokenFlushThresholds:
+ type: object
+ additionalProperties:
+ oneOf:
+ - type: string
+ - type: number
+ walletVersion:
+ type: number
+ pendingDeployment:
+ type: boolean
+ deployForwardersManually:
+ type: boolean
+ flushForwardersManually:
+ type: boolean
+ enableMMI:
+ type: boolean
+ enableNFT:
+ type: boolean
+ deployedInBlock:
+ oneOf:
+ - type: number
+ - type: boolean
+ deployTxHash:
+ type: string
+ lastChainIndex: {}
+ baseAddress:
+ type: string
+ feeAddress:
+ type: string
+ nonce:
+ type: string
+ token:
+ type: string
+ pendingEcdsaTssInitialization:
+ type: boolean
+ safeModeActivated:
+ type: string
+ lowPriorityFeeAddress:
+ type: string
+ salt:
+ type: string
+ required:
+ - pendingChainInitialization
+ - creationFailure
+ - gasPriceTier
+ - tokenFlushThresholds
+ - walletVersion
+ - pendingDeployment
+ - deployForwardersManually
+ - flushForwardersManually
+ - enableMMI
+ - enableNFT
+ Ethereum2Wallet:
+ title: Ethereum2 Wallet
+ type: object
+ properties:
+ pendingChainInitialization:
+ type: boolean
+ baseAddress:
+ type: string
+ feeAddress:
+ type: string
+ required:
+ - pendingChainInitialization
+ FiatWallet:
+ title: Fiat Wallet
+ type: object
+ properties:
+ backingBankAccountId: {}
+ backingSENBankAccountId: {}
+ lastUsedNonce:
+ type: number
+ required:
+ - backingBankAccountId
+ - backingSENBankAccountId
+ - lastUsedNonce
+ HederaWallet:
+ title: Hedera Wallet
+ type: object
+ properties:
+ addressCount:
+ type: number
+ pendingChainInitialization:
+ type: boolean
+ creationFailure:
+ type: array
+ items:
+ type: string
+ trustedTokens:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/TrustedTokenState'
+ - $ref: '#/components/schemas/Token'
+ deployTxHash:
+ type: string
+ baseAddress:
+ type: string
+ confirmedTransactionId:
+ type: string
+ required:
+ - addressCount
+ - pendingChainInitialization
+ - creationFailure
+ - trustedTokens
+ NearWallet:
+ title: Near Wallet
+ type: object
+ properties:
+ nonceAddress:
+ type: string
+ lastNonce:
+ type: number
+ addressCount:
+ type: number
+ pendingChainInitialization:
+ type: boolean
+ rootAddrss:
+ type: string
+ lastChainIndex:
+ type: object
+ additionalProperties:
+ type: number
+ required:
+ - nonceAddress
+ - lastNonce
+ - addressCount
+ - pendingChainInitialization
+ Offchain:
+ title: Offchain
+ type: object
+ properties:
+ needsKeyReshareAfterPasswordReset:
+ type: boolean
+ required:
+ - needsKeyReshareAfterPasswordReset
+ SilvergateUSDWallet:
+ title: Silvergate USD Wallet
+ type: object
+ properties:
+ backingBankAccountId: {}
+ backingSENBankAccountId: {}
+ lastUsedNonce:
+ type: number
+ required:
+ - backingBankAccountId
+ - backingSENBankAccountId
+ - lastUsedNonce
+ StacksWallet:
+ title: Stacks Wallet
+ type: object
+ properties:
+ baseAddress:
+ type: string
+ feeAddress:
+ type: string
+ lastNonce:
+ type: number
+ addressCount:
+ type: number
+ TestcoinWallet:
+ title: Testcoin Wallet
+ type: object
+ properties:
+ lastChainIndex:
+ type: number
+ TonWallet:
+ title: Ton Wallet
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ memoId:
+ type: string
+ lastMemoId:
+ type: string
+ seqno:
+ type: number
+ lastChainIndex:
+ type: object
+ additionalProperties:
+ type: number
+ walletVersion:
+ type: number
+ required:
+ - rootAddress
+ - memoId
+ - lastMemoId
+ - seqno
+ TronWallet:
+ title: Tron Wallet
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ rootPub:
+ type: string
+ pendingChainInitialization:
+ type: boolean
+ creationFailure:
+ type: array
+ items:
+ type: string
+ minimumFunding:
+ type: number
+ required:
+ - rootAddress
+ - rootPub
+ - pendingChainInitialization
+ - creationFailure
+ - minimumFunding
+ StellarWallet:
+ title: Stellar Wallet
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ pendingChainInitialization:
+ type: boolean
+ creationFailure:
+ type: array
+ items:
+ type: string
+ lastMemoId:
+ type: string
+ stellarUsername:
+ type: string
+ homeDomain:
+ type: string
+ stellarAddress:
+ type: string
+ trustedTokens:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/TrustedTokenState'
+ - $ref: '#/components/schemas/Token'
+ required:
+ - rootAddress
+ - pendingChainInitialization
+ - creationFailure
+ - lastMemoId
+ XRPWallet:
+ title: XRP Wallet
+ type: object
+ properties:
+ rootAddress:
+ type: string
+ pendingChainInitialization:
+ type: boolean
+ creationFailure:
+ type: array
+ items:
+ type: string
+ trustedTokens:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/TrustedTokenState'
+ - $ref: '#/components/schemas/Token'
+ required:
+ - rootAddress
+ - pendingChainInitialization
+ - creationFailure
+ TezosWallet:
+ title: Tezos Wallet
+ type: object
+ properties:
+ pendingChainInitialization:
+ type: boolean
+ creationFailure:
+ type: array
+ items:
+ type: string
+ deployedInBlock:
+ oneOf:
+ - type: number
+ - type: boolean
+ deployTxHash:
+ type: string
+ lastChainIndex: {}
+ baseAddress:
+ type: string
+ feeAddress:
+ type: string
+ safeModeActivated:
+ type: string
+ lowPriorityFeeAddress:
+ type: string
+ delegate:
+ type: string
+ required:
+ - pendingChainInitialization
+ - creationFailure
+ SolWallet:
+ title: Sol Wallet
+ type: object
+ properties:
+ pendingChainInitialization:
+ type: boolean
+ minimumFunding:
+ type: number
+ trustedTokens:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/TrustedTokenState'
+ - $ref: '#/components/schemas/Token'
+ rootAddress:
+ type: string
+ nonceAddress:
+ type: string
+ lastBlockHash:
+ type: string
+ lastChainIndex: {}
+ nonceExpiresAt:
+ type: string
+ format: date
+ title: Date String
+ nonceTxRequestId:
+ type: string
+ required:
+ - pendingChainInitialization
+ - minimumFunding
+ - trustedTokens
+ LightningCoinWallet:
+ title: Lightning Coin Wallet
+ type: object
+ properties:
+ keys:
+ type: array
+ items:
+ type: string
+ uri:
+ type: string
+ apiEndpoint:
+ type: string
+ nodeId:
+ type: string
+ updateSignerIP:
+ type: boolean
+ signerIP:
+ type: string
+ updateSignerTlsCert:
+ type: boolean
+ signerTlsCert:
+ type: string
+ updateSignerMacaroon:
+ type: boolean
+ encryptedSignerMacaroon:
+ type: string
+ required:
+ - keys
+ GetPinnedWalletsCountResponse:
+ title: GetPinnedWalletsCountResponse
+ type: object
+ properties:
+ pinnedWalletsCount:
+ type: number
+ required:
+ - pinnedWalletsCount
+ UpdatePinnedWalletsResponse:
+ title: UpdatePinnedWalletsResponse
+ type: object
+ properties:
+ pinnedWallets:
+ $ref: '#/components/schemas/PinnedWallets'
+ required:
+ - pinnedWallets
+ PinnedWallets:
+ title: PinnedWallets
+ type: object
+ properties:
+ enterpriseId:
+ type: string
+ userId:
+ type: string
+ wallets:
+ type: array
+ items:
+ type: string
+ required:
+ - enterpriseId
+ - userId
+ - wallets
+ WireWithdrawalConfirmationAction:
+ title: WireWithdrawalConfirmationAction
+ type: string
+ enum:
+ - approve
+ - reject
+ WireWithdrawalsPaginatedResponse:
+ title: WireWithdrawalsPaginatedResponse
+ type: object
+ properties:
+ transfers:
+ type: array
+ items:
+ type: object
+ properties:
+ baseValue:
+ type: number
+ description: The value (in base units) sent by this transfer, excluding network fees. BitGo is deprecating this field in the future.
+ baseValueString:
+ type: string
+ description: The value (in base units) sent by this transfer, excluding network fees represented as a string. BitGo is deprecating this field in the future.
+ example: '2000000'
+ pattern: ^-?\d+$
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ comment:
+ nullable: true
+ type: string
+ description: A comment from the user
+ date:
+ type: string
+ description: The date this Transfer was last updated
+ format: date-time
+ title: ISO Date String
+ enterprise:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ organization:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ bitgoOrg:
+ type: string
+ enum:
+ - BitGo Trust
+ - BitGo New York
+ - BitGo Germany
+ - BitGo Switzerland
+ - Frankfurt DE Trust
+ - BitGo Singapore
+ - BitGo Korea
+ - BitGo Sister Trust 1
+ - BitGo Inc
+ entries:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ type: string
+ description: An address affected by this Transfer
+ example: 2NAUwNgXaoFj2VVnSEvNLGuez8CfdU2UCMZ
+ valueString:
+ type: string
+ description: The change (in base units) in the address' balance represented as a string
+ example: '20000'
+ pattern: '"^-?\d+$"'
+ isChange:
+ type: boolean
+ description: True if this address is a change address (only exists for UTXO coins) and if this is a "send" transfer
+ wallet:
+ type: string
+ description: Only visible when the user has access to the wallet
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ value:
+ type: number
+ description: The change (in base units) in the address' balance
+ nftSymbol:
+ type: string
+ type:
+ type: string
+ enum:
+ - flushForwarderTokens
+ - walletFunding
+ - walletInitialization
+ - addressInitialization
+ - importedOutput
+ isPayGo:
+ type: boolean
+ description: True if this address is the BitGo PayGo wallet
+ token:
+ type: string
+ description: If this is a token entry, the token's symbol
+ example: omg
+ failed:
+ type: boolean
+ description: True if this entry is failed
+ associatedNativeCoinAddress:
+ type: string
+ description: The native coin receive address associated with the solana ATA address. This is currently present only for BitGo addresses. This change was done so that there is a mapping between the two addresses in the transfer entries.
+ required:
+ - address
+ description: An array of objects describing the change in address balances made as a result of this Transfer
+ history:
+ type: array
+ items:
+ type: object
+ properties:
+ action:
+ $ref: '#/components/schemas/TransferAction'
+ comment:
+ nullable: true
+ type: string
+ description: If this history object is of action "commented", this is the comment from the user
+ date:
+ type: string
+ description: The date of this history object
+ format: date-time
+ title: ISO Date String
+ transferId:
+ type: string
+ description: The ID of the transfer that this history object is associated with
+ txid:
+ type: string
+ description: The transaction ID of the transaction that this history object is associated with
+ user:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - action
+ - date
+ description: An audit log of events that have happened to the Transfer during its lifecycle
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ pendingApproval:
+ type: string
+ state:
+ $ref: '#/components/schemas/TransferState1'
+ stakingParams:
+ type: object
+ properties:
+ actionType:
+ type: string
+ requestId:
+ type: string
+ source:
+ type: string
+ enum:
+ - external
+ - internal
+ validator:
+ type: string
+ required:
+ - actionType
+ - requestId
+ txid:
+ type: string
+ description: The on-chain transaction id
+ example: b8a828b98dbf32d9fd1875cbace9640ceb8c82626716b4a64203fdc79bb46d26
+ type:
+ allOf:
+ - $ref: '#/components/schemas/TransferType'
+ description: Defines whether or not this Transfer was sent or received by the user
+ usd:
+ type: number
+ description: The amount of USD of this Transfer (will be negative if it's a send)
+ usdRate:
+ type: number
+ description: The USD rate at the time this Transfer was created
+ value:
+ type: number
+ description: The total value (in base units) sent by this Transfer (may be approximate for ETH and other coins where amounts in base units can exceed 2^53 - 1)
+ valueString:
+ type: string
+ description: The total value (in base units) sent by this Transfer represented as a String
+ example: '2000000'
+ pattern: ^-?\d+$
+ wallet:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ walletType:
+ type: string
+ enum:
+ - backing
+ - cold
+ - custodial
+ - custodialPaired
+ - hot
+ - trading
+ description: Wallet type
+ replaces:
+ type: array
+ items:
+ type: string
+ description: Transaction IDs that this transfer replaces.
+ replacedBy:
+ type: array
+ items:
+ type: string
+ description: Transaction IDs that replace this transfer.
+ required:
+ - coin
+ - date
+ - entries
+ - history
+ - id
+ - state
+ - type
+ - valueString
+ - wallet
+ nextBatchPrevId:
+ type: string
+ required:
+ - transfers
+ MPCv2BroadcastMessage:
+ title: MPCv2BroadcastMessage
+ type: object
+ properties:
+ from:
+ type: number
+ enum:
+ - 0
+ - 1
+ - 2
+ message:
+ type: string
+ minLength: 1
+ signature:
+ type: string
+ minLength: 1
+ required:
+ - from
+ - message
+ - signature
+ MPCv2KeyRetrofitRound1Request:
+ title: MPCv2KeyRetrofitRound1Request
+ allOf:
+ - type: object
+ properties:
+ walletId:
+ $ref: '#/components/schemas/WalletIdNonEmptyString'
+ required:
+ - walletId
+ - $ref: '#/components/schemas/MPCv2KeyGenRound1Request'
+ MPCv2KeyGenRound1Request:
+ title: MPCv2KeyGenRound1Request
+ type: object
+ properties:
+ userGpgPublicKey:
+ type: string
+ minLength: 1
+ backupGpgPublicKey:
+ type: string
+ minLength: 1
+ userMsg1:
+ $ref: '#/components/schemas/MPCv2BroadcastMessage'
+ backupMsg1:
+ $ref: '#/components/schemas/MPCv2BroadcastMessage'
+ required:
+ - userGpgPublicKey
+ - backupGpgPublicKey
+ - userMsg1
+ - backupMsg1
+ ListWalletSharesCountByEnterpriseResponse:
+ title: ListWalletSharesCountByEnterpriseResponse
+ type: object
+ properties:
+ enterprises:
+ $ref: '#/components/schemas/WalletSharesCountSchema'
+ required:
+ - enterprises
+ WalletSharesCountSchema:
+ title: WalletSharesCountSchema
+ type: object
+ additionalProperties:
+ type: object
+ properties:
+ walletSharesCount:
+ type: number
+ required:
+ - walletSharesCount
+ NotModified:
+ title: NotModified
+ allOf:
+ - type: object
+ properties:
+ context:
+ type: object
+ additionalProperties: {}
+ - $ref: '#/components/schemas/NotModifiedNoName'
+ NotModifiedNoName:
+ title: NotModifiedNoName
+ type: string
+ PutWalletTransactionBuildResponse:
+ title: PutWalletTransactionBuildResponse
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/BuiltCustodialTransaction'
+ - $ref: '#/components/schemas/PostBuildTransactionDecoration'
+ - $ref: '#/components/schemas/CoinInfoOnBuildCustodialTransactionResult'
+ BuiltCustodialTransaction:
+ title: BuiltCustodialTransaction
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/BuiltTransaction'
+ - $ref: '#/components/schemas/CustodialTransactionInfo'
+ PostBuildTransactionDecoration:
+ title: PostBuildTransactionDecoration
+ type: object
+ properties:
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ token:
+ type: string
+ description: The token associated with the transaction
+ keyDerivationPath:
+ type: string
+ description: The key derivation path
+ CoinInfoOnBuildCustodialTransactionResult:
+ title: CoinInfoOnBuildCustodialTransactionResult
+ type: object
+ properties:
+ receivedCoin:
+ type: object
+ properties:
+ family:
+ type: string
+ description: The family of the received coin
+ type:
+ type: string
+ description: The type of the received coin
+ fullDisplay:
+ type: string
+ description: The full display name of the received coin
+ shortDisplay:
+ type: string
+ description: The short display name of the received coin
+ modifierExp:
+ type: number
+ description: The modifier exponent of the received coin
+ modifier:
+ type: number
+ description: The modifier of the received coin
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ token:
+ type: string
+ description: The token associated with the transaction
+ BuiltTransaction:
+ title: BuiltTransaction
+ type: object
+ properties:
+ txHex:
+ type: string
+ description: The hexadecimal representation of the transaction
+ txInfo:
+ type: object
+ properties:
+ nP2SHInputs:
+ type: number
+ description: The number of P2SH inputs
+ nSegwitInputs:
+ type: number
+ description: The number of Segwit inputs
+ nOutputs:
+ type: number
+ description: The number of outputs
+ unspents:
+ type: array
+ items:
+ type: object
+ properties:
+ chain:
+ type: number
+ description: The chain of the UTXO
+ index:
+ type: number
+ description: The index of the UTXO
+ redeemScript:
+ type: string
+ description: The redeem script of the UTXO
+ witnessScript:
+ type: string
+ description: The witness script of the UTXO
+ id:
+ type: string
+ description: The ID of the UTXO
+ address:
+ type: string
+ description: The address of the UTXO
+ value:
+ type: number
+ description: The value of the UTXO
+ description: The unspent transaction outputs (UTXOs)
+ changeAddresses:
+ type: array
+ items:
+ type: string
+ description: The change addresses
+ walletAddressDetails:
+ type: object
+ additionalProperties:
+ type: object
+ properties:
+ chain:
+ type: number
+ description: The chain of the wallet address
+ index:
+ type: number
+ description: The index of the wallet address
+ coinSpecific:
+ type: object
+ properties:
+ witnessScript:
+ type: string
+ description: The witness script specific to the coin
+ description: The wallet address details
+ feeInfo:
+ type: object
+ properties:
+ size:
+ type: number
+ description: The size of the transaction in bytes
+ fee:
+ type: number
+ description: The fee of the transaction
+ feeRate:
+ type: number
+ description: The fee rate of the transaction
+ payGoFee:
+ type: number
+ description: The pay-as-you-go fee
+ payGoFeeString:
+ type: string
+ description: The pay-as-you-go fee as a string
+ debug:
+ type: object
+ properties:
+ dimensions:
+ type: object
+ properties:
+ nP2shInputs:
+ type: number
+ description: The number of P2SH inputs
+ nP2shP2wshInputs:
+ type: number
+ description: The number of P2SH-P2WSH inputs
+ nP2wshInputs:
+ type: number
+ description: The number of P2WSH inputs
+ nP2trKeypathInputs:
+ type: number
+ description: The number of P2TR keypath inputs
+ nP2trScriptPathLevel1Inputs:
+ type: number
+ description: The number of P2TR script path level 1 inputs
+ nP2trScriptPathLevel2Inputs:
+ type: number
+ description: The number of P2TR script path level 2 inputs
+ nP2shP2pkInputs:
+ type: number
+ description: The number of P2SH-P2PK inputs
+ outputs:
+ type: object
+ properties:
+ count:
+ type: number
+ description: The number of outputs
+ size:
+ type: number
+ description: The size of the outputs in bytes
+ CustodialTransactionInfo:
+ title: CustodialTransactionInfo
+ type: object
+ properties:
+ formatVersion:
+ type: number
+ description: The format version of the transaction
+ walletId:
+ $ref: '#/components/schemas/WalletIdString'
+ walletLabel:
+ type: string
+ description: The label of the wallet
+ creatorId:
+ type: string
+ description: The ID of the creator
+ creatorEmail:
+ type: string
+ description: The email of the creator
+ createDate:
+ type: string
+ description: The creation date of the transaction
+ format: date-time
+ title: ISO Date String
+ videoId:
+ type: object
+ properties:
+ approver:
+ type: string
+ description: The approver of the video
+ date:
+ oneOf:
+ - type: string
+ format: date-time
+ title: ISO Date String
+ - type: string
+ description: The date of the video
+ link:
+ type: string
+ description: The link to the video
+ exception:
+ type: string
+ description: The exception related to the video
+ waived:
+ type: boolean
+ description: Indicates if the video requirement was waived
+ required:
+ - approver
+ - date
+ - link
+ - exception
+ - waived
+ comment:
+ type: string
+ description: The comment on the transaction
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ pubs:
+ type: array
+ items:
+ type: string
+ description: The public keys associated with the transaction
+ amount:
+ type: string
+ description: The amount of the transaction
+ pendingApprovalId:
+ type: string
+ description: The pending approval ID
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ enterpriseId:
+ type: string
+ description: The ID of the enterprise
+ enterpriseName:
+ type: string
+ description: The name of the enterprise
+ xpubsWithDerivationPath:
+ allOf:
+ - $ref: '#/components/schemas/XpubsWithDerivationPath'
+ description: The extended public keys with derivation path
+ coinSpecific:
+ type: object
+ properties: {}
+ enterpriseFeatureFlags:
+ allOf:
+ - $ref: '#/components/schemas/EnterpriseFeatureFlags'
+ description: The feature flags of the enterprise
+ required:
+ - formatVersion
+ - walletId
+ - walletLabel
+ - creatorId
+ - creatorEmail
+ - createDate
+ - videoId
+ XpubsWithDerivationPath:
+ title: XpubsWithDerivationPath
+ type: object
+ properties:
+ user:
+ allOf:
+ - $ref: '#/components/schemas/XpubWithDerivationPath'
+ description: The user's extended public key with derivation path
+ cold:
+ allOf:
+ - $ref: '#/components/schemas/XpubWithDerivationPath'
+ description: The cold storage extended public key with derivation path
+ bitgo:
+ allOf:
+ - $ref: '#/components/schemas/XpubWithDerivationPath'
+ description: BitGo's extended public key with derivation path
+ backup:
+ allOf:
+ - $ref: '#/components/schemas/XpubWithDerivationPath'
+ description: The backup extended public key with derivation path
+ EnterpriseFeatureFlags:
+ title: EnterpriseFeatureFlags
+ type: array
+ items:
+ type: string
+ enum:
+ - adaBYOValidator
+ - adaPledging
+ - adaStaking
+ - atomStaking
+ - avaxcAlwaysUseHop
+ - avaxpStaking
+ - avaxpBYOValidator
+ - bscStaking
+ - bscBYOValidator
+ - cosmosBYOValidator
+ - reactOnly
+ - useEddsaCommitment
+ - enableBG23
+ - bitgoNetwork
+ - btcHSMv3
+ - ecdsaTssColdWallets
+ - eddsaTssColdWallets
+ - enableMMI
+ - ethHSMv3
+ - nftWallets
+ - checkPendingBalanceOnBuild
+ - enableEcdsaWallets
+ - enableTendermintHotWallets
+ - enableMpcEvmCustody
+ - enableMpcEvmHot
+ - ethBatchStaking
+ - enableConcurrentGg18Evm
+ - specialVideoInstructions
+ - csprStaking
+ - stxStaking
+ - tssCustodial
+ - blockTransactionIfPending
+ - mystenEmployee
+ - mystenInvestor
+ - monthlyTrustReports
+ - nitroHSM
+ - unspentsConsolidation
+ - newPolicyServiceShadowMode
+ - useEnterpriseEcdsaTssChallenge
+ - clearingSettlementUI
+ - snowflakeReports
+ - multiAssetDVP
+ - solStakingAuthorize
+ - suiCustomTx
+ - csprBYOValidator
+ - suiBYOValidator
+ - stxBYOValidator
+ - tonBYOValidator
+ - btcBYOValidator
+ - btcStaking
+ - tonStaking
+ - useEcdsaTssPaillierBlum
+ - useEcdsaTssPhase5
+ - allowBackupKeySigning
+ - useCustomValidators
+ - sendTxRequestFullNotification
+ - addressBookRevised
+ - enableEnterprisePolicy
+ - bgUILargeEnterprise
+ - enableDurableNonce
+ - automateGoAccountActivation
+ - showUnstableOesPartners
+ - stakingReports
+ - cosmosClaimRewards
+ - cosmosSwitchValidator
+ - enablePlaid
+ - enableMPCv2
+ - useWireWithdrawalConfirmAPI
+ - hasUserManagementAccess
+ - disableDurableNonce
+ - allowExternalChangeAddressUI
+ - eigenStaking
+ - eigenBYOValidator
+ - eigenLikeClaimRewards
+ - enableRiskScoring
+ - useValidatorList
+ - ethRestaking
+ - ethClaimRewards
+ - enableKycReverification
+ - disableGlobalRules
+ - fetchAdaBalanceFromIndexer
+ - polStaking
+ - enableTrxFundingFromGasTank
+ - ethUnstakingPolicyService
+ - bulkTx
+ - eth2Staking
+ - nearStaking
+ - solStaking
+ - dotStaking
+ - maticStaking
+ - suiStaking
+ - wctStaking
+ - tokenization
+ - globalTravelRule
+ - addressReports
+ - enableMarginV2
+ - enableMarginV2UI
+ - mpcV2ReceiveAddress
+ - enableUSDS
+ - shouldCreateGoAccountAsynchronously
+ XpubWithDerivationPath:
+ title: XpubWithDerivationPath
+ type: object
+ properties:
+ xpub:
+ type: string
+ description: The extended public key
+ derivedFromParentWithSeed:
+ type: string
+ description: Indicates if derived from parent with seed
+ WalletListResponse:
+ title: WalletListResponse
+ type: object
+ properties:
+ coin:
+ oneOf:
+ - type: array
+ items:
+ type: string
+ - type: string
+ wallets:
+ type: array
+ items:
+ type: object
+ properties:
+ allowBackupKeySigning:
+ type: boolean
+ approvalsRequired:
+ type: number
+ example: 1
+ minimum: 1
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ coinSpecific:
+ $ref: '#/components/schemas/WalletSubdocument'
+ deleted:
+ type: boolean
+ disableTransactionNotifications:
+ type: boolean
+ hasLargeNumberOfAddresses:
+ type: boolean
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ isCold:
+ type: boolean
+ label:
+ type: string
+ example: My Wallet
+ startDate:
+ type: string
+ description: Wallet creation time
+ format: date-time
+ title: ISO Date String
+ admin:
+ type: object
+ properties:
+ policy:
+ $ref: '#/components/schemas/Policy'
+ billingEnterprise:
+ type: string
+ buildDefaults:
+ type: object
+ properties:
+ minFeeRate:
+ type: number
+ description: (UTXO only) Wallet-level minimum fee rate that must be greater than or equal to the default of 1000 satoshis/kvByte. Per transaction, you can override "minFeeRate" with the "feeRate" parameter.
+ example: 12000
+ minimum: 1000
+ clientFlags:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ value:
+ type: boolean
+ config:
+ type: object
+ properties:
+ nodeId: {}
+ custodialWalletId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ customChangeKeySignatures:
+ type: object
+ properties:
+ user:
+ type: string
+ backup:
+ type: string
+ bitgo:
+ type: string
+ customerWalletId:
+ type: string
+ enterprise:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ organization:
+ type: string
+ bitgoOrg:
+ type: string
+ freeze:
+ type: object
+ properties:
+ time:
+ type: string
+ format: date-time
+ title: ISO Date String
+ expires:
+ type: string
+ format: date-time
+ title: ISO Date String
+ instantProvider:
+ type: string
+ keys:
+ type: array
+ example:
+ - 585951a5df8380e0e304a553
+ - 585951a5df8380e0e30d645c
+ - 585951a5df8380e0e30b6147
+ items:
+ type: string
+ keySignatures:
+ type: object
+ properties:
+ backupPub:
+ type: string
+ bitgoPub:
+ type: string
+ m:
+ type: number
+ description: Number of signatures required. This value must be 2 for hot wallets, 1 for **ofc** wallets, and not specified for custodial wallets.
+ example: 2
+ migratedFrom:
+ type: string
+ multisigType:
+ $ref: '#/components/schemas/MultiSigType'
+ multisigTypeVersion:
+ $ref: '#/components/schemas/MultisigTypeVersion1'
+ 'n':
+ type: number
+ description: Number of keys provided. This value must be 3 for hot wallets, 1 for **ofc** wallets, and not specified for custodial wallets.
+ example: 3
+ recoverable:
+ type: boolean
+ tags:
+ type: array
+ items:
+ type: string
+ type:
+ allOf:
+ - $ref: '#/components/schemas/WalletType'
+ description: The type describes who owns the keys to the wallet and how they are stored. "cold" wallets are wallets where the private key of the user key is stored exclusively outside of BitGo's system. "custodial" means that this wallet is a cold wallet where BitGo owns the keys. Only customers of the BitGo Trust can create this kind of wallet. "custodialPaired" means that this is a hot wallet that is owned by the customer but it will be linked to a cold (custodial) wallet where BitGo owns the keys. This option is only available to customers of BitGo Inc. BitGo stores an encrypted private key for the user key of "hot" wallets. "trading" wallets are trading accounts where the coin is "ofc". "distributedCustody" means You manage one key and another key agent manages the second key. BitGo manages the third key
+ subType:
+ $ref: '#/components/schemas/WalletSubType'
+ balanceString:
+ type: string
+ description: The cleared balance of the address in base units (e.g. Satoshis). Guaranteed to not lose precision. The is only returned if the 'expandBalance' query parameter is set to 'true'.
+ balance:
+ type: number
+ description: The cleared balance of the address in base units (e.g. Satoshis). The is only returned if the 'expandBalance' query parameter is set to 'true'.
+ confirmedBalanceString:
+ type: string
+ description: The total balance of confirmed transactions in base units (e.g. Satoshis). The is only returned if the 'expandBalance' query parameter is set to 'true'. Guaranteed to not lose precision.
+ confirmedBalance:
+ type: number
+ description: The total balance of confirmed transactions in base units (e.g. Satoshis). The is only returned if the 'expandBalance' query parameter is set to 'true'.
+ spendableBalanceString:
+ type: string
+ description: The total balance in base units (e.g. Satoshis) which may be used as inputs for creating new transactions in string representation. Guaranteed to not lose precision. The is only returned if the 'expandBalance' query parameter is set to 'true'.
+ spendableBalance:
+ type: number
+ description: The total balance in base units (e.g. Satoshis) which may be used as inputs for creating new transactions in string representation. The is only returned if the 'expandBalance' query parameter is set to 'true'.
+ users:
+ type: array
+ items:
+ type: object
+ properties:
+ needsRecovery:
+ type: boolean
+ permissions:
+ type: array
+ items:
+ type: string
+ enum:
+ - admin
+ - spend
+ - view
+ - freeze
+ - trade
+ recoverable:
+ type: boolean
+ user:
+ type: string
+ required:
+ - permissions
+ walletFlags:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ $ref: '#/components/schemas/WalletFlag1'
+ value:
+ type: string
+ required:
+ - name
+ - value
+ receiveAddress:
+ $ref: '#/components/schemas/WalletAddress'
+ required:
+ - allowBackupKeySigning
+ - approvalsRequired
+ - coin
+ - coinSpecific
+ - deleted
+ - disableTransactionNotifications
+ - hasLargeNumberOfAddresses
+ - id
+ - isCold
+ - label
+ - startDate
+ nextBatchPrevId:
+ type: string
+ description: When a result set is truncated, this field returns the id of the last object in the previous batch. To get the next batch of results, pass this value via the "prevId" query parameter.
+ example: 585951a5df8380e0e3063e9f
+ format: uuid
+ totalCount:
+ type: number
+ required:
+ - wallets
+ GetSequenceIdsResponse:
+ title: GetSequenceIdsResponse
+ type: object
+ properties:
+ sequenceIds:
+ type: array
+ items:
+ type: object
+ properties:
+ txid:
+ type: string
+ description: The on-chain transaction id
+ example: b8a828b98dbf32d9fd1875cbace9640ceb8c82626716b4a64203fdc79bb46d26
+ minLength: 1
+ contractSequenceId:
+ type: number
+ description: The contract sequence id of the transaction
+ required:
+ - txid
+ - contractSequenceId
+ required:
+ - sequenceIds
+ GetPotentialStuckTxsResponse:
+ title: GetPotentialStuckTxsResponse
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/GetPotentialStuckEthTxs'
+ - $ref: '#/components/schemas/GetPotentialStuckUtxoTxs'
+ GetPotentialStuckEthTxs:
+ title: Potential Stuck Eth Transactions
+ type: object
+ properties:
+ nonce:
+ type: number
+ description: The nonce value of the potentially stuck transaction
+ example: 200000
+ pattern: ^-?\d+$
+ txHex:
+ type: string
+ description: Serialized transaction hex
+ example: 01000000000101d58f82d996dd872012675adadf4606734906b25a413f6e2ee535c0c10aef96020000000000ffffffff028de888000000000017a914c91aa24f65827eecec775037d886f2952b73cbe48740420f000000000017a9149304d18497b9bfe9532778a0f06d9fff3b3befaf870500473044022023d7210ba6d8bbd7a28b8af226f40f7235caab79156f93f9c9969fc459ea7f73022050fbdca788fba3de686b66b3501853695ff9d6f375867470207d233b099576e001000069522103d4788cda52f91c1f6c82eb91491ca76108c9c5f0839bc4f02eccc55fedb3311c210391bcef9dcc89570a79ba3c7514e65cd48e766a8868eca2769fa9242fdcc796662102ef3c5ebac4b54df70dea1bb2655126368be10ca0462382fcb730e55cddd2dd6a53aec8b11400
+ txId:
+ type: string
+ description: The on-chain transaction id
+ example: b8a828b98dbf32d9fd1875cbace9640ceb8c82626716b4a64203fdc79bb46d26
+ sendTransfer:
+ type: object
+ properties:
+ baseValue:
+ type: number
+ description: The value (in base units) sent by this transfer, excluding network fees. BitGo is deprecating this field in the future.
+ baseValueString:
+ type: string
+ description: The value (in base units) sent by this transfer, excluding network fees represented as a string. BitGo is deprecating this field in the future.
+ example: '2000000'
+ pattern: ^-?\d+$
+ bitgoOrg:
+ type: string
+ enum:
+ - BitGo Trust
+ - BitGo New York
+ - BitGo Germany
+ - BitGo Switzerland
+ - Frankfurt DE Trust
+ - BitGo Singapore
+ - BitGo Korea
+ - BitGo Sister Trust 1
+ - BitGo Inc
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ comment:
+ nullable: true
+ type: string
+ description: A comment from the user
+ date:
+ type: string
+ description: The date this Transfer was last updated
+ format: date-time
+ title: ISO Date String
+ enterprise:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ entries:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ type: string
+ description: An address affected by this Transfer
+ example: 2NAUwNgXaoFj2VVnSEvNLGuez8CfdU2UCMZ
+ associatedNativeCoinAddress:
+ type: string
+ description: The native coin receive address associated with the solana ATA address. This is currently present only for BitGo addresses. This change was done so that there is a mapping between the two addresses in the transfer entries.
+ failed:
+ type: boolean
+ description: True if this entry is failed
+ isChange:
+ type: boolean
+ description: True if this address is a change address (only exists for UTXO coins) and if this is a "send" transfer
+ isPayGo:
+ type: boolean
+ description: True if this address is the BitGo PayGo wallet
+ nftSymbol:
+ type: string
+ token:
+ type: string
+ description: If this is a token entry, the token's symbol
+ example: omg
+ type:
+ type: string
+ enum:
+ - flushForwarderTokens
+ - walletFunding
+ - walletInitialization
+ - addressInitialization
+ - importedOutput
+ value:
+ type: number
+ description: The change (in base units) in the address' balance
+ valueString:
+ type: string
+ description: The change (in base units) in the address' balance represented as a string
+ example: '20000'
+ pattern: '"^-?\d+$"'
+ wallet:
+ type: string
+ description: Only visible when the user has access to the wallet
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - address
+ description: An array of objects describing the change in address balances made as a result of this Transfer
+ history:
+ type: array
+ items:
+ type: object
+ properties:
+ action:
+ $ref: '#/components/schemas/TransferAction'
+ comment:
+ nullable: true
+ type: string
+ description: If this history object is of action "commented", this is the comment from the user
+ date:
+ type: string
+ description: The date of this history object
+ format: date-time
+ title: ISO Date String
+ transferId:
+ type: string
+ description: The ID of the transfer that this history object is associated with
+ txid:
+ type: string
+ description: The transaction ID of the transaction that this history object is associated with
+ user:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - action
+ - date
+ description: An audit log of events that have happened to the Transfer during its lifecycle
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ organization:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ pendingApproval:
+ type: string
+ replacedBy:
+ type: array
+ items:
+ type: string
+ description: Transaction IDs that replace this transfer.
+ replaces:
+ type: array
+ items:
+ type: string
+ description: Transaction IDs that this transfer replaces.
+ stakingParams:
+ type: object
+ properties:
+ actionType:
+ type: string
+ requestId:
+ type: string
+ source:
+ type: string
+ enum:
+ - external
+ - internal
+ validator:
+ type: string
+ required:
+ - actionType
+ - requestId
+ state:
+ $ref: '#/components/schemas/TransferState1'
+ txid:
+ type: string
+ description: The on-chain transaction id
+ example: b8a828b98dbf32d9fd1875cbace9640ceb8c82626716b4a64203fdc79bb46d26
+ type:
+ allOf:
+ - $ref: '#/components/schemas/TransferType'
+ description: Defines whether or not this Transfer was sent or received by the user
+ usd:
+ type: number
+ description: The amount of USD of this Transfer (will be negative if it's a send)
+ usdRate:
+ type: number
+ description: The USD rate at the time this Transfer was created
+ value:
+ type: number
+ description: The total value (in base units) sent by this Transfer (may be approximate for ETH and other coins where amounts in base units can exceed 2^53 - 1)
+ valueString:
+ type: string
+ description: The total value (in base units) sent by this Transfer represented as a String
+ example: '2000000'
+ pattern: ^-?\d+$
+ wallet:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ walletType:
+ type: string
+ enum:
+ - backing
+ - cold
+ - custodial
+ - custodialPaired
+ - hot
+ - trading
+ description: Wallet type
+ required:
+ - coin
+ - date
+ - entries
+ - history
+ - id
+ - state
+ - type
+ - valueString
+ - wallet
+ cause:
+ type: string
+ description: The reason the transaction is potentially stuck
+ message:
+ type: string
+ description: Possible steps to remediate the stuck transaction.
+ transferIds:
+ type: array
+ items:
+ type: string
+ gasAccelerationFee:
+ type: object
+ description: Fee required to remediate a stuck transaction when the cause is 'fee acceleration'.
+ properties:
+ gasPrice:
+ type: string
+ example: '200000'
+ pattern: ^-?\d+$
+ maxFeePerGas:
+ type: string
+ example: '200000'
+ pattern: ^-?\d+$
+ maxPriorityFeePerGas:
+ type: string
+ example: '200000'
+ pattern: ^-?\d+$
+ userActionDisabled:
+ type: boolean
+ description: True, if manual user action is disabled on this stuck transaction
+ required:
+ - cause
+ - message
+ GetPotentialStuckUtxoTxs:
+ title: Potential Stuck UTXO Transactions
+ type: object
+ properties:
+ txId:
+ type: string
+ description: The on-chain transaction id
+ example: b8a828b98dbf32d9fd1875cbace9640ceb8c82626716b4a64203fdc79bb46d26
+ minLength: 1
+ sendTransfer:
+ $ref: '#/components/schemas/Transfer1'
+ rbf:
+ type: boolean
+ required:
+ - txId
+ WalletCrossChainUnspentResponse:
+ title: WalletCrossChainUnspentResponse
+ type: array
+ items:
+ type: object
+ properties:
+ unspent:
+ type: object
+ properties:
+ outputID:
+ type: number
+ description: Type ID for this output.
+ example: 7
+ amount:
+ type: string
+ description: Amount as a BigNumber string.
+ example: '2000000'
+ txid:
+ type: string
+ description: Transaction ID of this unspent.
+ example: 2WW4Z9R9jdUSR1uheJ1rGuLUNXjipXESGknGWrkqx7KUU1YKV5
+ threshold:
+ type: number
+ description: Number of signatures required to unlock UTXO.
+ example: 1
+ addresses:
+ type: array
+ example:
+ - C-fuji167u3leuup654jdea3euggkhh82ta53jer3ttf4
+ - C-fuji19vy09dn76mvt55r0x2d3ch2jrr8z6lgp80vzlj
+ - C-fuji1idynny22nx91z7mujpwadmjy930yjqa040zdjh0w
+ items:
+ type: string
+ description: Addresses tied to the UTXO for the signatures.
+ outputidx:
+ type: string
+ description: Index of the output in the transaction.
+ example: '1'
+ locktime:
+ type: string
+ description: Time that the UTXO is unlocked.
+ example: '0'
+ required:
+ - outputID
+ - amount
+ - txid
+ - threshold
+ - addresses
+ - outputidx
+ - locktime
+ sourceChain:
+ type: string
+ description: The source chain
+ destinationChain:
+ type: string
+ description: The destination chain
+ fromWallet:
+ type: string
+ description: Public ID of the wallet (in the source chain) that created the cross-chain output.
+ example: 6386565affdf48cb812ca1f0ed49a621
+ toWallet:
+ type: string
+ description: Public ID of the wallet (in the destination chain) that's the target recipient of the cross-chain transfer.
+ example: 6386565affdf48cb812ca1f0ed49a621
+ toAddress:
+ type: string
+ description: Addresses (in the destination chain) that are target recipients of the cross-chain transfer.
+ example: '0x125c4451c870f753265b0b1af3cf6ab88ffe4657'
+ required:
+ - unspent
+ - sourceChain
+ - destinationChain
+ - fromWallet
+ - toWallet
+ - toAddress
+ WalletCountResponse:
+ title: WalletCountResponse
+ type: object
+ properties:
+ count:
+ type: number
+ description: The number of wallets that match the query.
+ minimum: 0
+ required:
+ - count
+ ChangeFeeResponse:
+ title: ChangeFeeResponse
+ type: object
+ properties:
+ txid:
+ type: string
+ description: Transaction ID of the newly created transaction with increased fee rate.
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ TssConfigPartyChallenge:
+ title: TssConfigPartyChallenge
+ allOf:
+ - type: object
+ properties:
+ verifiers:
+ $ref: '#/components/schemas/ChallengeVerifiers'
+ paillierBlumProof:
+ $ref: '#/components/schemas/PaillierBlumProof'
+ ntildeProof:
+ $ref: '#/components/schemas/NtildeProof'
+ required:
+ - verifiers
+ - $ref: '#/components/schemas/Challenge'
+ ChallengeVerifiers:
+ title: ChallengeVerifiers
+ type: object
+ properties:
+ adminSignature:
+ type: string
+ description: The admin signature is a hex string. Users should verify that the admin signature matches for the range proof challenge.
+ bitgoNitroHsmSignature:
+ type: string
+ bitgoInstitutionalHsmSignature:
+ type: string
+ required:
+ - adminSignature
+ PaillierBlumProof:
+ title: PaillierBlumProof
+ type: object
+ description: The paillierBlumProof value is only required when creating the initial config.
+ properties:
+ w:
+ type: string
+ description: The w value of the Paillier Blum proof
+ x:
+ type: array
+ items:
+ type: string
+ description: The x value of the Paillier Blum proof is an array of 80 hex strings
+ z:
+ type: array
+ items:
+ type: string
+ description: The z value of the Paillier Blum proof is an array of 80 hex strings
+ required:
+ - w
+ - x
+ - z
+ RecoveryCodesResponse:
+ title: RecoveryCodesResponse
+ type: object
+ properties:
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ created:
+ type: string
+ description: ISO 8601 string representation of date
+ example: '2019-05-02T15:27:35.773Z'
+ format: date-time
+ title: ISO Date String
+ codes:
+ type: array
+ minItems: 10
+ maxItems: 10
+ items:
+ type: object
+ properties:
+ code:
+ type: string
+ description: The recovery code
+ example: uFN4wrsjdpK3
+ isActive:
+ type: boolean
+ description: Whether the recovery code is active
+ example: true
+ required:
+ - code
+ - isActive
+ required:
+ - id
+ - created
+ - codes
+ Reset2FAIdentityVerification:
+ title: Reset2FAIdentityVerification
+ allOf:
+ - type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - identityVerification
+ required:
+ - state
+ - $ref: '#/components/schemas/Reset2FABase'
+ Reset2FAAdditionalVerification:
+ title: Reset2FAAdditionalVerification
+ allOf:
+ - type: object
+ properties:
+ state:
+ type: string
+ enum:
+ - additionalVerification
+ remainingAttempts:
+ type: number
+ nextAt:
+ type: string
+ required:
+ - state
+ - remainingAttempts
+ - $ref: '#/components/schemas/Reset2FABase'
+ Reset2FABase:
+ title: Reset2FABase
+ type: object
+ properties:
+ id:
+ type: string
+ verificationStatus:
+ $ref: '#/components/schemas/Reset2FAVerificationStatus'
+ required:
+ - id
+ - verificationStatus
+ Reset2FAVerificationStatus:
+ title: Reset2FAVerificationStatus
+ type: string
+ enum:
+ - approved
+ - rejected
+ - pending
+ WalletMPCv2MigrationStatus:
+ title: WalletMPCv2MigrationStatus
+ type: object
+ properties:
+ canMigrateToMPCv2:
+ type: boolean
+ disabledReason:
+ type: string
+ required:
+ - canMigrateToMPCv2
+ TssSettings:
+ title: TssSettings
+ type: object
+ properties:
+ coinSettings:
+ type: object
+ additionalProperties:
+ type: object
+ properties:
+ walletCreationSettings:
+ $ref: '#/components/schemas/TssWalletCreationSettings'
+ canMigrateToMPCv2:
+ type: boolean
+ required:
+ - walletCreationSettings
+ required:
+ - coinSettings
+ TssWalletCreationSettings:
+ title: TssWalletCreationSettings
+ type: object
+ properties:
+ multiSigTypeVersion:
+ $ref: '#/components/schemas/MultisigTypeVersion1'
+ custodialMultiSigTypeVersion:
+ $ref: '#/components/schemas/MultisigTypeVersion1'
+ coldMultiSigTypeVersion:
+ $ref: '#/components/schemas/MultisigTypeVersion1'
+ BitgoTSSPublicKeyResponse:
+ title: BitgoTSSPublicKeyResponse
+ type: object
+ properties:
+ enterpriseId:
+ type: string
+ description: Enterprise id for the intended operation (if present in the request)
+ name:
+ type: string
+ description: Name of the key, used for simple identification. Matches MPC key namess in client constants
+ publicKey:
+ type: string
+ description: BitGo MPC public key
+ mpcv2PublicKey:
+ type: string
+ description: BitGo MPCv2 public key
+ required:
+ - name
+ ReportFormatType:
+ title: ReportFormatType
+ type: string
+ enum:
+ - csv
+ - pdf
+ ReportStatus1:
+ title: ReportStatus
+ type: string
+ enum:
+ - pending
+ - processing
+ - completed
+ - failed
+ ListReportsJSON:
+ title: ListReportsJSON
+ type: object
+ properties:
+ reports:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/ReportParams'
+ - $ref: '#/components/schemas/GenericReportParamsJSON'
+ nextBatchPrevId:
+ type: string
+ minLength: 1
+ required:
+ - reports
+ ReportParams:
+ title: ReportParams
+ type: object
+ properties:
+ holdings:
+ type: object
+ description: Holdings report
+ properties:
+ byWallet:
+ type: boolean
+ enterprise:
+ type: string
+ description: ID of the enterprise
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ includeStaking:
+ type: boolean
+ snapshotDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ required:
+ - enterprise
+ - snapshotDate
+ transactions:
+ type: object
+ description: Transactions report
+ properties:
+ assets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ endDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ enterprise:
+ $ref: '#/components/schemas/EnterpriseIdNonEmptyString'
+ isAddressReport:
+ type: boolean
+ isDetailed:
+ type: boolean
+ startDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ wallets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ example: 59cd72485007a239fb00282ed480da1f
+ walletTypes:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ required:
+ - endDate
+ - enterprise
+ - startDate
+ quarterly:
+ type: object
+ description: Quarterly report
+ properties:
+ endDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ enterprise:
+ $ref: '#/components/schemas/EnterpriseIdNonEmptyString'
+ startDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ required:
+ - endDate
+ - enterprise
+ - startDate
+ trades:
+ type: object
+ description: Trades report
+ properties:
+ assets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ endDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ enterprise:
+ $ref: '#/components/schemas/EnterpriseIdNonEmptyString'
+ isFillsReport:
+ type: boolean
+ startDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ required:
+ - endDate
+ - enterprise
+ - startDate
+ staking:
+ type: object
+ description: Staking report
+ properties:
+ assets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ endDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ enterprise:
+ $ref: '#/components/schemas/EnterpriseIdNonEmptyString'
+ isBalanceReport:
+ type: boolean
+ startDate:
+ type: string
+ description: Date of the snapshot
+ format: date-time
+ title: ISO Date String
+ wallets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ example: 59cd72485007a239fb00282ed480da1f
+ walletTypes:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ required:
+ - endDate
+ - enterprise
+ - startDate
+ holdingsByAddress:
+ type: object
+ description: Address-level Holdings report
+ properties:
+ assets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ enterprise:
+ type: string
+ minLength: 1
+ snapshotDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ wallets:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ example: 59cd72485007a239fb00282ed480da1f
+ walletTypes:
+ type: array
+ items:
+ type: string
+ minLength: 1
+ required:
+ - enterprise
+ - snapshotDate
+ GenericReportParamsJSON:
+ title: GenericReportParamsJSON
+ type: object
+ properties:
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ type:
+ allOf:
+ - $ref: '#/components/schemas/SnowflakeReportType'
+ description: Type of report
+ format:
+ allOf:
+ - $ref: '#/components/schemas/ReportFormatType'
+ description: Format of report
+ status:
+ allOf:
+ - $ref: '#/components/schemas/ReportStatus1'
+ description: Status of report
+ createdAt:
+ type: string
+ description: Date report was created
+ format: date-time
+ title: ISO Date String
+ completedAt:
+ type: string
+ description: Date report was completed
+ format: date-time
+ title: ISO Date String
+ documentName:
+ type: string
+ description: Name of the report document
+ minLength: 1
+ user:
+ type: string
+ description: ID of the user who requested the report
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ required:
+ - id
+ - type
+ - format
+ - status
+ - createdAt
+ - user
+ SnowflakeReportType:
+ title: SnowflakeReportType
+ type: string
+ enum:
+ - holdings
+ - transactions
+ - quarterly
+ - trades
+ - staking
+ - holdingsByAddress
+ EnterpriseIdNonEmptyString:
+ title: EnterpriseIdNonEmptyString
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[0-9a-f]{32}$
+ ReportJSON:
+ title: ReportJSON
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/ReportParams'
+ - $ref: '#/components/schemas/GenericReportParamsJSON'
+ SimulateEnterpriseWebhookResponseBody:
+ title: SimulateEnterpriseWebhookResponseBody
+ type: object
+ properties:
+ webhookNotifications:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ type:
+ allOf:
+ - $ref: '#/components/schemas/WebhookType'
+ description: Event type to listen to.
+ wallet:
+ type: string
+ example: cold
+ url:
+ type: string
+ hash:
+ type: string
+ coin:
+ type: string
+ description: A cryptocurrency or token ticker symbol.
+ example: btc
+ coinChain:
+ type: string
+ transfer:
+ type: string
+ example: receive
+ state:
+ allOf:
+ - $ref: '#/components/schemas/WebhookNotificationState'
+ description: If "failed", webhook notification failed to connect with the target URL. If "new", webhook notification was newly generated, in response to an event. If "pending", webhook notification is awaiting processing by the webhook worker. If "processed", webhook notification successfully sent to target URL. If "unconfirmed", webhook notification is awaiting confirmation on the blockchain.
+ simulation:
+ type: boolean
+ retries:
+ type: number
+ webhook:
+ type: string
+ updatedAt:
+ type: string
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ nextAttempt:
+ type: string
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ version:
+ type: number
+ example: 2
+ allowBlockedHosts:
+ type: boolean
+ heightToConfirm:
+ type: number
+ payload:
+ type: string
+ response:
+ type: object
+ properties:
+ code:
+ oneOf:
+ - type: number
+ - type: string
+ type:
+ type: string
+ body:
+ type: string
+ error:
+ type: string
+ required:
+ - id
+ required:
+ - webhookNotifications
+ WebhookNotificationState:
+ title: WebhookNotificationState
+ type: string
+ enum:
+ - unconfirmed
+ - new
+ - pending
+ - processed
+ - failed
+ EnterpriseWebhookType:
+ title: EnterpriseWebhookType
+ type: string
+ enum:
+ - bankAccount
+ - accessToken
+ - policyBalanceChange
+ ListEnterpriseWebhooksResponse:
+ title: ListEnterpriseWebhooksResponse
+ type: object
+ properties:
+ webhooks:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ created:
+ type: string
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ coin:
+ type: string
+ description: A cryptocurrency or token ticker symbol.
+ example: btc
+ url:
+ type: string
+ example: https://your.server.com/webhook
+ format: uri
+ version:
+ type: number
+ description: 2 for coins running on API v2.
+ example: 2
+ scope:
+ $ref: '#/components/schemas/WebhookScope'
+ state:
+ $ref: '#/components/schemas/WebhookState'
+ successiveFailedAttempts:
+ type: number
+ example: 0
+ listenToFailureStates:
+ type: boolean
+ description: Whether or not to listen to failed transactions on chain.
+ label:
+ type: string
+ description: Label of the new webhook.
+ walletId:
+ type: string
+ enterpriseId:
+ type: string
+ organizationId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ userId:
+ type: string
+ type:
+ allOf:
+ - $ref: '#/components/schemas/WebhookType'
+ description: Event type to listen to.
+ numConfirmations:
+ type: number
+ example: 6
+ lastAttempt:
+ type: string
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ failingSince:
+ type: string
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ allToken:
+ type: boolean
+ txRequestStates:
+ type: array
+ items:
+ type: string
+ enum:
+ - pendingApproval
+ - canceled
+ - rejected
+ - initialized
+ - pendingDelivery
+ - delivered
+ - pendingUserSignature
+ - pendingUserCommitment
+ - pendingUserRShare
+ - pendingUserGShare
+ - readyToSend
+ - signed
+ - failed
+ description: If present, only transaction request state changes from the list will trigger notifications. If not present, all transaction request state changes will trigger notifications.
+ txRequestTransactionStates:
+ type: array
+ items:
+ type: string
+ enum:
+ - initialized
+ - pendingSignature
+ - eddsaPendingCommitment
+ - eddsaPendingRShare
+ - eddsaPendingGShare
+ - ecdsaMPCv2Round1
+ - ecdsaMPCv2Round2
+ - ecdsaMPCv2Round3
+ - readyToCombineShares
+ - signed
+ - held
+ - delivered
+ - invalidSignature
+ - rejected
+ description: If present, only transaction request transaction state changes from the list will trigger notifications. If not present, all transaction request transaction state changes will trigger notifications.
+ required:
+ - id
+ - created
+ - coin
+ - url
+ - version
+ - scope
+ - state
+ - successiveFailedAttempts
+ - listenToFailureStates
+ nextBatchPrevId:
+ type: string
+ required:
+ - webhooks
+ SimulateOrganizationWebhookResponseBody:
+ title: SimulateOrganizationWebhookResponseBody
+ type: object
+ properties:
+ webhookNotifications:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ type:
+ allOf:
+ - $ref: '#/components/schemas/WebhookType'
+ description: Event type to listen to.
+ wallet:
+ type: string
+ example: cold
+ url:
+ type: string
+ hash:
+ type: string
+ coin:
+ type: string
+ description: A cryptocurrency or token ticker symbol.
+ example: btc
+ coinChain:
+ type: string
+ transfer:
+ type: string
+ example: receive
+ state:
+ allOf:
+ - $ref: '#/components/schemas/WebhookNotificationState'
+ description: If "failed", webhook notification failed to connect with the target URL. If "new", webhook notification was newly generated, in response to an event. If "pending", webhook notification is awaiting processing by the webhook worker. If "processed", webhook notification successfully sent to target URL. If "unconfirmed", webhook notification is awaiting confirmation on the blockchain.
+ simulation:
+ type: boolean
+ retries:
+ type: number
+ webhook:
+ type: string
+ updatedAt:
+ type: string
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ nextAttempt:
+ type: string
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ version:
+ type: number
+ example: 2
+ allowBlockedHosts:
+ type: boolean
+ heightToConfirm:
+ type: number
+ payload:
+ type: string
+ response:
+ type: object
+ properties:
+ code:
+ oneOf:
+ - type: number
+ - type: string
+ type:
+ type: string
+ body:
+ type: string
+ error:
+ type: string
+ required:
+ - id
+ required:
+ - webhookNotifications
+ VerifiedKycState1:
+ title: VerifiedKycState
+ type: string
+ enum:
+ - approved
+ - rejected
+ - pending
+ IdentityStatusEnum:
+ title: IdentityStatusEnum
+ type: string
+ enum:
+ - created
+ - approved
+ - declined
+ - needs review
+ - input error
+ - ssn error
+ - gov id error
+ - ssn verified
+ - gov id verified
+ - enrichment
+ - awaiting document upload
+ - records uploaded
+ - in review
+ - incomplete verifications
+ - records uploaded 2
+ - awaiting signature
+ - signature submitted
+ - initiating
+ - additional information submitted
+ ListOrganizationWebhookResponseC:
+ title: ListOrganizationWebhookResponseC
+ type: object
+ properties:
+ webhooks:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ created:
+ type: string
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ coin:
+ type: string
+ description: A cryptocurrency or token ticker symbol.
+ example: btc
+ url:
+ type: string
+ example: https://your.server.com/webhook
+ format: uri
+ version:
+ type: number
+ description: 2 for coins running on API v2.
+ example: 2
+ scope:
+ $ref: '#/components/schemas/WebhookScope'
+ state:
+ $ref: '#/components/schemas/WebhookState'
+ successiveFailedAttempts:
+ type: number
+ example: 0
+ listenToFailureStates:
+ type: boolean
+ description: Whether or not to listen to failed transactions on chain.
+ label:
+ type: string
+ description: Label of the new webhook.
+ walletId:
+ type: string
+ enterpriseId:
+ type: string
+ organizationId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ userId:
+ type: string
+ type:
+ allOf:
+ - $ref: '#/components/schemas/WebhookType'
+ description: Event type to listen to.
+ numConfirmations:
+ type: number
+ example: 6
+ lastAttempt:
+ type: string
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ failingSince:
+ type: string
+ example: '2021-01-01T00:00:00.000Z'
+ format: date-time
+ title: ISO Date String
+ allToken:
+ type: boolean
+ txRequestStates:
+ type: array
+ items:
+ type: string
+ enum:
+ - pendingApproval
+ - canceled
+ - rejected
+ - initialized
+ - pendingDelivery
+ - delivered
+ - pendingUserSignature
+ - pendingUserCommitment
+ - pendingUserRShare
+ - pendingUserGShare
+ - readyToSend
+ - signed
+ - failed
+ description: If present, only transaction request state changes from the list will trigger notifications. If not present, all transaction request state changes will trigger notifications.
+ txRequestTransactionStates:
+ type: array
+ items:
+ type: string
+ enum:
+ - initialized
+ - pendingSignature
+ - eddsaPendingCommitment
+ - eddsaPendingRShare
+ - eddsaPendingGShare
+ - ecdsaMPCv2Round1
+ - ecdsaMPCv2Round2
+ - ecdsaMPCv2Round3
+ - readyToCombineShares
+ - signed
+ - held
+ - delivered
+ - invalidSignature
+ - rejected
+ description: If present, only transaction request transaction state changes from the list will trigger notifications. If not present, all transaction request transaction state changes will trigger notifications.
+ required:
+ - id
+ - created
+ - coin
+ - url
+ - version
+ - scope
+ - state
+ - successiveFailedAttempts
+ - listenToFailureStates
+ nextBatchPrevId:
+ type: string
+ required:
+ - webhooks
+ EnterprisesPaginatedResponse:
+ title: EnterprisesPaginatedResponse
+ type: object
+ properties:
+ enterprises:
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/Enterprise'
+ - $ref: '#/components/schemas/EnterpriseStub'
+ nextBatchPrevId:
+ type: string
+ description: When a result set is truncated, this field returns the id of the last object in the previous batch. To get the next batch of results, pass this value via the 'prevId' query parameter.
+ minLength: 1
+ required:
+ - enterprises
+ CreateOrganizationEnterpriseResponse:
+ title: CreateOrganizationEnterpriseResponse
+ type: object
+ properties:
+ enterpriseId:
+ $ref: '#/components/schemas/EnterpriseIdNonEmptyString'
+ userId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ minLength: 1
+ pattern: ^[a-f0-9]{32}$
+ required:
+ - enterpriseId
+ - userId
+ Key1:
+ title: Key
+ type: object
+ properties:
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ pub:
+ type: string
+ description: Public part of a key pair
+ example: xpub661MyMwAqRbcGMVhmc7wqQRYMtcX9LAvSj1pjB213y5TsrkV2uuzJjWnjBrT1FUeNWGPjaVm5p7o6jdNcQJrV1cy3a1R8NQ9m7LuYKA8RpH
+ ethAddress:
+ type: string
+ description: Ethereum address associated with this key
+ derivedFromParentWithSeed:
+ type: string
+ source:
+ allOf:
+ - $ref: '#/components/schemas/KeySourceC'
+ example: user
+ hsmType:
+ type: string
+ enum:
+ - institutional
+ - nitro
+ description: The type of HSM that owns this key.
+ example: institutional
+ isBitGo:
+ type: boolean
+ description: '"true" if this key is owned by BitGo'
+ example: false
+ encryptedPrv:
+ type: string
+ description: The encrypted private key
+ aspKeyId:
+ type: number
+ coinSpecific:
+ type: object
+ additionalProperties: {}
+ type:
+ allOf:
+ - $ref: '#/components/schemas/KeyTypeC'
+ default: independent
+ description: A value from a string enum denoting what kind of key this is. Defaults to “independent” indicating an on-chain key is requested. If set to “tss” this tells us that a “tss” key is requested.
+ example: tss
+ commonKeychain:
+ type: string
+ description: The commonKeychain for the key if this is a MPC key. This value is required to be set when the type is set to “tss” and when the source is either “user” or “backup”. Setting this indicates to BitGo that the owner of the key has received all key shares they needed for generating their key. This value is the concatenation of the common public key (32-byte) with the common chaincode (32-byte) as a hex string.
+ verifiedVssProof:
+ type: boolean
+ commonPub:
+ type: string
+ description: e common public key. This value is required to be set for BLS keys when the source is either "user" or "backup". Setting this indicates to BitGo that the owner of the key has received all key shares they needed for generating their key.
+ commonPubSig:
+ type: string
+ provider:
+ type: string
+ distributedCustody:
+ type: string
+ webauthnDevices:
+ type: array
+ items:
+ type: object
+ properties:
+ authenticatorInfo:
+ allOf:
+ - $ref: '#/components/schemas/AuthenticatorInfo'
+ description: The information about the authenticator
+ encryptedPrv:
+ type: string
+ description: The encrypted private key
+ otpDeviceId:
+ type: string
+ description: The OTP device ID
+ prfSalt:
+ type: string
+ description: The PRF salt
+ required:
+ - authenticatorInfo
+ - encryptedPrv
+ - otpDeviceId
+ - prfSalt
+ migratedFrom:
+ type: string
+ required:
+ - id
+ - pub
+ - source
+ - type
+ KeySourceC:
+ title: KeySourceC
+ type: string
+ enum:
+ - user
+ - cold
+ - bitgo
+ - backup
+ KeyTypeC:
+ title: KeyTypeC
+ type: string
+ enum:
+ - tss
+ - independent
+ - blsdkg
+ AuthenticatorInfo:
+ title: AuthenticatorInfo
+ type: object
+ properties:
+ credID:
+ type: string
+ description: The credential ID of the authenticator
+ fmt:
+ type: string
+ description: The format of the authenticator
+ publicKey:
+ type: string
+ description: The public key of the authenticator
+ required:
+ - credID
+ - fmt
+ - publicKey
+ ChallengePartyConfig:
+ title: ChallengePartyConfig
+ type: object
+ properties:
+ enterprise:
+ $ref: '#/components/schemas/TssConfigPartyChallenge'
+ bitgoNitroHsm:
+ $ref: '#/components/schemas/TssConfigPartyChallenge'
+ bitgoInstitutionalHsm:
+ $ref: '#/components/schemas/TssConfigPartyChallenge'
+ createdBy:
+ type: string
+ description: The ID of the user who created and verified the config
+ example: 5d1a3e4d2f7f9b7c0e3b7e4d2f7f9b7c
+ required:
+ - enterprise
+ - bitgoNitroHsm
+ - bitgoInstitutionalHsm
+ - createdBy
+ UpdateEnterpriseChallenge:
+ title: UpdateEnterpriseChallenge
+ type: object
+ properties:
+ ntilde:
+ type: string
+ description: Range proof challenge value.
+ minLength: 1
+ h1:
+ type: string
+ description: Range proof challenge value.
+ minLength: 1
+ h2:
+ type: string
+ description: Range proof challenge value.
+ minLength: 1
+ verifiers:
+ type: object
+ properties:
+ adminSignature:
+ type: string
+ description: The admin signature is a hex string. Users should verify that the admin signature matches for the range proof challenge.
+ minLength: 1
+ required:
+ - adminSignature
+ paillierBlumProof:
+ allOf:
+ - $ref: '#/components/schemas/PaillierBlumProof'
+ description: The paillierBlumProof value is only required when creating the initial config.
+ ntildeProof:
+ allOf:
+ - $ref: '#/components/schemas/NtildeProof'
+ description: The ntildeProof value is only required when creating the initial config.
+ required:
+ - ntilde
+ - h1
+ - h2
+ - verifiers
+ UpdateBitgoChallenge:
+ title: UpdateBitgoChallenge
+ type: object
+ properties:
+ verifiers:
+ type: object
+ properties:
+ adminSignature:
+ type: string
+ description: The admin signature is a hex string. Users should verify that the admin signature matches for the range proof challenge.
+ minLength: 1
+ required:
+ - adminSignature
+ required:
+ - verifiers
+ StartRegisterWebauthnResponse:
+ title: StartRegisterWebauthnResponse
+ allOf:
+ - type: object
+ properties:
+ excludeCredentials:
+ type: array
+ items:
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - public-key
+ id:
+ type: string
+ required:
+ - type
+ required:
+ - excludeCredentials
+ - $ref: '#/components/schemas/SignupChallenge'
+ SignupChallenge:
+ title: SignupChallenge
+ type: object
+ properties:
+ challenge:
+ type: string
+ rp:
+ type: object
+ properties:
+ name:
+ type: string
+ enum:
+ - BitGo
+ id:
+ type: string
+ required:
+ - name
+ user:
+ type: object
+ properties:
+ id:
+ type: string
+ name:
+ type: string
+ displayName:
+ type: string
+ required:
+ - id
+ - name
+ - displayName
+ attestation:
+ type: string
+ enum:
+ - direct
+ pubKeyCredParams:
+ type: array
+ items:
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - public-key
+ alg:
+ type: number
+ required:
+ - type
+ - alg
+ extensions:
+ $ref: '#/components/schemas/PrfExtension'
+ required:
+ - challenge
+ - rp
+ - user
+ - attestation
+ - pubKeyCredParams
+ - extensions
+ PrfExtension:
+ title: PrfExtension
+ type: object
+ properties:
+ prf:
+ type: object
+ properties:
+ eval:
+ type: object
+ properties:
+ first:
+ type: string
+ required:
+ - first
+ required:
+ - eval
+ StartAuthWebauthnResponse:
+ title: StartAuthWebauthnResponse
+ allOf:
+ - type: object
+ properties:
+ origin:
+ type: string
+ - $ref: '#/components/schemas/ServerGetAssertion'
+ ServerGetAssertion:
+ title: ServerGetAssertion
+ type: object
+ properties:
+ challenge:
+ type: string
+ allowCredentials:
+ type: array
+ items:
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - public-key
+ transports:
+ type: array
+ items:
+ type: string
+ id:
+ type: string
+ required:
+ - type
+ - transports
+ extensions:
+ $ref: '#/components/schemas/PrfExtension'
+ required:
+ - challenge
+ - allowCredentials
+ LoginResponse:
+ title: LoginResponse
+ type: object
+ properties:
+ access_token:
+ type: string
+ example: 9b72c68ef394f5146f0f3efc1feafb7a971752cb00e79fafcfd8c1d2db83639c
+ derivationPath:
+ type: string
+ encryptedECDHXprv:
+ type: string
+ encryptedToken:
+ type: string
+ expires_at:
+ type: number
+ description: Unix timestamp
+ example: 1534201288
+ expires_in:
+ type: number
+ noECDHKeychain:
+ type: boolean
+ scope:
+ type: array
+ example:
+ - crypto_compare
+ - user_manage
+ - openid
+ - profile
+ - wallet_create
+ - wallet_manage_all
+ - wallet_approve_all
+ - wallet_spend_all
+ - wallet_edit_all
+ - wallet_view_all
+ items:
+ type: string
+ token_type:
+ type: string
+ grant_type:
+ allOf:
+ - $ref: '#/components/schemas/GrantTypes'
+ description: Represents the login method that was used
+ user:
+ $ref: '#/components/schemas/User2'
+ warning:
+ type: string
+ required:
+ - expires_at
+ - expires_in
+ - scope
+ - token_type
+ - grant_type
+ - user
+ GrantTypes:
+ title: GrantTypes
+ type: string
+ enum:
+ - password
+ - passkey
+ - refresh_token
+ - authorization_code
+ User2:
+ title: User
+ allOf:
+ - type: object
+ properties:
+ agreements:
+ allOf:
+ - $ref: '#/components/schemas/Agreements'
+ description: The agreements the user has accepted
+ allowedCoins:
+ type: array
+ items:
+ type: string
+ description: The coins the user is allowed to use
+ bitgoEmployee:
+ type: boolean
+ description: Whether the user is a BitGo employee
+ currency:
+ allOf:
+ - $ref: '#/components/schemas/Currency1'
+ description: The user's preferred currency
+ disableReset2FA:
+ type: boolean
+ description: Whether the user has disabled 2FA reset
+ organizations:
+ type: array
+ items:
+ type: object
+ properties:
+ permissions:
+ type: array
+ items:
+ type: string
+ enum:
+ - admin
+ role:
+ $ref: '#/components/schemas/OrganizationRole'
+ id:
+ type: string
+ name:
+ type: string
+ required:
+ - permissions
+ - role
+ description: The organizations the user is a member of
+ featureFlags:
+ type: array
+ items:
+ type: string
+ description: Any feature flags the user has enabled
+ forceResetPassword:
+ type: boolean
+ description: Whether the user has forced a password reset
+ identity:
+ allOf:
+ - $ref: '#/components/schemas/Identity'
+ description: The user's identity information
+ otpDevices:
+ type: array
+ items:
+ type: object
+ properties:
+ createDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ id:
+ type: string
+ backupPhone:
+ type: string
+ label:
+ type: string
+ lastValidatedDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ phone:
+ type: string
+ registeredKey:
+ $ref: '#/components/schemas/U2FDetails'
+ type:
+ $ref: '#/components/schemas/OtpType'
+ verified:
+ type: boolean
+ scopes:
+ type: array
+ items:
+ type: string
+ enum:
+ - wallet_hot
+ extensions:
+ type: object
+ additionalProperties:
+ type: boolean
+ prfSalt:
+ type: string
+ isPasskey:
+ type: boolean
+ required:
+ - createDate
+ - id
+ description: The user's devices that can be used for OTP authentication
+ phone:
+ allOf:
+ - $ref: '#/components/schemas/Phone'
+ description: The user's phone number
+ timezone:
+ type: string
+ description: The user's timezone
+ apps: {}
+ country:
+ type: string
+ description: The country of the user
+ example: USA
+ ecdhKeychain:
+ nullable: true
+ type: string
+ description: The user's ECDH keychain
+ isActive:
+ type: boolean
+ description: Whether the user is active
+ isFrozen:
+ type: boolean
+ description: Whether the user is frozen
+ freezeReason:
+ type: string
+ description: The reason the user is frozen if they are frozen
+ example: Frozen due to suspicious activity
+ lastLogin:
+ type: string
+ description: The last login time of the user
+ format: date-time
+ title: ISO Date String
+ locale:
+ type: string
+ description: The user's locale
+ pgpKey:
+ type: string
+ description: The user's PGP key
+ rateLimits: {}
+ referrer:
+ allOf:
+ - $ref: '#/components/schemas/Referrer'
+ description: The referrer of the user
+ signupDomain:
+ type: string
+ description: The signup domain of the user
+ state:
+ type: string
+ description: The state of the user
+ example: New York
+ sourceVerificationRequired:
+ type: boolean
+ description: Whether source verification is required for the user
+ sourceVerificationRequiredForReadOnlyAccess:
+ type: boolean
+ description: Whether source verification is required for read-only access
+ recoveryCodeSet:
+ type: object
+ description: The recovery code set for the user
+ properties:
+ id:
+ type: string
+ description: The ID of the recovery code set
+ allCodesUsed:
+ type: boolean
+ description: Whether all recovery codes have been used
+ required:
+ - id
+ - allCodesUsed
+ required:
+ - agreements
+ - allowedCoins
+ - bitgoEmployee
+ - currency
+ - disableReset2FA
+ - organizations
+ - featureFlags
+ - forceResetPassword
+ - identity
+ - otpDevices
+ - phone
+ - timezone
+ - $ref: '#/components/schemas/UserRequiredFields'
+ UserRequiredFields:
+ title: UserRequiredFields
+ type: object
+ description: Fields that will always be populated in accordance with the defined codec If you find other fields that will provably always be populated on a given user (even for legacy users created long ago), that field can be moved to UserRequiredFields
+ properties:
+ id:
+ type: string
+ description: The unique identifier for the user
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ username:
+ type: string
+ description: The username of the user
+ example: user@email.com
+ format: email
+ name:
+ allOf:
+ - $ref: '#/components/schemas/Name1'
+ description: The name of the user
+ enterprises:
+ type: array
+ items:
+ type: object
+ properties:
+ permissions:
+ type: array
+ items:
+ type: string
+ id:
+ type: string
+ beneficialOwner:
+ type: boolean
+ primaryContact:
+ type: string
+ kycState:
+ $ref: '#/components/schemas/KycState'
+ bitgoOrg:
+ type: string
+ name:
+ type: string
+ required:
+ - permissions
+ description: The enterprise(s) the user is a member of
+ email:
+ allOf:
+ - $ref: '#/components/schemas/Email1'
+ description: The email address of the user
+ required:
+ - id
+ - username
+ - name
+ - enterprises
+ - email
+ Agreements:
+ title: Agreements
+ type: object
+ properties:
+ patriotAct:
+ type: number
+ termsOfUse:
+ type: number
+ patriotActAcceptanceDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ termsOfUseAcceptanceDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - patriotAct
+ - termsOfUse
+ Currency1:
+ title: Currency
+ type: object
+ properties:
+ bitcoinUnit:
+ type: string
+ currency:
+ type: string
+ required:
+ - bitcoinUnit
+ - currency
+ Identity:
+ title: Identity
+ type: object
+ properties:
+ kyc:
+ $ref: '#/components/schemas/Kyc'
+ verified:
+ type: boolean
+ description: Whether the user is verified
+ U2FDetails:
+ title: U2FDetails
+ type: object
+ properties:
+ certificate:
+ type: string
+ keyHandle:
+ type: string
+ publicKey:
+ type: string
+ OtpType:
+ title: OtpType
+ type: string
+ enum:
+ - authy
+ - totp
+ - u2f
+ - webauthn
+ - yubikey
+ Phone:
+ title: Phone
+ type: object
+ properties:
+ phone:
+ nullable: true
+ type: string
+ example: 408-718-6885
+ verified:
+ type: boolean
+ example: true
+ required:
+ - phone
+ - verified
+ Referrer:
+ title: Referrer
+ type: object
+ properties:
+ campaign:
+ nullable: true
+ type: string
+ source:
+ nullable: true
+ type: string
+ Kyc:
+ title: Kyc
+ type: object
+ properties:
+ available:
+ type: boolean
+ required:
+ type: boolean
+ data:
+ $ref: '#/components/schemas/KycData'
+ documents:
+ $ref: '#/components/schemas/KycDocuments'
+ failureCount:
+ type: number
+ fullyRequired:
+ type: boolean
+ hasVideoID:
+ type: boolean
+ overallState:
+ $ref: '#/components/schemas/UserKycState1'
+ passport:
+ $ref: '#/components/schemas/KycPassport'
+ residency:
+ $ref: '#/components/schemas/KycResidency'
+ isScreeningRequired:
+ type: boolean
+ documentsWaived:
+ type: boolean
+ enterpriseVideoCallInfo:
+ type: array
+ items:
+ type: object
+ properties:
+ enterpriseId:
+ type: string
+ videoCallId:
+ type: string
+ required:
+ - enterpriseId
+ - videoCallId
+ required:
+ - available
+ - required
+ KycData:
+ title: KycData
+ type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/UserKycState1'
+ fields:
+ nullable: true
+ type: object
+ additionalProperties: {}
+ required:
+ - state
+ KycDocuments:
+ title: KycDocuments
+ type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/UserKycState1'
+ required:
+ - state
+ UserKycState1:
+ title: UserKycState
+ type: string
+ enum:
+ - unverified
+ - pending
+ - approved
+ - rejected
+ - qrscanned
+ - inreview
+ - flagged
+ - flagged_retry_allowed
+ KycPassport:
+ title: KycPassport
+ type: object
+ properties:
+ required:
+ type: boolean
+ state:
+ $ref: '#/components/schemas/UserKycState1'
+ required:
+ - required
+ KycResidency:
+ title: KycResidency
+ type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/UserKycState1'
+ required:
+ - state
+ Name1:
+ title: Name
+ type: object
+ properties:
+ first:
+ type: string
+ example: Jane
+ full:
+ type: string
+ example: Jane Doe
+ last:
+ type: string
+ example: Doe
+ required:
+ - first
+ - full
+ - last
+ Email1:
+ title: Email
+ type: object
+ properties:
+ email:
+ type: string
+ example: user@email.com
+ format: email
+ verified:
+ type: boolean
+ example: true
+ required:
+ - email
+ - verified
+ EcdsaConfig:
+ title: EcdsaConfig
+ type: object
+ properties:
+ challenge:
+ $ref: '#/components/schemas/ChallengePartyConfig'
+ required:
+ - challenge
+ ChallengeWithNtildeProof:
+ title: ChallengeWithNtildeProof
+ allOf:
+ - type: object
+ properties:
+ ntildeProof:
+ $ref: '#/components/schemas/NtildeProof'
+ required:
+ - ntildeProof
+ - $ref: '#/components/schemas/Challenge'
+ GetEnterpriseUserSigningKeyResponse:
+ title: GetEnterpriseUserSigningKeyResponse
+ type: object
+ properties:
+ userId:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ userEmail:
+ type: string
+ example: user@email.com
+ format: email
+ derivedPubkey:
+ type: string
+ description: The derived public key of the user.
+ example: 0205f47704d137205ba32560e01ed182428c758760d9a05ae58cf2f66069f5d717
+ derivationPath:
+ nullable: true
+ type: string
+ description: The derivation path used to derive derivedPubkey. Returned only if you're fetching your own signing key.
+ example: m/999999/51550848/191290384
+ ecdhKeychain:
+ nullable: true
+ type: string
+ description: The bip32 public key that you can use to fetch a v1 keychain. Returned only if you're fetching your own signing key.
+ example: xpub661MyMwAqRbcFm7W87Qcns2ybFoSHsHEkGzNQj1KhPeLNUtV7KKiQvtLVLwPpWFaohqXrCBqCit9sM6G5kmtZHaJYSvMC65ge9HATFShe1S
+ required:
+ - userId
+ - userEmail
+ - derivedPubkey
+ TssConfig:
+ title: TssConfig
+ type: object
+ properties:
+ enterpriseId:
+ type: string
+ description: The enterprise ID
+ example: 5d1a61a5c30ae10025f9b2b3
+ ecdsa:
+ $ref: '#/components/schemas/EcdsaConfig'
+ required:
+ - enterpriseId
+ - ecdsa
+ ListAuditLogsResponse:
+ title: ListAuditLogsResponse
+ type: object
+ properties:
+ logs:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ type:
+ $ref: '#/components/schemas/AuditLogType1'
+ ip:
+ type: string
+ description: The client IP that caused the AuditLog entry to be written
+ example: 127.0.0.1
+ format: ipv4
+ user:
+ type: string
+ description: The user that caused the AuditLog entry to be written
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ requestId:
+ type: string
+ walletId:
+ $ref: '#/components/schemas/WalletIdString'
+ enterpriseId:
+ $ref: '#/components/schemas/EnterpriseIdString'
+ organizationId:
+ $ref: '#/components/schemas/OrganizationIdString'
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ data: {}
+ date:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - id
+ - type
+ description: The audit logs
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ nextBatchPrevId:
+ type: string
+ description: When a result set is truncated, this field returns the id of the last object in the previous batch. To get the next batch of results, pass this value via the 'prevId' query parameter.
+ example: 59cd72485007a239fb00282ed480da1f
+ required:
+ - logs
+ AuditLogType1:
+ title: AuditLogType
+ type: string
+ enum:
+ - createTransaction
+ - approveTransaction
+ - rejectTransaction
+ - bitgoSigned
+ - addPolicy
+ - addPolicyServicePolicy
+ - addPolicyServiceSettlement
+ - changePolicy
+ - changePolicyServicePolicy
+ - removePolicy
+ - removePolicyServicePolicy
+ - approvePolicy
+ - approvePolicyServicePolicy
+ - approvePolicyServiceSettlement
+ - rejectPolicy
+ - rejectPolicyServicePolicy
+ - rejectPolicyServiceSettlement
+ - policyUpdated
+ - policyServicePolicyUpdated
+ - updatePolicyMutability
+ - freezeUser
+ - adminFreezeUser
+ - addUser
+ - removeUser
+ - shareUser
+ - shareUserAccept
+ - shareUserCancel
+ - shareUserDecline
+ - approveUser
+ - rejectUser
+ - userSignup
+ - userLogin
+ - userFailedLogin
+ - oAuthAuthorize
+ - userSourceVerified
+ - userSettingsChange
+ - userPasswordChange
+ - userPasswordReset
+ - user2FARemove
+ - user2FAAdd
+ - adminUnblockUserEmail
+ - adminUpdateUserActive
+ - adminResetUserOTP
+ - adminSetFeatureFlagsForUser
+ - adminAllowCoinForUser
+ - adminModifyRateLimit
+ - createWallet
+ - removeWallet
+ - freezeWallet
+ - unfreezeWallet
+ - deleteWallet
+ - undeleteWallet
+ - renameWallet
+ - redeployWallet
+ - updateWalletV1
+ - updateWalletType
+ - fixWalletType
+ - addWalletUser
+ - removeWalletUser
+ - initializeWallet
+ - updateWalletCoinSpecific
+ - adminAddCustomNodeForWallet
+ - deleteCustomNodeForWallet
+ - recoverNonKRSWallet
+ - cloneCustodialWallet
+ - addWalletFlag
+ - deleteWalletFlag
+ - updateWalletFlag
+ - addWebhook
+ - adminAddWebhook
+ - removeWebhook
+ - getWebhookSecret
+ - createWebhookSecret
+ - updateNotificationSettings
+ - labelAddress
+ - unlabelAddress
+ - updateComment
+ - createSendLabel
+ - updateSendLabel
+ - deleteSendLabel
+ - updateTag
+ - updateApprovalsRequired
+ - createEnterprise
+ - starterSignupCreateEnterprise
+ - institutionalSignupCreateEnterprise
+ - updateEnterpriseUser
+ - approveEnterpriseUser
+ - rejectEnterpriseUser
+ - freezeEnterprise
+ - adminRenameEnterprise
+ - createAccessToken
+ - modifyAccessToken
+ - deleteAccessToken
+ - adminUpdateAccessToken
+ - createBankAccount
+ - updateBankAccount
+ - adminUpdateBankAccount
+ - removeBankAccount
+ - createPasswordReset
+ - deletePasswordReset
+ - adminUpdatePasswordReset
+ - adminAddCustomNode
+ - deleteCustomNode
+ - removeVideoId
+ - externalWithdrawalDetected
+ - adminUpdateKycState
+ - updateKycState
+ - updateEnterprise
+ - approveOrganizationUser
+ - rejectOrganizationUser
+ - bulkCreateOfcWallet
+ - upsertRecoveryCodes
+ - viewRecoveryCodes
+ - createReset2FA
+ - verifyReset2FA
+ - completeReset2FA
+ - retrofitToMPCv2
+ - adminInternalTokenCreate
+ - adminInternalUnverifiedEmailStateReset
+ - routedTransactionCreate
+ - routedTransactionUpdate
+ - routedTransactionRead
+ - routedTransactionNoop
+ - transactionRouteCreate
+ - transactionRouteSignature
+ - transactionRouteDeactivate
+ - bitgoAdminRolesUpdate
+ - bitgoAdminRolesDelete
+ - resetWebhookNotifications
+ - makeUnspentReservation
+ - removeUnspentReservation
+ - createCustodialKey
+ - deleteCustodialKey
+ - createNonceAccounts
+ - validateReorg
+ - adminCreateQuery
+ - adminUpdateQuery
+ - adminRunQuery
+ - activateMultisigSafeMode
+ - activateMultisigSafeModeMultiple
+ - updatePricingPlan
+ - addPricingPlan
+ - createBillingTask
+ - handleLightningRPC
+ - addUserSignatureShare
+ - removeUserSignatureShare
+ - updateWalletSendQ
+ - fixMissingEnterpriseIdsOnTransactions
+ - fixSendAccountingOnTransfers
+ - syncMigratedKeys
+ - fixDuplicateWalletTxs
+ - fixMissingWalletTxs
+ - updateSendQTx
+ - releaseTxHold
+ - createVASP
+ - mergeVASP
+ - updateVASP
+ - cosignRecoveryTransaction
+ - cosignTokenRecovery
+ - flushTokenBalances
+ - flushCoinBalances
+ - adminRedeployAddress
+ - getUndeployedForwarders
+ - changeNonceForTx
+ - setNonceForWallet
+ - changeGasPriceForTx
+ - makeEmptyTransaction
+ - initializeAddress
+ - updateSendQItem
+ - removeSendQItem
+ - postAdminEvent
+ - adminCreateProduct
+ - adminUpdateProduct
+ - adminMergeDuplicateAddresses
+ - backfillEnterpriseCoinSpecific
+ - approveGeneric
+ - rejectGeneric
+ AvaxcTxSubdocument:
+ title: Avaxc
+ allOf:
+ - type: object
+ properties:
+ crossChainType:
+ type: string
+ parentTxid:
+ type: string
+ - $ref: '#/components/schemas/EthereumTx'
+ UtxoSendQueue:
+ title: Utxo
+ allOf:
+ - type: object
+ properties: {}
+ - $ref: '#/components/schemas/BitcoinSendQueueLighting'
+ - $ref: '#/components/schemas/UtxoSendQueueOnchain'
+ EthereumTx:
+ title: Ethereum
+ type: object
+ properties:
+ addressInitialization:
+ type: boolean
+ nonce:
+ type: number
+ feeAddress:
+ type: string
+ token:
+ type: string
+ eth2ValidatorKey:
+ type: string
+ isMev:
+ type: boolean
+ eth2WithdrawalCommitment:
+ type: string
+ flushForwarderTokens:
+ type: boolean
+ gas:
+ type: number
+ gasPrice:
+ type: number
+ eip1559:
+ $ref: '#/components/schemas/Eip1559'
+ hopTxid:
+ type: string
+ walletInitialization:
+ type: boolean
+ custodianTransactionId:
+ type: string
+ contractSequenceId:
+ type: number
+ Eip1559:
+ title: Eip1559
+ type: object
+ properties:
+ maxPriorityFeePerGas:
+ allOf:
+ - $ref: '#/components/schemas/NumberLike'
+ description: Max priority tip price for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ maxFeePerGas:
+ allOf:
+ - $ref: '#/components/schemas/NumberLike'
+ description: Max total gasPrice for EIP1559 transactions. Only for ETH and ERC20 tokens.
+ required:
+ - maxPriorityFeePerGas
+ - maxFeePerGas
+ BitcoinSendQueueLighting:
+ title: Bitcoin
+ oneOf:
+ - type: object
+ properties:
+ feeLimit:
+ type: number
+ invoice:
+ type: string
+ lightning:
+ type: boolean
+ enum:
+ - true
+ required:
+ - feeLimit
+ - invoice
+ - lightning
+ - type: object
+ properties:
+ lightning:
+ type: boolean
+ enum:
+ - true
+ withdrawalDestination:
+ type: string
+ required:
+ - lightning
+ - withdrawalDestination
+ UtxoSendQueueOnchain:
+ title: Utxo
+ allOf:
+ - type: object
+ properties:
+ changeAddressType:
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
+ - type: object
+ additionalProperties: {}
+ Organization:
+ title: Organization
+ allOf:
+ - type: object
+ properties:
+ id:
+ type: string
+ description: The organization ID
+ required:
+ - id
+ - $ref: '#/components/schemas/OrganizationMutableParameters'
+ OrganizationMutableParameters:
+ title: OrganizationMutableParameters
+ type: object
+ properties:
+ name:
+ type: string
+ description: The name of the organization
+ pricingPlan:
+ nullable: true
+ oneOf:
+ - type: string
+ - type: string
+ enum:
+ - ''
+ description: The pricing plan for the organization
+ enterpriseNameSuffix:
+ nullable: true
+ oneOf:
+ - type: string
+ - type: string
+ enum:
+ - ''
+ description: The suffix for the enterprise name
+ salesforceAccountId:
+ type: string
+ description: The Salesforce account ID
+ enterprises:
+ type: array
+ items:
+ type: string
+ description: The list of enterprises associated with the organization
+ defaultEnterpriseValues:
+ allOf:
+ - $ref: '#/components/schemas/OrganizationDefaultEnterpriseValue'
+ description: The default values for the enterprise
+ approvedVideoIdUsers:
+ type: array
+ items:
+ type: string
+ description: The list of approved users for video ID
+ defaultOrgEnterpriseTemplateId:
+ type: string
+ OrganizationDefaultEnterpriseValue:
+ title: OrganizationDefaultEnterpriseValue
+ type: object
+ properties:
+ bitgoOrg:
+ nullable: true
+ allOf:
+ - $ref: '#/components/schemas/BitgoOrg'
+ licenses:
+ type: array
+ items:
+ type: string
+ enum:
+ - bitgoNetwork
+ - marginTrading
+ - metaMaskInstitutional
+ - mtGox
+ - portfolioAPI
+ - portfolioBasic
+ - portfolioProfessional
+ - portfolioInstitutional
+ - tax
+ - tradeAPI
+ - staking
+ - stakingApi
+ - cryptoCompare
+ - elliptic
+ - instantFeeHotWallet
+ - bitgoTrustAsKrs
+ - escrow
+ - distributedCustodyWallet
+ labels:
+ type: array
+ items:
+ type: string
+ enum:
+ - B2B2C - Swan
+ - B2B2C - Binance
+ - B2B2C - Fold
+ - Sofi
+ - Mt Gox
+ - Bitcoin Builder
+ - Employee
+ - General
+ - B2B2C
+ - B2B2B - Keyrails
+ - B2B2B - Onramp
+ - B2B2C - Onramp
+ - starterAccount
+ usersViewAllWallets:
+ nullable: true
+ type: boolean
+ videoIdWaived:
+ nullable: true
+ type: boolean
+ pricingPlan:
+ nullable: true
+ oneOf:
+ - type: string
+ - type: string
+ enum:
+ - ''
+ upfrontPaymentStatus:
+ nullable: true
+ allOf:
+ - $ref: '#/components/schemas/UpfrontPaymentStatus'
+ accountType:
+ nullable: true
+ allOf:
+ - $ref: '#/components/schemas/AccountType'
+ pricingType:
+ nullable: true
+ oneOf:
+ - $ref: '#/components/schemas/PricingTypeName'
+ - type: string
+ enum:
+ - ''
+ businessModel:
+ nullable: true
+ allOf:
+ - $ref: '#/components/schemas/BusinessModel'
+ featureFlags:
+ type: array
+ items:
+ type: string
+ enum:
+ - adaBYOValidator
+ - adaPledging
+ - adaStaking
+ - atomStaking
+ - avaxcAlwaysUseHop
+ - avaxpStaking
+ - avaxpBYOValidator
+ - bscStaking
+ - bscBYOValidator
+ - cosmosBYOValidator
+ - reactOnly
+ - useEddsaCommitment
+ - enableBG23
+ - bitgoNetwork
+ - btcHSMv3
+ - ecdsaTssColdWallets
+ - eddsaTssColdWallets
+ - enableMMI
+ - ethHSMv3
+ - nftWallets
+ - checkPendingBalanceOnBuild
+ - enableEcdsaWallets
+ - enableTendermintHotWallets
+ - enableMpcEvmCustody
+ - enableMpcEvmHot
+ - ethBatchStaking
+ - enableConcurrentGg18Evm
+ - specialVideoInstructions
+ - csprStaking
+ - stxStaking
+ - tssCustodial
+ - blockTransactionIfPending
+ - mystenEmployee
+ - mystenInvestor
+ - monthlyTrustReports
+ - nitroHSM
+ - unspentsConsolidation
+ - newPolicyServiceShadowMode
+ - useEnterpriseEcdsaTssChallenge
+ - clearingSettlementUI
+ - snowflakeReports
+ - multiAssetDVP
+ - solStakingAuthorize
+ - suiCustomTx
+ - csprBYOValidator
+ - suiBYOValidator
+ - stxBYOValidator
+ - tonBYOValidator
+ - btcBYOValidator
+ - btcStaking
+ - tonStaking
+ - useEcdsaTssPaillierBlum
+ - useEcdsaTssPhase5
+ - allowBackupKeySigning
+ - useCustomValidators
+ - sendTxRequestFullNotification
+ - addressBookRevised
+ - enableEnterprisePolicy
+ - bgUILargeEnterprise
+ - enableDurableNonce
+ - automateGoAccountActivation
+ - showUnstableOesPartners
+ - stakingReports
+ - cosmosClaimRewards
+ - cosmosSwitchValidator
+ - enablePlaid
+ - enableMPCv2
+ - useWireWithdrawalConfirmAPI
+ - hasUserManagementAccess
+ - disableDurableNonce
+ - allowExternalChangeAddressUI
+ - eigenStaking
+ - eigenBYOValidator
+ - eigenLikeClaimRewards
+ - enableRiskScoring
+ - useValidatorList
+ - ethRestaking
+ - ethClaimRewards
+ - enableKycReverification
+ - disableGlobalRules
+ - fetchAdaBalanceFromIndexer
+ - polStaking
+ - enableTrxFundingFromGasTank
+ - ethUnstakingPolicyService
+ - bulkTx
+ - eth2Staking
+ - nearStaking
+ - solStaking
+ - dotStaking
+ - maticStaking
+ - suiStaking
+ - wctStaking
+ - tokenization
+ - globalTravelRule
+ - addressReports
+ - enableMarginV2
+ - enableMarginV2UI
+ - mpcV2ReceiveAddress
+ - enableUSDS
+ - shouldCreateGoAccountAsynchronously
+ distributedCustody:
+ $ref: '#/components/schemas/DistributedCustody'
+ UpfrontPaymentStatus:
+ title: UpfrontPaymentStatus
+ type: string
+ enum:
+ - received
+ - waived
+ - pending
+ - overdue
+ - delinquent
+ AdminEnterpriseJSON:
+ title: AdminEnterpriseJSON
+ allOf:
+ - type: object
+ properties:
+ billableUserCount:
+ type: number
+ description: Number of billable users
+ billableUsers:
+ type: array
+ maxItems: 500
+ items:
+ type: object
+ properties:
+ username:
+ type: string
+ required:
+ - username
+ description: Billable users on the enterprise
+ incomplete:
+ type: boolean
+ description: True, if the enterprise has more than 500 users
+ members:
+ type: array
+ maxItems: 500
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ description: The unique identifier for the user
+ username:
+ type: string
+ description: The username of the user
+ email:
+ allOf:
+ - $ref: '#/components/schemas/Email1'
+ description: The email address of the user
+ firstName:
+ type: string
+ description: The first name of the user
+ isActive:
+ type: boolean
+ description: Indicates if the user is active
+ lastName:
+ type: string
+ description: The last name of the user
+ verified:
+ type: boolean
+ description: Indicates if the user is verified
+ identity:
+ type: object
+ properties:
+ kyc:
+ type: object
+ properties:
+ hasVideoID:
+ type: boolean
+ description: Indicates if the user has completed video ID verification
+ overallState:
+ type: string
+ description: The overall state of KYC verification
+ required:
+ type: boolean
+ description: Indicates if KYC is required
+ required:
+ - id
+ - username
+ description: Enterprise members (users without admin privileges)
+ owners:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ description: The unique identifier for the user
+ username:
+ type: string
+ description: The username of the user
+ email:
+ allOf:
+ - $ref: '#/components/schemas/Email1'
+ description: The email address of the user
+ firstName:
+ type: string
+ description: The first name of the user
+ isActive:
+ type: boolean
+ description: Indicates if the user is active
+ lastName:
+ type: string
+ description: The last name of the user
+ verified:
+ type: boolean
+ description: Indicates if the user is verified
+ identity:
+ type: object
+ properties:
+ kyc:
+ type: object
+ properties:
+ hasVideoID:
+ type: boolean
+ description: Indicates if the user has completed video ID verification
+ overallState:
+ type: string
+ description: The overall state of KYC verification
+ required:
+ type: boolean
+ description: Indicates if KYC is required
+ required:
+ - id
+ - username
+ description: Enterprise owners (users with admin privileges)
+ primaryContactEmail:
+ type: string
+ hasOfc:
+ type: boolean
+ admin:
+ type: object
+ properties:
+ policy:
+ oneOf:
+ - $ref: '#/components/schemas/Policy'
+ - type: object
+ additionalProperties: {}
+ organization:
+ allOf:
+ - $ref: '#/components/schemas/Organization'
+ description: The parent organization (customer) to which the enterprise belongs
+ distributedCustody:
+ $ref: '#/components/schemas/DistributedCustody'
+ labels:
+ type: array
+ items:
+ type: string
+ required:
+ - billableUserCount
+ - billableUsers
+ - incomplete
+ - members
+ - owners
+ - primaryContactEmail
+ - hasOfc
+ - $ref: '#/components/schemas/Enterprise'
+ PostAuditLogInternalResponse:
+ allOf:
+ - title: PostAuditLogInternalResponse
+ - $ref: '#/components/schemas/AuditLog1'
+ AuditLog1:
+ title: AuditLog
+ type: object
+ properties:
+ id:
+ type: string
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ type:
+ $ref: '#/components/schemas/AuditLogType1'
+ ip:
+ type: string
+ description: The client IP that caused the AuditLog entry to be written
+ example: 127.0.0.1
+ format: ipv4
+ user:
+ type: string
+ description: The user that caused the AuditLog entry to be written
+ example: 59cd72485007a239fb00282ed480da1f
+ pattern: ^[0-9a-f]{32}$
+ requestId:
+ type: string
+ walletId:
+ $ref: '#/components/schemas/WalletIdString'
+ enterpriseId:
+ $ref: '#/components/schemas/EnterpriseIdString'
+ organizationId:
+ $ref: '#/components/schemas/OrganizationIdString'
+ coin:
+ $ref: '#/components/schemas/CoinString'
+ data: {}
+ date:
+ type: string
+ format: date-time
+ title: ISO Date String
+ required:
+ - id
+ - type
+ UserAdmin:
+ title: UserAdmin
+ allOf:
+ - type: object
+ properties:
+ bitgoAdminRoles:
+ type: array
+ items:
+ type: string
+ description: The roles the user has in BitGo Admin
+ identity:
+ allOf:
+ - type: object
+ properties:
+ kyc:
+ allOf:
+ - type: object
+ properties:
+ videoID:
+ $ref: '#/components/schemas/UserVideoId'
+ enterpriseVideoIds:
+ type: array
+ items:
+ type: object
+ properties:
+ videoLink:
+ type: string
+ description: The video link
+ videoDate:
+ type: string
+ description: The date the video was created
+ format: date-time
+ title: ISO Date String
+ enterpriseId:
+ type: string
+ description: The enterprise ID
+ label:
+ type: string
+ videoCallId:
+ type: string
+ description: The video call ID
+ description: The enterprise video IDs for the user
+ organizationVideoIds:
+ type: array
+ items:
+ type: object
+ properties:
+ videoLink:
+ type: string
+ videoDate:
+ type: string
+ format: date-time
+ title: ISO Date String
+ organizationId:
+ type: string
+ label:
+ type: string
+ required:
+ - videoLink
+ - videoDate
+ - organizationId
+ description: The organization video IDs for the user
+ - $ref: '#/components/schemas/Kyc'
+ required:
+ - kyc
+ - $ref: '#/components/schemas/Identity'
+ pricingPlan:
+ type: string
+ description: The pricing plan the user is on
+ required:
+ - bitgoAdminRoles
+ - identity
+ - $ref: '#/components/schemas/User2'
+ UserVideoId:
+ title: UserVideoId
+ type: object
+ properties:
+ videoLink:
+ type: string
+ description: The video link
+ videoDate:
+ type: string
+ description: The date the video was created
+ format: date-time
+ title: ISO Date String
+ enterpriseId:
+ type: string
+ description: The enterprise ID
+ label:
+ type: string
+ videoCallId:
+ type: string
+ description: The video call ID
+ UpdateTransferResponse:
+ allOf:
+ - title: UpdateTransferResponse
+ - $ref: '#/components/schemas/Transfer1'
+ GetStatementDocumentResponse:
+ allOf:
+ - title: GetStatementDocumentResponse
+ - $ref: '#/components/schemas/StatementDocumentJSON'
+ StatementDocumentJSON:
+ title: StatementDocumentJSON
+ type: object
+ properties:
+ data:
+ type: string
+ description: The document data
+ minLength: 1
+ fileType:
+ allOf:
+ - $ref: '#/components/schemas/ReportFormatType'
+ description: The type of the document
+ required:
+ - data
+ - fileType
+ AdminOrganizationJSON:
+ title: AdminOrganizationJSON
+ allOf:
+ - type: object
+ properties:
+ admins:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ description: The unique identifier for the user
+ username:
+ type: string
+ description: The username of the user
+ email:
+ allOf:
+ - $ref: '#/components/schemas/Email1'
+ description: The email address of the user
+ firstName:
+ type: string
+ description: The first name of the user
+ isActive:
+ type: boolean
+ description: Indicates if the user is active
+ lastName:
+ type: string
+ description: The last name of the user
+ verified:
+ type: boolean
+ description: Indicates if the user is verified
+ identity:
+ type: object
+ properties:
+ kyc:
+ type: object
+ properties:
+ hasVideoID:
+ type: boolean
+ description: Indicates if the user has completed video ID verification
+ overallState:
+ type: string
+ description: The overall state of KYC verification
+ required:
+ type: boolean
+ description: Indicates if KYC is required
+ required:
+ - id
+ - username
+ description: The organization admins
+ required:
+ - admins
+ - $ref: '#/components/schemas/OrganizationWithDecoratedEnterprises'
+ OrganizationWithDecoratedEnterprises:
+ title: OrganizationWithDecoratedEnterprises
+ allOf:
+ - type: object
+ properties:
+ decoratedEnterprises:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ description: The enterprise name
+ id:
+ type: string
+ description: The enterprise ID
+ required:
+ - name
+ - id
+ - $ref: '#/components/schemas/Organization'
+ AddressPublic:
+ title: AddressPublic
+ type: object
+ description: Public-safe API contract for address, not the business object
+ properties:
+ coin:
+ type: string
+ label:
+ type: string
+ transactionRouteId:
+ type: string
+ title: uuid
+ externalTransactionRouteId:
+ type: string
+ title: uuid
+ address:
+ type: string
+ userWallet:
+ type: string
+ required:
+ - coin
+ - label
+ RoutedAddressPublic:
+ title: RoutedAddressPublic
+ allOf:
+ - type: object
+ properties:
+ externalTransactionRouteId:
+ type: string
+ title: uuid
+ transactionRoute:
+ $ref: '#/components/schemas/WDTransactionRoutePublic'
+ required:
+ - externalTransactionRouteId
+ - transactionRoute
+ - $ref: '#/components/schemas/AddressPublic'
+ description: API contract for address with route, not the business object do not expose internal sequential address identifier
+ WDTransactionRoutePublic:
+ title: WDTransactionRoutePublic
+ allOf:
+ - type: object
+ properties:
+ externalTransactionRouteId:
+ type: string
+ title: uuid
+ required:
+ - externalTransactionRouteId
+ - $ref: '#/components/schemas/TransactionRoute'
+ - $ref: '#/components/schemas/WDTransactionRouteSupported'
+ description: Public-safe API contract for WD's stored version of transaction routes do not expose internal sequential address identifier only expose external transaction route id to avoid confusion
+ WDTransactionRouteSupported:
+ title: WDTransactionRouteSupported
+ oneOf:
+ - $ref: '#/components/schemas/WDTransactionRouteSupportedAutoLiquidation'
+ - $ref: '#/components/schemas/WDTransactionRouteSupportedFinancing'
+ WDTransactionRouteSupportedAutoLiquidation:
+ title: WDTransactionRouteSupportedAutoLiquidation
+ type: object
+ description: Narrowing for use with TransactionRoute for WD supported routing
+ properties:
+ rtType:
+ type: string
+ enum:
+ - RT_AUTO_LIQUIDATION
+ data:
+ $ref: '#/components/schemas/RouteMetadataAutoLiquidation'
+ enterpriseId:
+ type: string
+ minLength: 1
+ walletId:
+ type: string
+ minLength: 1
+ ownerUserId:
+ type: string
+ minLength: 1
+ required:
+ - rtType
+ - data
+ - enterpriseId
+ - walletId
+ - ownerUserId
+ WDTransactionRouteSupportedFinancing:
+ title: WDTransactionRouteSupportedFinancing
+ type: object
+ properties:
+ rtType:
+ type: string
+ enum:
+ - RT_FINANCING
+ data:
+ $ref: '#/components/schemas/RouteMetadataFinancing'
+ enterpriseId:
+ type: string
+ minLength: 1
+ walletId:
+ type: string
+ minLength: 1
+ ownerUserId:
+ type: string
+ minLength: 1
+ required:
+ - rtType
+ - data
+ - enterpriseId
+ - walletId
+ - ownerUserId
+ parameters:
+ Base:
+ name: base
+ in: query
+ required: true
+ description: The asset or currency to compare to the quote asset or currency (case insensitive).
+ example: btc
+ schema:
+ type: string
+ End:
+ name: end
+ in: query
+ required: false
+ description: End time for the pricing data range. If not provided, defaults to the current time.
+ schema:
+ type: string
+ format: date-time
+ example: '2019-05-02T15:27:35.773Z'
+ Interval:
+ name: interval
+ in: query
+ required: true
+ description: Unit of time.
+ example: hour
+ schema:
+ type: string
+ enum:
+ - minute
+ - hour
+ - day
+ Quote:
+ name: quote
+ in: query
+ required: true
+ description: The asset or currency to compare to the base asset or currency (case insensitive).
+ example: eth
+ schema:
+ type: string
+ Start:
+ name: start
+ in: query
+ required: false
+ description: Start time for the pricing data range. If not provided, defaults to 1 interval before to the current time.
+ schema:
+ type: string
+ format: date-time
+ example: '2019-05-02T15:27:35.773Z'
+ address:
+ name: address
+ in: query
+ description: Filter by address string
+ schema:
+ $ref: '#/components/schemas/AddressString3'
+ coin:
+ name: coin
+ in: query
+ description: Filter by coin
+ schema:
+ $ref: '#/components/schemas/Coin'
+ coinArray:
+ name: coin
+ in: query
+ description: Filter by coin
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Coin'
+ coinSingleOrList:
+ name: coin
+ in: query
+ description: Filter by coin(s)
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Coin'
+ pathId:
+ name: id
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/Id'
+ pathBankAccountId:
+ name: bankAccountId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/BankAccountId'
+ pathApprovalId:
+ name: approvalId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/Id'
+ pathShareId:
+ name: shareId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/Id'
+ pathWalletId:
+ name: walletId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/Id'
+ pathEnterpriseId:
+ name: enterpriseId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/Id'
+ queryIdArray:
+ name: id
+ in: query
+ description: Filter by ID.
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Id'
+ queryEnterpriseArray:
+ name: enterprise
+ in: query
+ description: Filter by enterprise.
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Id'
+ pathUserId:
+ name: userId
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/Id'
+ pathTransferId:
+ name: transferId
+ in: path
+ required: true
+ description: a transfer or transaction id
+ example: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a5 or 585951a5df8380e0e3063e9f12345678
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/Id'
+ - $ref: '#/components/schemas/TxId'
+ pathSequenceId:
+ name: sequenceId
+ in: path
+ required: true
+ schema:
+ type: string
+ description: |
+ A 'sequenceId' is a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With a 'sequenceId' you can easily reference transfers and transactions—for example, to safely retry sending. Because the system only confirms one send request per 'sequenceId' (and fails all subsequent attempts), you can retry sending without the risk of double spending. The 'sequenceId' is only visible to users on the wallet and is not shared publicly.
+ pathCoin:
+ name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/Coin'
+ pathBitcoin:
+ name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/Bitcoin'
+ pathAlgorand:
+ name: coin
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/ConsolidationCoins'
+ pathAddress:
+ name: address
+ in: path
+ required: true
+ schema:
+ $ref: '#/components/schemas/AddressString3'
+ pathWebhookId:
+ name: webhookId
+ required: true
+ in: path
+ schema:
+ $ref: '#/components/schemas/Id'
+ queryFederationQ:
+ name: q
+ in: query
+ required: true
+ example: test*bitgo.com
+ schema:
+ type: string
+ queryFederationType:
+ name: type
+ in: query
+ required: true
+ example: name
+ schema:
+ type: string
+ enum:
+ - name
+ - id
+ limit:
+ name: limit
+ in: query
+ schema:
+ type: integer
+ minimum: 1
+ maximum: 500
+ default: 25
+ description: Maximum number of results to return. If the result set is truncated, use the 'nextBatchPrevId' value to get the next batch.
+ expandAddressLabels:
+ name: expandAddressLabels
+ description: |
+ If true, adds 'addressLabels' to each returned pending approval associated with recipient's addresses
+ in: query
+ schema:
+ type: boolean
+ feeRate:
+ name: feeRate
+ in: query
+ schema:
+ type: integer
+ minimum: 0
+ enterprise:
+ name: enterprise
+ in: query
+ description: Filter by enterprise
+ schema:
+ $ref: '#/components/schemas/Id'
+ enterpriseId:
+ name: enterpriseId
+ in: query
+ description: Filter by enterprise
+ schema:
+ $ref: '#/components/schemas/Id'
+ organizationId:
+ name: organizationId
+ in: query
+ description: Filter by organization
+ schema:
+ $ref: '#/components/schemas/Id'
+ numBlocks:
+ name: numBlocks
+ in: query
+ schema:
+ type: integer
+ default: 2
+ minimum: 1
+ maximum: 1000
+ description: Sets the target estimated number of blocks for a confirmation
+ unspentIds:
+ name: unspentIds
+ in: query
+ schema:
+ type: array
+ minItems: 1
+ items:
+ $ref: '#/components/schemas/UnspentId'
+ maxFeeRate:
+ name: maxFeeRate
+ in: query
+ schema:
+ type: integer
+ minimum: 0
+ enforceMinConfirmsForChange:
+ name: enforceMinConfirmsForChange
+ in: query
+ description: Enforces 'minConfirms' on change inputs
+ schema:
+ type: boolean
+ minValue:
+ name: minValue
+ in: query
+ description: Minimum value of each unspent in base units (e.g. satoshis). For doge, only string is allowed.
+ schema:
+ $ref: '#/components/schemas/IntegerOrIntegerString'
+ maxValue:
+ name: maxValue
+ in: query
+ description: Maximum value of each unspent in base units (e.g. satoshis). For doge, only string is allowed.
+ schema:
+ $ref: '#/components/schemas/IntegerOrIntegerString'
+ minHeight:
+ name: minHeight
+ in: query
+ description: Minimum block height of the unspents
+ schema:
+ type: number
+ minimum: 0
+ height:
+ name: height
+ in: query
+ description: The block or ledger height
+ schema:
+ $ref: '#/components/schemas/IntegerString'
+ segwit:
+ name: segwit
+ in: query
+ description: DEPRECATED. Mutually exclusive with 'chains'. Returns only 'p2shP2wsh' unspents/addresses on true. Returns only 'p2sh' unspents/addresses on false. Equivalent to passing 10 and 11 as the only value in 'chains' on true, 0 and 1 on false.
+ schema:
+ type: boolean
+ minConfirms:
+ name: minConfirms
+ in: query
+ description: Minimum number of confirmations for the collected inputs. Only applies to external unspents. Use 'enforceMinConfirmsForChange' to filter change as well.
+ schema:
+ type: integer
+ minimum: 0
+ prevId:
+ in: query
+ name: prevId
+ schema:
+ $ref: '#/components/schemas/Id'
+ description: Return the next batch of results, based on the 'nextBatchPrevId' value from the previous batch.
+ searchLabelWallets:
+ name: searchLabel
+ in: query
+ example: My very first wallet
+ description: Query for 'Wallets' with a label containing this string
+ schema:
+ type: string
+ type:
+ name: type
+ in: query
+ description: Filter on sending or receiving 'Transfers'
+ schema:
+ type: string
+ enum:
+ - send
+ - receive
+ transactionIdx:
+ name: transactionIdx
+ in: path
+ required: true
+ schema:
+ type: string
+ walletId:
+ name: walletId
+ description: Filter by wallet
+ in: query
+ schema:
+ $ref: '#/components/schemas/Id'
+ FilteringConditionParameterNameAndValue:
+ name: filteringConditionParameterName
+ in: query
+ description: |
+ You can retrieve the policy rules that match a given set of Filtering Conditions by providing the
+ parameter name and value of the Filtering Conditions you are interested in. See also Filtering Conditions.
+ In addition, you could add Dynamic parameter for filtering rules based on specific criteria.
+ Format: ..parameters.=
+ - : (Required) The table name. Valid values are filteringCondition, action, or condition.
+ - : (Optional) The name of the property.
+ - parameters: (Fixed) Indicates parameters section.
+ - : (Required) The key in the table's parameters column to search against.
+ - : (Optional) Comma-separated list of values to match.
+ required: false
+ schema:
+ type: string
+ example: |
+ walletType=custodial
+ filteringCondition.wallet.ids.parameters.walletId=testWalletId1,testWalletId2
+ filteringCondition.wallet.type.parameters.walletType=hot,cold
+ filteringCondition.wallet.all.parameters
+ condition.transfer.amount.parameters.ruleId=ruleCondition1
+ condition.parameters.number=1
+ condition.parameters.userIds=user1,user2
+ action.approvals.always.deny.parameters.actionId=ruleAction1
+ action.parameters.bool=true
+ action.parameters.userIds=user1,user2
+ txRequestSortDirection:
+ name: sortDirection
+ in: query
+ description: Sorts order by field in specified sort direction, default ascending.
+ schema:
+ type: string
+ enum:
+ - ASC
+ - DESC
+ destinationTag:
+ name: destinationTag
+ required: false
+ in: query
+ schema:
+ type: string
+ description: |
+ Required when sending to a BitGo wallet.
+ allTokens:
+ name: allTokens
+ schema:
+ type: boolean
+ in: query
+ example: true
+ description: Include data for all subtokens (i.e. ERC20 Tokens, Stellar Tokens)
+ excludeSpendableBalance:
+ name: excludeSpendableBalance
+ schema:
+ type: boolean
+ in: query
+ example: true
+ description: |
+ Skip spendable balance calculations and only include confirmed balances. If absent, defaults to false.
+ skipPendingTxs:
+ name: skipPendingTxs
+ schema:
+ type: boolean
+ in: query
+ example: true
+ description: Do not include pending withdrawals when determining total balances. By default, pending withdrawals will be considered.
+ skipTxCounts:
+ name: skipTxCounts
+ schema:
+ type: boolean
+ in: query
+ example: true
+ description: True, if excluding transfer counts when calculating total balances. If absent, defaults to false.
+ excludeSpendableBalances:
+ name: excludeSpendableBalances
+ schema:
+ type: boolean
+ in: query
+ example: true
+ description: |
+ Skip spendable balance calculations and only include confirmed balances. If absent, defaults to false.
+ excludeEmptyBalances:
+ name: excludeEmptyBalances
+ schema:
+ type: boolean
+ in: query
+ example: true
+ description: |
+ Exclude tokens with zero balance. When allTokens is passed, then every token supported by BitGo will be included, regardless of balance.
+ unspentCount:
+ name: unspentCount
+ schema:
+ type: boolean
+ in: query
+ example: true
+ description: True, if including unspent count for UTXO-based coins.
+ state:
+ name: state
+ description: |
+ The status of the transfer.
+ • 'confirmed' indicates the transaction is confirmed on chain.
+ • 'failed' indicates the transaction failed. 'initialized' is the first state of a transaction and indicates the transaction is initialized.
+ • 'pendingApproval' indicates the transaction is initialized and pending approval.
+ • 'rejected' indicates the transaction was rejected by an approver.
+ • 'removed' indicates the transaction was reorganized from the mempool (it's still possible recieve confirmation in another block).
+ • 'replaced' indicates the transaction was replaced with a new transaction with higher fees.
+ • 'signed' indicates the transaction is signed and pending on-chain confirmation.
+ • 'unconfirmed' indicates the transaction is pending on-chain confirmation.
+ in: query
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/TransferState'
+ showAllWallets:
+ name: showAllWallets
+ description: Include wallets that have 'deleted' or 'creationFailed' set to **true**
+ in: query
+ schema:
+ type: boolean
+ valueGte:
+ name: valueGte
+ in: query
+ description: Return transfers with a 'value' that is greater than or equal to the given number
+ schema:
+ type: integer
+ valueLt:
+ name: valueLt
+ in: query
+ description: Return transfers with a 'value' that is less than the given number
+ schema:
+ type: integer
+ dateGte:
+ name: dateGte
+ in: query
+ description: Return transfers with a 'date' that is greater than or equal to the given timestamp
+ schema:
+ type: string
+ format: date-time
+ dateLt:
+ name: dateLt
+ in: query
+ description: Return transfers with a 'date' that is less than the given timestamp
+ schema:
+ type: string
+ format: date-time
+ sortBy:
+ name: sortBy
+ in: query
+ description: Customize sort order for the transfers by specifying the sort key.
+ schema:
+ type: string
+ enum:
+ - heightId
+ - id
+ reverse:
+ name: reverse
+ in: query
+ description: True, if returning results in reverse order.
+ schema:
+ type: boolean
+ CreatedDateGte:
+ name: createdDateGte
+ in: query
+ description: |
+ The date and time of the earliest policy rule creation to return. The date and time must be in ISO 8601 format.
+ schema:
+ type: string
+ format: date-time
+ example: '2023-11-13T14:49:48.830522Z'
+ CreatedDateLte:
+ name: createdDateLte
+ in: query
+ description: |
+ The date and time of the latest policy rule creation to return. The date and time must be in ISO 8601 format.
+ schema:
+ type: string
+ format: date-time
+ example: '2023-11-13T14:49:48.830522Z'
+ Enterprise:
+ name: enterpriseId
+ in: path
+ description: Your Enterprise Id.
+ required: true
+ schema:
+ type: string
+ example: 63c86bf4555aba000652d5c59aff2866
+ EvaluationId:
+ name: evaluationId
+ in: query
+ description: The id of the Evaluation.
+ required: false
+ schema:
+ type: string
+ example: c8234a0f-7722-44d7-bedc-bfded7bd24a7
+ EvaluationStatus:
+ name: evaluationStatus
+ in: query
+ description: Status of the Evaluation
+ required: false
+ schema:
+ type: string
+ enum:
+ - TRIGGERED
+ - NOT_TRIGGERED
+ example: TRIGGERED
+ PolicyRuleId:
+ name: id
+ in: path
+ description: Id of the policy rule.
+ required: true
+ schema:
+ type: string
+ example: c8234a0f-7722-44d7-bedc-bfded7bd24a7
+ PolicyRuleIdQuery:
+ name: id
+ in: query
+ description: Id of the policy rule.
+ required: false
+ schema:
+ type: string
+ example: c8234a0f-7722-44d7-bedc-bfded7bd24a7
+ PolicyRuleName:
+ name: name
+ in: query
+ description: |
+ A string to match the names of the policy rules against.
+ required: false
+ schema:
+ type: string
+ example: My policy rule
+ PolicyRuleVersion:
+ name: version
+ in: query
+ description: Version of the policy rule to return.
+ required: false
+ schema:
+ type: number
+ example: 3
+ scope:
+ name: scopeId
+ in: path
+ description: The id of the scope.
+ required: true
+ schema:
+ type: string
+ example: c8234a0f-7722-44d7-bedc-bfded7bd24a7
+ ScopeName:
+ name: scopes
+ in: query
+ description: |
+ scopes of the returned policy rules. One or more may be provided. For example, the All Wallets scope.
+ See also the List scopes API.
+ required: false
+ schema:
+ type: string
+ enum:
+ - wallet.segregated
+ - policies.management
+ example: wallet.segregated
+ PolicyRuleStatus:
+ name: status
+ in: query
+ description: Statuses of the returned policy rules, one or more may be provided.
+ required: false
+ schema:
+ type: string
+ enum:
+ - ACTIVE
+ - INACTIVE
+ - DENIED
+ - PENDING_APPROVAL
+ Touchpoints:
+ name: touchpoints
+ in: query
+ description: The Touchpoints of the returned policy rules. One or more may be provided. For example, the Transfer from a Wallet Touchpoint. See also the List scope Touchpoints API.
+ required: false
+ schema:
+ type: string
+ example: wallet.segregated.transfer
+ FilteringConditionName:
+ name: filteringCondition
+ in: path
+ description: The name of the Filtering condition to be used when creating or updating a policy rule. Not all Touchpoint Actions are compatible with all Filtering Conditions.
+ required: true
+ schema:
+ type: string
+ example: wallet.all
+ Limit:
+ name: limit
+ in: query
+ description: |
+ How many policy rules to return per page of results. Default: 20, Maximum: 100.
+ required: false
+ schema:
+ type: integer
+ example: 20
+ PrevId:
+ name: prevId
+ in: query
+ description: The nextBatchPrevId returned by the last call to the same API. Used to retrieve the next page of results.
+ required: false
+ schema:
+ type: integer
+ example: 1
+ TouchpointId:
+ name: touchpointId
+ in: path
+ description: The id of a Touchpoint.
+ required: true
+ schema:
+ type: string
+ example: 0441ea9f-cd66-4d60-a52a-471aecd3e54e
+ TouchpointName:
+ name: touchpointName
+ in: path
+ description: The name of the Touchpoint.
+ required: true
+ schema:
+ type: string
+ example: wallet.segregated.transfer
+ pathCoin1:
+ name: coin
+ in: path
+ description: The staking asset.
+ required: true
+ schema:
+ type: string
+ oneOf:
+ - type: string
+ enum:
+ - AVAXP
+ - DOT
+ - ETH
+ - MATIC
+ - NEAR
+ - SOL
+ - type: string
+ pathWalletId1:
+ name: walletId
+ in: path
+ description: The wallet ID.
+ required: true
+ schema:
+ $ref: '#/components/schemas/WalletId'
+ queryCoin:
+ name: coin
+ in: query
+ description: The staking asset.
+ required: false
+ schema:
+ type: string
+ oneOf:
+ - type: string
+ enum:
+ - AVAXP
+ - DOT
+ - ETH
+ - MATIC
+ - NEAR
+ - SOL
+ - type: string
+ queryLabel:
+ name: label
+ in: query
+ description: The label of the wallet where the staking request was created.
+ required: false
+ schema:
+ type: string
+ queryPage:
+ name: page
+ in: query
+ description: The page number for pagination.
+ required: false
+ schema:
+ type: integer
+ default: 1
+ minimum: 1
+ queryPageSize:
+ name: pageSize
+ in: query
+ description: The page size for pagination.
+ required: false
+ schema:
+ type: integer
+ default: 20
+ minimum: 1
+ maximum: 100
+ querySortByCreatedDate:
+ name: sortBy
+ in: query
+ description: Sort By field
+ required: false
+ schema:
+ type: string
+ default: '-createdDate'
+ enum:
+ - '-createdDate'
+ - createdDate
+ querySortByDate:
+ name: sortBy
+ in: query
+ description: Sort By field
+ required: false
+ schema:
+ type: string
+ default: '-date'
+ enum:
+ - '-date'
+ - date
+ coin1:
+ name: coin
+ in: query
+ description: Filter by coin.
+ schema:
+ title: Coin
+ description: A cryptocurrency or token ticker symbol.
+ type: string
+ example: eth
+ examples:
+ PolicyRulesResultsExample1:
+ summary: policy rules.
+ description: A successful response with 3 policy rules.
+ value:
+ rules:
+ - uniqueId: cb4e0a0a-2768-4024-904a-178ca6d2cd54
+ id: 81d00054-72b5-4e7c-95cf-74d4f1f7d946
+ name: Get final approval on custodial wallets
+ status: ACTIVE
+ version: 5
+ adminOnly: false
+ touchpointLabel: Transfer from a Segregated Wallet
+ scopeLabel: Wallet
+ clauses:
+ - actions:
+ - name: approvals.customer.finalApproval
+ parameters:
+ userIds:
+ - 63f949ed0d96f8000718b29585ce0765
+ conditions: []
+ filteringConditions:
+ - parameters:
+ walletType: custodial
+ name: wallet.type
+ locked: true
+ lockType: LOCK_AFTER_DATE
+ lockDate: '2023-11-13T14:49:48.830522Z'
+ enterpriseId: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ lastTriggeredDate: '2023-11-13T14:49:48.830522Z'
+ lastTriggeredEvaluationId: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ createdBy: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ modifiedBy: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ lockModifiedBy: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ evaluationId: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ - uniqueId: c57851e0-4cab-4d50-9dc4-3d58a1a34e34
+ id: 4fa8326b-4f5f-4065-8cfc-85a08c290c49
+ name: Get approval if transferring more than 2 BTC in a minute
+ status: ACTIVE
+ version: 1
+ adminOnly: false
+ touchpointLabel: Transfer from a Segregated Wallet
+ scopeLabel: Wallet
+ clauses:
+ - actions:
+ - name: approvals.customer.walletAdmin
+ parameters: {}
+ conditions:
+ - name: transfer.velocity.limit
+ parameters:
+ amount: '2000000'
+ timeWindow: '60'
+ coin: btc
+ filteringConditions:
+ - parameters:
+ walletId:
+ - 643f146bb13653000765c478a384a656
+ name: wallet.ids
+ locked: true
+ lockType: PERMANENT
+ enterpriseId: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ lastTriggeredDate: '2023-11-13T14:49:48.830522Z'
+ lastTriggeredEvaluationId: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ createdBy: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ modifiedBy: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ evaluationId: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ - uniqueId: b06b4009-cbc8-4926-9984-9ed30a7b6cbe
+ id: 4bbe1f5c-12e3-4648-aab1-c1dc1da4cdb5
+ name: Test Rule
+ status: ACTIVE
+ version: 1
+ adminOnly: false
+ touchpointLabel: Get approval when transferring to a non whitelisted destination
+ scopeLabel: Wallet
+ clauses:
+ - actions:
+ - name: approvals.customer.walletAdmin
+ parameters: {}
+ conditions:
+ - name: transfer.destination.type
+ parameters:
+ type: nonWhitelistedAddress
+ filteringConditions:
+ - parameters:
+ walletId:
+ - 643f146bb13653000765c478a384a656
+ name: wallet.ids
+ locked: true
+ lockType: PERMANENT
+ enterpriseId: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ lastTriggeredDate: '2023-11-13T14:49:48.830522Z'
+ lastTriggeredEvaluationId: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ createdBy: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ modifiedBy: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ evaluationId: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ nextBatchPrevId: 5
+ ScopesExample:
+ summary: scopes
+ description: A successful response with one scope.
+ value:
+ scopes:
+ - id: c8234a0f-7722-44d7-bedc-bfded7bd24a7
+ name: wallet.segregated
+ label: Wallet
+ description: A BitGo Wallet
+ conditions:
+ - name: wallet.type
+ label: Wallet Type
+ description: Allows creating a condition based on the Wallet Type
+ status: ACTIVE
+ parameters:
+ - name: walletType
+ label: Type
+ description: The Wallet Type
+ type: ENUMERATED
+ required: ALWAYS
+ allowMultiple: true
+ values:
+ - value: custodial
+ label: Custodial Wallet
+ description: A custodial wallet
+ - value: hot
+ label: Hot Wallet
+ description: A hot wallet
+ - name: wallet.ids
+ label: Wallet Ids
+ description: Allows creating a condition based on the Wallet Id
+ status: ACTIVE
+ parameters:
+ - name: walletId
+ label: Wallet Id
+ description: The Wallet Ids
+ type: BITGO_ID
+ required: ALWAYS
+ allowMultiple: true
+ values: []
+ FilteringConditionsExample:
+ summary: Filtering Conditions
+ description: A successful response with two Filtering Conditions.
+ value:
+ conditions:
+ - name: wallet.type
+ label: Wallet Type
+ description: Allows creating a condition based on the Wallet Type
+ status: ACTIVE
+ parameters:
+ - name: walletType
+ label: Type
+ description: The Wallet Type
+ type: ENUMERATED
+ required: ALWAYS
+ allowMultiple: true
+ values:
+ - value: custodial
+ label: Custodial Wallet
+ description: A custodial wallet
+ - value: hot
+ label: Hot Wallet
+ description: A hot wallet
+ - value: cold
+ label: Cold Wallet
+ description: A cold wallet
+ - value: trading
+ label: Trading Wallet
+ description: A trading wallet
+ - value: custodialPaired
+ label: Hot Wallet paired with a Custodial Wallet
+ description: A hot wallet that is paired with a custodial wallet
+ - value: backing
+ label: Backing Wallet
+ description: A backing wallet
+ - name: wallet.ids
+ label: Wallet Ids
+ description: Allows creating a condition based on the Wallet Id
+ status: ACTIVE
+ parameters:
+ - name: walletId
+ label: Wallet Id
+ description: The Wallet Ids
+ type: BITGO_WALLET_ID
+ required: ALWAYS
+ allowMultiple: false
+ values: []
+ ScopeTouchpointsExample:
+ summary: scope Touchpoints
+ description: A successful response with one Touchpoint.
+ value:
+ touchpoints:
+ - id: 0441ea9f-cd66-4d60-a52a-471aecd3e54e
+ name: wallet.segregated.transfer
+ status: ACTIVE
+ label: Transfer from a Segregated Wallet
+ description: When transferring from a BitGo Segregated Wallet
+ adminOnly: false
+ page: 1
+ totalPages: 1
+ totalElements: 1
+ TouchpointConditionsExample:
+ summary: Touchpoint Conditions
+ description: A successful response with 5 Touchpoint Conditions.
+ value:
+ conditions:
+ - name: transfer.destination.type
+ label: Destination
+ description: Allows creating a condition based on the type of the funds destination
+ status: ACTIVE
+ parameters:
+ - name: type
+ label: Type
+ description: The type of destination this condition will match
+ type: ENUMERATED
+ required: ALWAYS
+ allowMultiple: false
+ values:
+ - value: whitelistedAddress
+ label: Whitelisted address
+ description: The destination is whitelisted
+ - value: nonWhitelistedAddress
+ label: Non-whitelisted address
+ description: The destination is not whitelisted
+ - name: coin
+ label: Asset
+ description: The asset this condition applies to. Optional.
+ type: COIN
+ required: OPTIONAL
+ allowMultiple: false
+ values: []
+ - name: transfer.initiators
+ label: Transfer Initiated By
+ description: Allows creating a condition based on whether the transfer initiator is a listed user
+ status: ACTIVE
+ parameters:
+ - name: userIds
+ label: User Ids
+ description: The list of user ids to check the transfer initiator against.
+ type: BITGO_USER_ID
+ required: ALWAYS
+ allowMultiple: true
+ values: []
+ - name: transfer.webhook
+ label: Transfer Webhook
+ description: Allows creating a Condition based on whether the transfer webhook post call returns a 200 status code
+ status: ACTIVE
+ parameters:
+ - name: webhookUrl
+ label: Webhook Url
+ description: The webhook url to post transfer payload to
+ type: FREE_FORM
+ required: ALWAYS
+ allowMultiple: false
+ values: https://webhook.site/91561f7b-4141-4ee2-8336-e10650cd000f
+ - name: coin
+ label: Asset
+ description: The asset this condition applies to.
+ type: COIN
+ required: OPTIONAL
+ allowMultiple: false
+ values: btc
+ - name: transfer.velocity.limit
+ label: Spending Limit
+ description: Allows creating a condition based on the amount of coin or USD that can be spent over a period of time
+ status: ACTIVE
+ parameters:
+ - name: amount
+ label: Amount
+ description: The amount that can be spend withing the time window
+ type: NON_NEGATIVE_NUMBER
+ required: ALWAYS
+ allowMultiple: false
+ values: []
+ - name: timeWindow
+ label: time window
+ description: The period of time this condition covers, in seconds
+ type: NON_NEGATIVE_NUMBER
+ required: ALWAYS
+ allowMultiple: false
+ values: []
+ - name: coin
+ label: Unit
+ description: The unit that the amount is denoted in, can be a coin or a fiat currency
+ type: COIN_OR_USD
+ required: ALWAYS
+ allowMultiple: false
+ values: []
+ - name: scope
+ label: scope
+ description: Entities that will be included in the velocity calculation
+ type: ENUMERATED
+ required: ALWAYS
+ allowMultiple: false
+ values:
+ - value: wallet
+ label: Wallet
+ description: Only spending from the transferring wallet will be included
+ - value: enterprise
+ label: Enterprise
+ description: Spending from the entire transferring wallet's enterprise will be included
+ - name: transfer.amount
+ label: Spending limit
+ description: Allows creating a condition based on the Transfer Amount
+ status: ACTIVE
+ parameters:
+ - name: operator
+ label: Comparison Operator
+ description: The comparison operator to use when comparing the transfer amount with the given limit
+ type: ENUMERATED
+ required: ALWAYS
+ allowMultiple: false
+ values:
+ - value: '>'
+ label: Greater than
+ description: The transfer amount must be greater than the given limit for the condition to trigger
+ - value: '>='
+ label: Greater than or equal to
+ description: The transfer amount must be greater than or equal to the given limit for the condition to trigger
+ - value: <
+ label: Less than
+ description: The transfer amount must be less than the given limit for the condition to trigger
+ - value: <=
+ label: Less than or equal to
+ description: The transfer amount must be less than or equal to the given limit for the condition to trigger
+ - name: amount
+ label: The amount to compare to
+ description: The transfer amount will be compared with this limit
+ type: NON_NEGATIVE_NUMBER
+ required: ALWAYS
+ allowMultiple: false
+ values: []
+ - name: coin
+ label: Currency
+ description: This condition only applies to transfers of this currency (USD applies to all transfers)
+ type: COIN_OR_USD
+ required: ALWAYS
+ allowMultiple: false
+ values: []
+ ActionsExample:
+ summary: Touchpoint Actions
+ description: A successful response with 3 Touchpoint Actions.
+ value:
+ actions:
+ - name: approvals.always.deny
+ label: Deny
+ description: Automatically reject
+ status: ACTIVE
+ adminOnly: false
+ parameters: []
+ - name: approvals.customer.walletAdmin
+ label: Wallet Admin
+ description: Require approval from wallet admins
+ status: ACTIVE
+ adminOnly: false
+ parameters:
+ - name: minRequired
+ label: Approvals Required
+ description: Minimum required number of approvers
+ type: NON_NEGATIVE_NUMBER
+ required: OPTIONAL
+ allowMultiple: false
+ values: []
+ - name: approvals.customer.finalApproval
+ label: Require final approval from wallet users
+ description: Require final approval from wallet users
+ status: ACTIVE
+ adminOnly: false
+ parameters:
+ - name: userIds
+ label: Users
+ description: List of users for final approval
+ type: BITGO_ID
+ required: ONE_OR_MORE
+ allowMultiple: true
+ values: []
+ PolicyRuleExample:
+ summary: A policy rule
+ description: A successful policy rule details response.
+ value:
+ uniqueId: c3ff569e-e30a-4405-8b76-38de240c724a
+ id: 4fa8326b-4f5f-4065-8cfc-85a08c290c49
+ name: Get approval if transferring more than 2 BTC in a minute
+ status: ACTIVE
+ version: 1
+ adminOnly: false
+ touchpointLabel: Transfer from a Segregated Wallet
+ scopeLabel: Wallet
+ clauses:
+ - actions:
+ - name: approvals.customer.walletAdmin
+ parameters: {}
+ conditions:
+ - name: transfer.velocity.limit
+ parameters:
+ amount: '2000000'
+ timeWindow: '60'
+ coin: btc
+ filteringConditions:
+ - parameters:
+ walletId:
+ - 643f146bb13653000765c478a384a656
+ name: wallet.ids
+ locked: true
+ lockType: PERMANENT
+ enterpriseId: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ lastTriggeredDate: '2023-11-13T14:49:48.830522Z'
+ lastTriggeredEvaluationId: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ createdBy: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ modifiedBy: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ evaluationId: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ InactivePolicyRuleExample:
+ summary: An 'INACTIVE' policy rule
+ value:
+ uniqueId: c5a818c7-1831-4fe2-8363-d469378bb106
+ id: 4fa8326b-4f5f-4065-8cfc-85a08c290c49
+ name: Get approval if transferring more than 2 BTC in a minute
+ status: INACTIVE
+ version: 1
+ adminOnly: false
+ touchpointLabel: Transfer from a Segregated Wallet
+ scopeLabel: Wallet
+ clauses:
+ - actions:
+ - name: approvals.customer.walletAdmin
+ parameters: {}
+ conditions:
+ - name: transfer.velocity.limit
+ parameters:
+ amount: '2000000'
+ timeWindow: '60'
+ coin: btc
+ filteringConditions:
+ - parameters:
+ walletId:
+ - 643f146bb13653000765c478a384a656
+ name: wallet.ids
+ locked: true
+ lockType: LOCK_AFTER_DATE
+ lockDate: '2023-11-13T14:49:48.830522Z'
+ enterpriseId: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ lastTriggeredDate: '2023-11-13T14:49:48.830522Z'
+ lastTriggeredEvaluationId: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ createdBy: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ modifiedBy: 5d1a5f2c8f0a9c001a5f2c8f0ad00000
+ evaluationId: 306258df-dcab-489e-a9fe-ff28ce9fa312
+ CreatePolicyRuleExample:
+ summary: A create policy rule request
+ value:
+ name: Get approval if transferring more than 2 BTC in a minute
+ adminOnly: false
+ clauses:
+ - conditions:
+ - name: transfer.velocity.limit
+ parameters:
+ amount: '2000000'
+ timeWindow: '60'
+ coin: btc
+ actions:
+ - name: approvals.customer.walletAdmin
+ parameters: {}
+ filteringConditions:
+ - name: wallet.ids
+ parameters:
+ walletId:
+ - 643f146bb13653000765c478a384a656
+ lockType: LOCK_AFTER_DATE
+ lockDate: '2023-11-13T14:49:48.830522Z'
+ EthStakingRequestPOSTBodyExample:
+ summary: Ethereum Staking Request POST Body Example
+ value:
+ clientId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '64000000000000000000'
+ gasPrice: '1000000000000000'
+ type: STAKE
+ MaticStakingRequestPOSTBodyExample:
+ summary: Matic Staking Request POST Body Example
+ value:
+ clientId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '10000000000000000000'
+ gasPrice: '50000000000000'
+ type: STAKE
+ MaticUnstakingRequestPOSTBodyExample:
+ summary: Matic UnStaking Request POST Body Example
+ value:
+ clientId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '2000000000000000000'
+ gasPrice: '50000000000000'
+ type: UNSTAKE
+ NearStakingRequestPOSTBodyExample:
+ summary: Near Staking Request POST Body Example
+ value:
+ clientId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '12000000000000000000'
+ type: STAKE
+ AvaxPStakingRequestPOSTBodyExample:
+ summary: AvaxP Staking Request POST Body Example
+ value:
+ clientId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '1000'
+ type: STAKE
+ durationSeconds: 604800
+ SolStakingRequestPOSTBodyExample:
+ summary: Sol Staking Request POST Body Example
+ value:
+ clientId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '1000'
+ type: STAKE
+ DotStakingRequestPOSTBodyExample:
+ summary: Dot Staking Request POST Body Example
+ value:
+ clientId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '10000000000'
+ type: STAKE
+ NearUnStakingRequestPOSTBodyExample:
+ summary: Near UnStaking Request POST Body Example
+ value:
+ clientId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '12000000000000000000'
+ type: UNSTAKE
+ SolUnStakingRequestPOSTBodyExample:
+ summary: Sol UnStaking Request POST Body Example
+ value:
+ clientId: d055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ type: UNSTAKE
+ DotUnStakingRequestPOSTBodyExample:
+ summary: Dot UnStaking Request POST Body Example
+ value:
+ clientId: d055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ type: UNSTAKE
+ amount: '10000000000'
+ EthStakingRequestWithoutDelegationsExample:
+ summary: Ethereum Staking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ walletType: custodial
+ type: STAKE
+ coin: eth
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ amount: '6400000000000000000'
+ gasPrice: '1000000000000000'
+ EthStakingResultsExample:
+ summary: Ethereum Staking Request Results Example
+ value:
+ page: 1
+ totalPages: 1
+ totalElements: 1
+ requests:
+ - id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ walletType: custodial
+ type: STAKE
+ coin: eth
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '3200000000000000000'
+ status: PENDING
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '3200000000000000000'
+ pendingStake: '0'
+ apy: '8.3'
+ coin: eth
+ walletId: 2032e75g451052000636831abd797bd3
+ unstakingFee: '100000000000000'
+ unstakingMin: '0'
+ - id: e0225adbc-55b43-5tta-9a9d-726a05bca0ai
+ delegationAddress: 0x3b6406c9710f588ca733360bfa8033d0ef9ecre4
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '3200000000000000000'
+ status: PENDING
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '3200000000000000000'
+ pendingStake: '0'
+ apy: '8.3'
+ coin: eth
+ walletId: 2032e75g451052000636831abd797bd3
+ unstakingFee: '1000000000000000'
+ unstakingMin: '0'
+ transactions:
+ - id: d0355adbc-55b43-5tta-9a9d-726a05bca0ai
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: PENDING
+ amount: '3200000000000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ buildParams:
+ recipients:
+ amount: '3200000000000000000'
+ address: '0xff50ed3d0ec03aC01D4C79aAd74928BFF48a7b2b'
+ data: fds0934rnnio390nw
+ stakingParams:
+ requestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '3200000000000000000'
+ validator: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ actionType: delegate
+ gasPrice: '1000000000000000'
+ gasLimit: '3000000000000000'
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: PENDING
+ amount: '3200000000000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-55b43-5tta-9a9d-726a05bca0ai
+ buildParams:
+ recipients:
+ amount: '3200000000000000000'
+ address: '0xff50ed3d0ec03aC01D4C79aAd74928BFF48a7b2b'
+ data: fds0934rnnio390nw
+ stakingParams:
+ requestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '3200000000000000000'
+ validator: 0x3b6406c9710f588ca733360bfa8033d0ef9ecre4
+ actionType: delegate
+ gasPrice: '1000000000000000'
+ gasLimit: '3000000000000000'
+ amount: '6400000000000000000'
+ gasPrice: '1000000000000000'
+ EthStakingRequestsListResponseExample:
+ summary: Ethereum Staking Request List Response Example
+ value:
+ requests:
+ - id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ walletType: custodial
+ type: STAKE
+ coin: eth
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '3200000000000000000'
+ status: PENDING
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '3200000000000000000'
+ pendingStake: '0'
+ apy: 8.3
+ coin: eth
+ walletId: 2032e75g451052000636831abd797bd3
+ unstakingFee: '100000000000000'
+ unstakingMin: '0'
+ - id: e0225adbc-55b43-5tta-9a9d-726a05bca0ai
+ delegationAddress: 0x3b6406c9710f588ca733360bfa8033d0ef9ecre4
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '3200000000000000000'
+ status: PENDING
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '3200000000000000000'
+ pendingStake: '0'
+ apy: '8.3'
+ coin: eth
+ walletId: 2032e75g451052000636831abd797bd3
+ unstakingFee: '1000000000000000'
+ unstakingMin: '0'
+ transactions:
+ - id: d0355adbc-55b43-5tta-9a9d-726a05bca0ai
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: PENDING
+ amount: '3200000000000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ buildParams:
+ recipients:
+ amount: '3200000000000000000'
+ address: '0xff50ed3d0ec03aC01D4C79aAd74928BFF48a7b2b'
+ data: fds0934rnnio390nw
+ stakingParams:
+ requestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '3200000000000000000'
+ validator: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ actionType: delegate
+ gasPrice: '1000000000000000'
+ gasLimit: '3000000000000000'
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: PENDING
+ amount: '3200000000000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-55b43-5tta-9a9d-726a05bca0ai
+ buildParams:
+ recipients:
+ amount: '3200000000000000000'
+ address: '0xff50ed3d0ec03aC01D4C79aAd74928BFF48a7b2b'
+ data: fds0934rnnio390nw
+ stakingParams:
+ requestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '3200000000000000000'
+ validator: 0x3b6406c9710f588ca733360bfa8033d0ef9ecre4
+ actionType: delegate
+ gasPrice: '1000000000000000'
+ gasLimit: '3000000000000000'
+ amount: '6400000000000000000'
+ gasPrice: '1000000000000000'
+ EthStakingRequestWithTransactionsExample:
+ summary: Ethereum Staking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ walletType: custodial
+ type: STAKE
+ coin: eth
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '3200000000000000000'
+ status: PENDING
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '3200000000000000000'
+ pendingStake: '0'
+ apy: '8.3'
+ coin: eth
+ walletId: 2032e75g451052000636831abd797bd3
+ unstakingFee: '100000000000000'
+ unstakingMin: '0'
+ - id: e0225adbc-55b43-5tta-9a9d-726a05bca0ai
+ delegationAddress: 0x3b6406c9710f588ca733360bfa8033d0ef9ecre4
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '3200000000000000000'
+ status: PENDING
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '3200000000000000000'
+ pendingStake: '0'
+ apy: '8.3'
+ coin: eth
+ walletId: 2032e75g451052000636831abd797bd3
+ unstakingFee: '1000000000000000'
+ unstakingMin: '0'
+ transactions:
+ - id: d0355adbc-55b43-5tta-9a9d-726a05bca0ai
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: PENDING
+ amount: '3200000000000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ buildParams:
+ recipients:
+ amount: '3200000000000000000'
+ address: '0xff50ed3d0ec03aC01D4C79aAd74928BFF48a7b2b'
+ data: fds0934rnnio390nw
+ stakingParams:
+ requestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '3200000000000000000'
+ validator: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ actionType: delegate
+ gasPrice: '1000000000000000'
+ gasLimit: '3000000000000000'
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: PENDING
+ amount: '3200000000000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-55b43-5tta-9a9d-726a05bca0ai
+ buildParams:
+ recipients:
+ amount: '3200000000000000000'
+ address: '0xff50ed3d0ec03aC01D4C79aAd74928BFF48a7b2b'
+ data: fds0934rnnio390nw
+ stakingParams:
+ requestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '3200000000000000000'
+ validator: 0x3b6406c9710f588ca733360bfa8033d0ef9ecre4
+ actionType: delegate
+ gasPrice: '1000000000000000'
+ gasLimit: '3000000000000000'
+ amount: '6400000000000000000'
+ gasPrice: '1000000000000000'
+ MaticStakingRequestWithoutDelegationsExample:
+ summary: Matic Staking Request Example
+ value:
+ id: 0b7e6e7e-5041-49d8-9598-0a4a3f3f234e
+ clientId: e055adbc-66a3-4ccd-9b9d-726b05dca0cf
+ requestingUserId: 61c0ee3803715c00088d2c85b533b732
+ type: STAKE
+ enterpriseId: 61c0ff41174c4e0007ae78b2a0bea1ec
+ walletId: 63110fc78b108e00071df2d3c3879dd0
+ walletType: hot
+ withdrawalAddress: '0xf5b9becc5e7e68173a5fc1906a2a5574e884da40'
+ coin: matic
+ status: NEW
+ statusModifiedDate: '2022-12-05T17:11:30.748165Z'
+ createdDate: '2022-12-05T17:11:30.748159Z'
+ delegations: []
+ transactions: []
+ totalStaked: '0'
+ amount: '1000000000000'
+ gasPrice: '500000000000'
+ MaticUnStakingRequestWithoutDelegationsExample:
+ summary: Matic UnStaking Request Example
+ value:
+ id: 0b7e6e7e-5041-49d8-9598-0a4a3f3f234e
+ clientId: e055adbc-66a3-4ccd-9b9d-726b05dca0cf
+ requestingUserId: 61c0ee3803715c00088d2c85b533b732
+ type: UNSTAKE
+ enterpriseId: 61c0ff41174c4e0007ae78b2a0bea1ec
+ walletId: 63110fc78b108e00071df2d3c3879dd0
+ walletType: hot
+ withdrawalAddress: '0xf5b9becc5e7e68173a5fc1906a2a5574e884da40'
+ coin: matic
+ status: NEW
+ statusModifiedDate: '2022-12-05T17:11:30.748165Z'
+ createdDate: '2022-12-05T17:11:30.748159Z'
+ delegations: []
+ transactions: []
+ totalStaked: '0'
+ amount: '500000000000'
+ gasPrice: '200000000000'
+ MaticStakingRequestsListResponseExample:
+ summary: Matic Staking Request List Response Example
+ value:
+ requests:
+ - id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestingUserId: 6092e75c451052000636831deb797bd1
+ type: STAKE
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ walletType: custodial
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ coin: matic
+ status: NEW
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ createdDate: '2022-01-10T14:32:28.000Z'
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '3200000000000000000'
+ coin: matic
+ walletId: 2032e75g451052000636831abd797bd3
+ status: PENDING
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '3200000000000000000'
+ pendingStake: '1000'
+ apy: '8.3'
+ unstakeable: false
+ transactions:
+ - id: d0355adbc-55b43-5tta-9a9d-726a05bca0ai
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ transactionType: delegate
+ status: PENDING
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ amount: '3200000000000000000'
+ gasPrice: '1000000000000000'
+ totalStaked: '0'
+ amount: '3200000000000000000'
+ gasPrice: '1000000000000000'
+ MaticStakingRequestWithTransactionsExample:
+ summary: Matic Staking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestingUserId: 6092e75c451052000636831deb797bd1
+ type: STAKE
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ walletType: custodial
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ coin: matic
+ status: NEW
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ createdDate: '2022-01-10T14:32:28.000Z'
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '3200000000000000000'
+ coin: matic
+ walletId: 2032e75g451052000636831abd797bd3
+ status: PENDING
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '3200000000000000000'
+ pendingStake: '1000'
+ apy: '8.3'
+ unstakeable: false
+ transactions:
+ - id: d0355adbc-55b43-5tta-9a9d-726a05bca0ai
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ transactionType: delegate
+ status: PENDING
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ amount: '3200000000000000000'
+ gasPrice: '1000000000000000'
+ totalStaked: '0'
+ amount: '3200000000000000000'
+ gasPrice: '1000000000000000'
+ MaticUnStakingRequestsListResponseExample:
+ summary: Matic Staking Request List Response Example
+ value:
+ requests:
+ - id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestingUserId: 6092e75c451052000636831deb797bd1
+ type: UNSTAKE
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ walletType: custodial
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ coin: matic
+ status: NEW
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ createdDate: '2022-01-10T14:32:28.000Z'
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '1600000000000000000'
+ coin: matic
+ walletId: 2032e75g451052000636831abd797bd3
+ status: PENDING
+ rewards: '1000000000000000'
+ lockedRewards: '0'
+ pendingUnstake: '4800000000000000000'
+ pendingStake: '1000'
+ apy: '8.3'
+ unstakeable: false
+ transactions:
+ - id: d0355adbc-55b43-5tta-9a9d-726a05bca0ai
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ transactionType: delegate
+ status: PENDING
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ amount: '3200000000000000000'
+ gasPrice: '1000000000000000'
+ totalStaked: '0'
+ amount: '6400000000000000000'
+ gasPrice: '1000000000000000'
+ MaticUnStakingRequestWithTransactionsExample:
+ summary: Matic UnStaking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestingUserId: 6092e75c451052000636831deb797bd1
+ type: UNSTAKE
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ walletType: custodial
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ coin: matic
+ status: NEW
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ createdDate: '2022-01-10T14:32:28.000Z'
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '1600000000000000000'
+ coin: matic
+ walletId: 2032e75g451052000636831abd797bd3
+ status: PENDING
+ rewards: '1000000000000000'
+ lockedRewards: '0'
+ pendingUnstake: '4800000000000000000'
+ pendingStake: '1000'
+ apy: '8.3'
+ unstakeable: false
+ transactions:
+ - id: d0355adbc-55b43-5tta-9a9d-726a05bca0ai
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ transactionType: delegate
+ status: PENDING
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ amount: '3200000000000000000'
+ gasPrice: '1000000000000000'
+ totalStaked: '0'
+ amount: '6400000000000000000'
+ gasPrice: '1000000000000000'
+ NearStakingRequestsListResponseExample:
+ summary: Near Staking Request List Response Example
+ value:
+ requests:
+ - id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: b80db6c80057404d4ed82f8e007a007192aac2499563af81909212a6a2c33d55
+ walletType: custodial
+ type: STAKE
+ coin: near
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: string
+ withdrawalAddress: b80db6c80057404d4ed82f8e007a007192aac2499563af81909212a6a2c33d55
+ delegated: '1300000000000000000'
+ status: ACTIVE
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '1300000000000000000'
+ pendingStake: '0'
+ apy: '8.3'
+ unstakingFee: '100000000'
+ unstakingMin: '0'
+ transactions:
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ amount: '1300000000000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '1300000000000000000'
+ NearUnStakingRequestsListResponseExample:
+ summary: Near UnStaking Request List Response Example
+ value:
+ requests:
+ - id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: b80db6c80057404d4ed82f8e007a007192aac2499563af81909212a6a2c33d55
+ walletType: custodial
+ type: UNSTAKE
+ coin: near
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: string
+ withdrawalAddress: b80db6c80057404d4ed82f8e007a007192aac2499563af81909212a6a2c33d55
+ delegated: '1310000000000000000'
+ status: ACTIVE
+ rewards: '100000000000000000'
+ lockedRewards: '0'
+ pendingUnstake: '1310000000000000000'
+ pendingStake: '0'
+ apy: '8.3'
+ unstakingFee: '100000000'
+ unstakingMin: '0'
+ transactions:
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ amount: '1300000000000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '1300000000000000000'
+ NearStakingRequestWithoutDelegationsExample:
+ summary: Near Staking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: b80db6c80057404d4ed82f8e007a007192aac2499563af81909212a6a2c33d55
+ walletType: custodial
+ type: STAKE
+ coin: near
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ amount: '1300000000000000000'
+ NearStakingRequestWithTransactionsExample:
+ summary: Near Staking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: b80db6c80057404d4ed82f8e007a007192aac2499563af81909212a6a2c33d55
+ walletType: custodial
+ type: STAKE
+ coin: near
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: string
+ withdrawalAddress: b80db6c80057404d4ed82f8e007a007192aac2499563af81909212a6a2c33d55
+ delegated: '1300000000000000000'
+ status: ACTIVE
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '1300000000000000000'
+ pendingStake: '0'
+ apy: '8.3'
+ unstakingFee: '100000000'
+ unstakingMin: '0'
+ transactions:
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ amount: '1300000000000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '1300000000000000000'
+ NearUnStakingRequestWithoutDelegationsExample:
+ summary: Near UnStaking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: b80db6c80057404d4ed82f8e007a007192aac2499563af81909212a6a2c33d55
+ walletType: custodial
+ type: UNSTAKE
+ coin: near
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ amount: '1310000000000000000'
+ NearUnStakingRequestWithTransactionsExample:
+ summary: Near UnStaking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: b80db6c80057404d4ed82f8e007a007192aac2499563af81909212a6a2c33d55
+ walletType: custodial
+ type: UNSTAKE
+ coin: near
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: string
+ withdrawalAddress: b80db6c80057404d4ed82f8e007a007192aac2499563af81909212a6a2c33d55
+ delegated: '1310000000000000000'
+ status: ACTIVE
+ rewards: '100000000000000000'
+ lockedRewards: '0'
+ pendingUnstake: '1310000000000000000'
+ pendingStake: '0'
+ apy: '8.3'
+ unstakingFee: '100000000'
+ unstakingMin: '0'
+ transactions:
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ amount: '1300000000000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '1300000000000000000'
+ SolStakingRequestsListResponseExample:
+ summary: Sol Staking Request List Response Example
+ value:
+ requests:
+ - id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ walletType: custodial
+ type: STAKE
+ coin: sol
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: string
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ delegated: '1000000000'
+ status: ACTIVE
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '0'
+ pendingStaking: '0'
+ apy: '8.3'
+ unstakingFee: '1000000'
+ unstakingMin: '0'
+ transactions:
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: CONFIRMED
+ amount: '1000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '1000000000'
+ SolUnStakingRequestsListResponseExample:
+ summary: Sol UnStaking Request List Response Example
+ value:
+ requests:
+ - id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ walletType: custodial
+ type: UNSTAKE
+ coin: sol
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: string
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ delegated: '1012000000'
+ status: ACTIVE
+ rewards: '12000000'
+ lockedRewards: '0'
+ pendingUnstake: '1012000000'
+ pendingStake: '0'
+ apy: '8.3'
+ unstakingFee: '1000000'
+ unstakingMin: '0'
+ transactions:
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: READY
+ amount: '1012'
+ transactionType: undelegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ - id: p0500adbc-55b43-5tta-9a9d-726a05bca0dr
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: WAITING
+ amount: '1012000000'
+ transactionType: withdraw_undelegated
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '1012000000'
+ SolStakingRequestWithoutDelegationsExample:
+ summary: Sol Staking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ walletType: custodial
+ type: STAKE
+ coin: sol
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ amount: '1000000000'
+ SolStakingRequestWithTransactionsExample:
+ summary: Sol Staking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ walletType: custodial
+ type: STAKE
+ coin: sol
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: string
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ delegated: '1000000000'
+ status: ACTIVE
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '0'
+ pendingStake: '0'
+ apy: '8.3'
+ unstakingFee: '1000000'
+ unstakingMin: '0'
+ transactions:
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: CONFIRMED
+ amount: '1000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '1000000000'
+ SolUnStakingRequestWithoutDelegationsExample:
+ summary: Sol UnStaking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ walletType: custodial
+ type: UNSTAKE
+ coin: sol
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ amount: '1012000000'
+ SolUnStakingRequestWithTransactionsExample:
+ summary: Sol UnStaking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ walletType: custodial
+ type: UNSTAKE
+ coin: sol
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: string
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ delegated: '1012000000'
+ status: ACTIVE
+ rewards: '12000000'
+ lockedRewards: '0'
+ pendingUnstake: '1012000000'
+ pendingStake: '0'
+ apy: '8.3'
+ unstakingFee: '1000000'
+ unstakingMin: '0'
+ transactions:
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: READY
+ amount: '1012'
+ transactionType: undelegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ - id: p0500adbc-55b43-5tta-9a9d-726a05bca0dr
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: WAITING
+ amount: '1012000000'
+ transactionType: withdraw_undelegated
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '1012000000'
+ AvaxPStakingRequestWithoutDelegationsExample:
+ summary: AvaxP Staking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ durationSeconds: 604800
+ walletType: hot
+ type: STAKE
+ coin: avaxp
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ amount: '10000000000'
+ AvaxPStakingRequestWithTransactionsExample:
+ summary: AvaxP UnStaking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ durationSeconds: 604800
+ walletType: custodial
+ type: STAKE
+ coin: avaxp
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: READY
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: string
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ delegated: '10012000000'
+ status: ACTIVE
+ rewards: '12000000'
+ lockedRewards: '0'
+ pendingUnstake: '10012000000'
+ pendingStake: '0'
+ apy: '8.3'
+ unstakingFee: '1000000'
+ unstakingMin: '0'
+ transactions:
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: READY
+ amount: '1012'
+ transactionType: delegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ - id: p0500adbc-55b43-5tta-9a9d-726a05bca0dr
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: WAITING
+ amount: '10012000000'
+ transactionType: withdraw_undelegated
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '10012000000'
+ DotStakingRequestsListResponseExample:
+ summary: Dot Staking Request List Response Example
+ value:
+ requests:
+ - id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ walletType: custodial
+ type: STAKE
+ coin: dot
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: string
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ delegated: '10000000000'
+ status: ACTIVE
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '0'
+ pendingStaking: '0'
+ apy: '8.3'
+ unstakingFee: '1000000'
+ unstakingMin: '0'
+ transactions:
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: CONFIRMED
+ amount: '10000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '10000000000'
+ DotUnStakingRequestsListResponseExample:
+ summary: Dot UnStaking Request List Response Example
+ value:
+ requests:
+ - id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ walletType: custodial
+ type: UNSTAKE
+ coin: dot
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: string
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ delegated: '10012000000'
+ status: ACTIVE
+ rewards: '12000000'
+ lockedRewards: '0'
+ pendingUnstake: '10012000000'
+ pendingStake: '0'
+ apy: '8.3'
+ unstakingFee: '1000000'
+ unstakingMin: '0'
+ transactions:
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: READY
+ amount: '1012'
+ transactionType: undelegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ - id: p0500adbc-55b43-5tta-9a9d-726a05bca0dr
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: WAITING
+ amount: '10012000000'
+ transactionType: withdraw_undelegated
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '10012000000'
+ DotStakingRequestWithoutDelegationsExample:
+ summary: Dot Staking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ walletType: custodial
+ type: STAKE
+ coin: dot
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ amount: '10000000000'
+ DotStakingRequestWithTransactionsExample:
+ summary: Dot Staking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ walletType: custodial
+ type: STAKE
+ coin: dot
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: string
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ delegated: '10000000000'
+ status: ACTIVE
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '0'
+ pendingStake: '0'
+ apy: '8.3'
+ unstakingFee: '1000000'
+ unstakingMin: '0'
+ transactions:
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: CONFIRMED
+ amount: '10000000000'
+ transactionType: delegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '10000000000'
+ DotUnStakingRequestWithoutDelegationsExample:
+ summary: Dot UnStaking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ walletType: custodial
+ type: UNSTAKE
+ coin: dot
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ amount: '10012000000'
+ DotUnStakingRequestWithTransactionsExample:
+ summary: Dot UnStaking Request Example
+ value:
+ id: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ clientId: f054adbc-26a3-4acd-8a9d-726a05bca0dr
+ requestUserId: 6092e75c451052000636831deb797bd1
+ enterpriseId: 1032e75c451052000436831deb797af1
+ walletId: 2032e75g451052000636831abd797bd3
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ walletType: custodial
+ type: UNSTAKE
+ coin: dot
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: NEW
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: string
+ withdrawalAddress: 3Lwg4hE19Kg4BdUkuDh4v8xXoyoRQkbDMM6wX7zjQP6i
+ delegated: '10012000000'
+ status: ACTIVE
+ rewards: '12000000'
+ lockedRewards: '0'
+ pendingUnstake: '10012000000'
+ pendingStake: '0'
+ apy: '8.3'
+ unstakingFee: '1000000'
+ unstakingMin: '0'
+ transactions:
+ - id: i0500adbc-55b43-5tta-9a9d-726a05bca0op
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: READY
+ amount: '1012'
+ transactionType: undelegate
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ - id: p0500adbc-55b43-5tta-9a9d-726a05bca0dr
+ stakingRequestId: e055adbc-66a3-4ccd-9a9d-726a05bca0cf
+ createdDate: '2022-01-10T14:32:28.000Z'
+ statusModifiedDate: '2022-01-10T14:32:28.000Z'
+ status: WAITING
+ amount: '10012000000'
+ transactionType: withdraw_undelegated
+ delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ amount: '10012000000'
+ WalletStakingStateAttributesExamples:
+ summary: Wallet Staking Attributes
+ value:
+ disclaimer:
+ staking:
+ info:
+ - |
+ 'Unstaking broadcasts 2 transactions: the transaction to unstake and the transaction to claim your reward. The network has to confirm the unstaking transaction then the claim transaction will be automatically created.'
+ transactionsNeeded: 1
+ stakeWarmupPeriodDesc: 3 to 6 days
+ rewardPercentageRate: '2'
+ rewardsCompounding: false
+ unstaking:
+ info:
+ - |
+ 'Unstaking broadcasts 2 transactions: the transaction to unstake and the transaction to claim your reward. The network has to confirm the unstaking transaction then the claim transaction will be automatically created.'
+ transactionsNeeded: 2
+ unStakeCooldownPeriodDesc: 3 to 6 days
+ permission:
+ staking:
+ enabled: true
+ allowClientToUseOwnValidator: false
+ unstaking:
+ enabled: false
+ disabledReason: Wallet 62f502fbd19a040007cae8d3fa0e6660 doesn't have active delegation
+ wallet:
+ hasEnoughAdmins: true
+ numberOfRequiredAdmins: 1
+ spendable:
+ staking:
+ fee: '10000'
+ max: '997547864'
+ min: '2282880'
+ netMax: '997537864'
+ netMin: '2292880'
+ isStakingDurationNeeded: false
+ minStakeMore: '0'
+ unstaking:
+ fee: '10000'
+ max: '0'
+ min: '0'
+ multipleDelegations: false
+ DotWalletStakingStateAttributesExamples:
+ summary: Dot Wallet Staking Attributes
+ value:
+ disclaimer:
+ staking:
+ info:
+ - 'Minimum staking period is: 1 day.'
+ - Once staked, the unstaking takes 28 eras (about 28 days).
+ - |
+ 'Unstaking requires approving 2 transactions: the transaction to unstake and the transaction to claim your staking balance plus rewards.'
+ transactionsNeeded: 1
+ stakeWarmupPeriodDesc: '172800'
+ rewardPercentageRate: '13.92'
+ rewardsCompounding: true
+ unstaking:
+ info:
+ - |
+ 'Unstaking broadcasts 2 transactions: the transaction to unbond and the transaction to claim your staking amount. The network has to confirm the unbonding transaction then the claim transaction will be automatically created.'
+ transactionsNeeded: 2
+ unStakeCooldownPeriodDesc: '2419200'
+ permission:
+ staking:
+ enabled: false
+ disabledReason: Wallet 63a1d3892f03840007e056e3880391ee has insufficient funds
+ allowClientToUseOwnValidator: false
+ unstaking:
+ enabled: true
+ wallet:
+ hasEnoughAdmins: true
+ numberOfRequiredAdmins: 0
+ spendable:
+ staking:
+ fee: '12923673972'
+ max: '0'
+ min: '1000000000000'
+ netMax: '0'
+ netMin: '1012923673972'
+ isStakingDurationNeeded: false
+ minStakeMore: '0'
+ unstaking:
+ fee: '45410610588'
+ max: '20384805835211'
+ min: '1000000000000'
+ multipleDelegations: false
+ EthDelegationResultsExample:
+ summary: Ethereum Delegation Results Example
+ value:
+ page: 1
+ totalPages: 1
+ totalElements: 2
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '3200000000000000000'
+ status: ACTIVE
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '3200000000000000000'
+ pendingStake: '0'
+ apy: '8.3'
+ coin: eth
+ walletId: 2032e75g451052000636831abd797bd3
+ unstakingFee: '100000000000000'
+ unstakingMin: '0'
+ - id: e0225adbc-55b43-5tta-9a9d-726a05bca0ai
+ delegationAddress: 0x3b6406c9710f588ca733360bfa8033d0ef9ecre4
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '3200000000000000000'
+ status: ACTIVE
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '0'
+ pendingStake: '0'
+ apy: '8.3'
+ coin: eth
+ walletId: 2032e75g451052000636831abd797bd3
+ unstakingFee: '1000000000000000'
+ unstakingMin: '0'
+ AvaxPDelegationResultsExample:
+ summary: AvaxP Delegation Results Example
+ value:
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '0'
+ coin: avaxp
+ walletId: 63110fc78b108e00071df2d3c3879dd0
+ status: PENDING
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '0'
+ pendingStake: '1000'
+ apy: '6.5100'
+ unstakeable: false
+ page: 1
+ totalPages: 1
+ totalElements: 1
+ DotDelegationResultsExample:
+ summary: Dot Delegation Results Example
+ value:
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '0'
+ coin: dot
+ walletId: 63110fc78b108e00071df2d3c3879dd0
+ status: PENDING
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '0'
+ pendingStake: '1000'
+ apy: '6.5100'
+ unstakeable: false
+ page: 1
+ totalPages: 1
+ totalElements: 1
+ MaticDelegationResultsExample:
+ summary: Matic Delegation Results Example
+ value:
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '0'
+ coin: matic
+ walletId: 63110fc78b108e00071df2d3c3879dd0
+ status: PENDING
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '0'
+ pendingStake: '1000'
+ apy: '6.5100'
+ unstakeable: false
+ page: 1
+ totalPages: 1
+ totalElements: 1
+ NearDelegationResultsExample:
+ summary: Near Delegation Results Example
+ value:
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '0'
+ coin: near
+ walletId: 63110fc78b108e00071df2d3c3879dd0
+ status: PENDING
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '0'
+ pendingStake: '1000'
+ apy: '6.5100'
+ unstakeable: false
+ page: 1
+ totalPages: 1
+ totalElements: 1
+ SolDelegationResultsExample:
+ summary: Sol Delegation Results Example
+ value:
+ delegations:
+ - id: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf
+ delegationAddress: 0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5
+ withdrawalAddress: '0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c'
+ delegated: '0'
+ coin: sol
+ walletId: 63110fc78b108e00071df2d3c3879dd0
+ status: PENDING
+ rewards: '0'
+ lockedRewards: '0'
+ pendingUnstake: '0'
+ pendingStake: '1000'
+ apy: '6.5100'
+ unstakeable: false
+ page: 1
+ totalPages: 1
+ totalElements: 1
+ StakeableCoinsResultExample:
+ summary: Stakeable Coins Result Example
+ value:
+ coins:
+ - symbol: tmatic
+ baseUnit: wei
+ isToken: true
+ isMultiSig: true
+ isTss: false
+ l1Chain: gteth
+ - symbol: gteth
+ baseUnit: wei
+ isToken: false
+ isMultiSig: true
+ isTss: false
+ page: 1
+ totalPages: 1
+ totalElements: 2
+ AvaxPWalletStakingStateAttributesExamples:
+ summary: AvaxP Wallet Staking Attributes
+ value:
+ disclaimer:
+ staking:
+ info:
+ - Minimum staking period is 14 days. Maximum staking period is 1 year (365 days). Minimum to stake is 2000 AVAX. Maximum to stake is 3M AVAX.
+ transactionsNeeded: 1
+ rewardPercentageRate: '2'
+ rewardsCompounding: false
+ unstaking:
+ info:
+ - Once staked you CANNOT unstake. It will auto-unstake at the end of your staking period.
+ transactionsNeeded: 0
+ permission:
+ staking:
+ enabled: true
+ allowClientToUseOwnValidator: true
+ unstaking:
+ enabled: false
+ disabledReason: AVAXP is auto-unstaked
+ wallet:
+ hasEnoughAdmins: true
+ numberOfRequiredAdmins: 1
+ spendable:
+ staking:
+ fee: '0'
+ max: '13995243325'
+ min: '1000000000'
+ netMax: '13995243325'
+ netMin: '1000000000'
+ isStakingDurationNeeded: true
+ minStakeMore: '0'
+ minDuration: '86400'
+ maxDuration: '31536000'
+ unstaking:
+ fee: '0'
+ max: '0'
+ min: '0'
+ multipleDelegations: false
+ SolWalletStakingStateAttributesExamples:
+ summary: Sol Wallet Staking Attributes
+ value:
+ disclaimer:
+ staking:
+ info:
+ - |
+ 'Unstaking broadcasts 2 transactions: the transaction to unstake and the transaction to claim your reward. The network has to confirm the unstaking transaction then the claim transaction will be automatically created.'
+ transactionsNeeded: 1
+ stakeWarmupPeriodDesc: 3 to 6 days
+ rewardPercentageRate: '2'
+ rewardsCompounding: false
+ unstaking:
+ info:
+ - |
+ 'Unstaking broadcasts 2 transactions: the transaction to unstake and the transaction to claim your reward. The network has to confirm the unstaking transaction then the claim transaction will be automatically created.'
+ transactionsNeeded: 2
+ unStakeCooldownPeriodDesc: 3 to 6 days
+ permission:
+ staking:
+ enabled: false
+ disabledReason: Wallet 62fba335ff37ad00079d56a8b4fd3ebe has insufficient funds
+ allowClientToUseOwnValidator: false
+ unstaking:
+ enabled: false
+ disabledReason: Wallet 62fba335ff37ad00079d56a8b4fd3ebe doesn't have active delegation
+ wallet:
+ hasEnoughAdmins: true
+ numberOfRequiredAdmins: 1
+ spendable:
+ staking:
+ fee: '10000'
+ max: '0'
+ min: '2282880'
+ netMax: '0'
+ netMin: '2292880'
+ isStakingDurationNeeded: false
+ minStakeMore: '0'
+ unstaking:
+ fee: '10000'
+ max: '0'
+ min: '0'
+ multipleDelegations: false
+ MaticWalletStakingStateAttributesExamples:
+ summary: Matic Wallet Staking Attributes
+ value:
+ disclaimer:
+ staking:
+ info:
+ - |
+ 'Unstaking broadcasts 2 transactions: the transaction to unstake and the transaction to claim your reward. The network has to confirm the unstaking transaction then the claim transaction will be automatically created.'
+ transactionsNeeded: 2
+ stakeWarmupPeriodDesc: tbd
+ rewardPercentageRate: '6.5100'
+ rewardsCompounding: false
+ unstaking:
+ info:
+ - |
+ 'Unstaking broadcasts 2 transactions: the transaction to unstake and the transaction to claim your reward. The network has to confirm the unstaking transaction then the claim transaction will be automatically created.'
+ transactionsNeeded: 2
+ unStakeCooldownPeriodDesc: tbd
+ permission:
+ staking:
+ enabled: true
+ allowClientToUseOwnValidator: false
+ unstaking:
+ enabled: true
+ wallet:
+ hasEnoughAdmins: true
+ numberOfRequiredAdmins: 2
+ spendable:
+ staking:
+ fee: '888546618800000'
+ max: '2010492598925385321'
+ min: '1'
+ netMax: '2009604052306585321'
+ netMin: '888546618800001'
+ isStakingDurationNeeded: false
+ minStakeMore: '0'
+ unstaking:
+ multipleDelegations: true
+ NearWalletStakingStateAttributesExamples:
+ summary: Near Wallet Staking Attributes
+ value:
+ disclaimer:
+ staking:
+ info:
+ - |
+ 'Unstaking broadcasts 2 transactions: the transaction to unstake and the transaction to claim your reward. The network has to confirm the unstaking transaction then the claim transaction will be automatically created.'
+ transactionsNeeded: 2
+ stakeWarmupPeriodDesc: tbd
+ rewardPercentageRate: '6.5100'
+ rewardsCompounding: false
+ unstaking:
+ info:
+ - |
+ 'Unstaking broadcasts 2 transactions: the transaction to unstake and the transaction to claim your reward. The network has to confirm the unstaking transaction then the claim transaction will be automatically created.'
+ transactionsNeeded: 2
+ unStakeCooldownPeriodDesc: tbd
+ permission:
+ staking:
+ enabled: true
+ allowClientToUseOwnValidator: false
+ unstaking:
+ enabled: true
+ wallet:
+ hasEnoughAdmins: true
+ numberOfRequiredAdmins: 2
+ spendable:
+ staking:
+ fee: '888546618800000'
+ max: '2010492598925385321'
+ min: '1'
+ netMax: '2009604052306585321'
+ netMin: '888546618800001'
+ isStakingDurationNeeded: false
+ minStakeMore: '0'
+ unstaking:
+ multipleDelegations: true
+ SolStakingValidatorsResultsExample:
+ summary: Solana Staking Validators Results Example
+ value:
+ page: 1
+ totalPages: 1
+ totalElements: 1
+ validators:
+ delegationAddress: BAGUCfvdwdioWSR8rqJKqJXHk4ZkQcUfvMLfM9QinZFY
+ coin: sol
+ delegated: '40026861'
+ rewards: '26861'
+ apy: '5.71'
+ type: Unknown
+ SuiStakingPartneredValidatorsResultsExample:
+ summary: SUI Staking Partnered Validators Results Example
+ value:
+ page: 1
+ totalPages: 1
+ totalElements: 1
+ validators:
+ delegationAddress: '0x22b35a7481fb136e5585c43421cf8ab49d0e219e902dedc40c2778acdcc7bc9c'
+ type: FIGMENT
+ totalStaked: '100000000'
+ reward: '300000000'
+ apy: '9.999'
+ commission: '0.999'
+ coin: tsui
+ LicenseResultsExample:
+ summary: Staking License Result Example
+ value:
+ enterpriseId: 61c0ff41174c4e0007ae78b2a0bea1ec
+ fees:
+ - coin: near
+ fee: '4'
+ - coin: sol
+ fee: '5'
+ defaultFee: '10'
+ responses:
+ BadRequest:
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/GeneralError'
+ - $ref: '#/components/schemas/ValidationError'
+ example:
+ code: BadRequest
+ message: Bad Request
+ status: 400
+ Forbidden:
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GeneralError'
+ example:
+ code: AccessDenied
+ message: License not added for enterprise
+ status: 403
+ NotFound:
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GeneralError'
+ example:
+ code: NotFound
+ message: Touchpoint not found
+ status: 404
+ ServerError:
+ description: Server Error - Transient error please try again
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GeneralError'
+ example:
+ code: Internal_Server_Error
+ message: Database is down
+ status: 500
+ Unauthorized:
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GeneralError'
+ example:
+ code: Unauthorized
+ message: Unauthorized
+ status: 401
+x-tagGroups:
+ - name: API reference
+ tags:
+ - Activation
+ - Address
+ - Approval Requests
+ - Audit log
+ - Bank account
+ - Counterparties
+ - Clearing & Settlement
+ - Client Allocations & Deallocations
+ - Client Balances
+ - Client Settlements & Transfers
+ - Enterprise
+ - Enterprise Webhooks
+ - Entity Validation
+ - Express
+ - Federation
+ - Key
+ - Lightning
+ - Material
+ - Onboarding
+ - Organization
+ - Enterprise Management
+ - Organization Management
+ - Organization Search History
+ - Organization Trades
+ - Organization Transfers
+ - Organization Webhooks
+ - Partner Allocations & Deallocations
+ - Partner Balances
+ - Partner Settlements & Transfers
+ - Pending approval
+ - Plaid
+ - Policy Builder
+ - Portfolio REST API
+ - User Management
+ - CryptoCompare
+ - Reports
+ - Send label
+ - Staking
+ - Staking Request
+ - Staking State Information
+ - Staking History
+ - Settlement Onboarding
+ - Settlement Signing
+ - Settlements
+ - Trade REST API
+ - Trading Account Settings
+ - Trading Partners
+ - Transaction request
+ - Transfer
+ - User
+ - Roles & Permissions
+ - Wallet
+ - Wallet Policy
+ - Wallet share
+ - Webhook