From 85dd9e0360f58f3c0c87648f132952ee9e247ba7 Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Wed, 17 Sep 2025 21:32:37 +0000 Subject: [PATCH 01/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/api.yaml b/api.yaml index ba3c097..e402404 100644 --- a/api.yaml +++ b/api.yaml @@ -44217,17 +44217,8 @@ components: required: - maxPriorityFeePerGas - maxFeePerGas - evmKeyRingReferenceWalletId: - type: string - description: Optional reference wallet ID for EVM keyring child wallets. When provided, child wallets inherit properties from the parent wallet. - anyOf: - - not: - required: - - evmKeyRingReferenceWalletId - required: - - label - - required: - - evmKeyRingReferenceWalletId + required: + - label CreateWebhookSecretResponse: title: CreateWebhookSecretResponse type: object From ba39d5be5f67025a2ce488ac54072688a39c6d18 Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Wed, 17 Sep 2025 21:33:10 +0000 Subject: [PATCH 02/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/api.yaml b/api.yaml index e402404..64ea28d 100644 --- a/api.yaml +++ b/api.yaml @@ -68369,23 +68369,6 @@ components: type: string example: 59cd72485007a239fb00282ed480da1f pattern: ^[0-9a-f]{32}$ - evmKeyRingReferenceWalletId: - type: string - description: Reference wallet ID for EVM keyring wallets (child wallets only) - example: 59cd72485007a239fb00282ed480da1f - pattern: ^[0-9a-f]{32}$ - isParent: - type: boolean - description: Indicates if this wallet is a parent wallet in an EVM keyring setup - example: true - enabledChildChains: - type: array - example: - - tbsc - - tpolygon - items: - type: string - description: Array of enabled child chain names for parent EVM keyring wallets organization: type: string bitgoOrg: @@ -69254,23 +69237,6 @@ components: type: string example: 59cd72485007a239fb00282ed480da1f pattern: ^[0-9a-f]{32}$ - evmKeyRingReferenceWalletId: - type: string - description: Reference wallet ID for EVM keyring wallets (child wallets only) - example: 59cd72485007a239fb00282ed480da1f - pattern: ^[0-9a-f]{32}$ - isParent: - type: boolean - description: Indicates if this wallet is a parent wallet in an EVM keyring setup - example: true - enabledChildChains: - type: array - example: - - tbsc - - tpolygon - items: - type: string - description: Array of enabled child chain names for parent EVM keyring wallets organization: type: string bitgoOrg: From 6d0890f496d3bf301ab42f58956e391ec64e96e2 Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Wed, 17 Sep 2025 21:35:58 +0000 Subject: [PATCH 03/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 61 -------------------------------------------------------- 1 file changed, 61 deletions(-) diff --git a/api.yaml b/api.yaml index 64ea28d..c401fd9 100644 --- a/api.yaml +++ b/api.yaml @@ -33890,56 +33890,6 @@ paths: application/json: schema: $ref: '#/components/schemas/PlatformError' - /api/v1/admin/events/reprocess: - put: - summary: Reprocess Dead Letter Queue Event - description: Reprocesses a dead letter queue event back to the event queue - operationId: wd.v1.admin.event.reprocess - tags: - - WD - parameters: [] - requestBody: - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - dlqId: - type: number - required: - - eventType - - dlqId - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AdminReprocessEventResponse' - '404': - description: Not Found - content: - application/json: - schema: - type: object - properties: - error: - type: string - required: - - error - '500': - description: Internal Server Error - content: - application/json: - schema: - type: object - properties: - error: - type: string - required: - - error components: callbacks: {} examples: @@ -39953,17 +39903,6 @@ components: description: Count of the addresses in the current response required: - coin - AdminReprocessEventResponse: - title: AdminReprocessEventResponse - type: object - properties: - eventQueueId: - type: number - eventType: - type: string - required: - - eventQueueId - - eventType AdvancedListCondition: title: AdvancedListCondition type: object From 2b34f46a675a4b2fabcc8edb55b7f5e73cdda81e Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Wed, 17 Sep 2025 21:36:15 +0000 Subject: [PATCH 04/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 354 ++++++++++++------------------------------------------- 1 file changed, 78 insertions(+), 276 deletions(-) diff --git a/api.yaml b/api.yaml index c401fd9..41c7845 100644 --- a/api.yaml +++ b/api.yaml @@ -9689,6 +9689,11 @@ paths: required: false schema: type: string + - name: request-id + in: header + required: false + schema: + type: string responses: '200': description: List of user subscriptions @@ -9702,70 +9707,10 @@ paths: summary: Set user subscriptions description: Updates the notification subscriptions for the authenticated user. Accepts a list of subscription changes and applies them, replacing the user's current subscriptions with the provided set. operationId: setUserSubscriptions - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationSubscriptionListRequest' - required: true - responses: - '200': - description: User subscriptions updated - content: - application/json: - schema: - type: object - //api/notifications/v1/admin/user/{bitgoUserId}/subscriptions: - get: - tags: - - Admin - summary: Get user notification subscriptions (admin) - description: Retrieves the notification subscriptions for a specified user. Admins can optionally filter by communication channel, category name, or notification name to narrow the results. Useful for auditing or managing user notification preferences. - operationId: getUserSubscriptions_1 - parameters: - - name: bitgoUserId - in: path - required: true - schema: - type: string - - name: channel - in: query - required: false - schema: - type: string - - name: categoryName - in: query - required: false - schema: - type: string - - name: notificationName - in: query - required: false - schema: - type: string - responses: - '200': - description: List of user subscriptions - content: - application/json: - schema: - $ref: '#/components/schemas/UserSubscriptionsResponse' - x-internal: 'true' - put: - tags: - - Admin - summary: Set user notification subscriptions (admin) - description: Allows an admin to update or create notification subscriptions for a user. Accepts a batch of subscriptions and replaces the user's current subscriptions with the provided set. Useful for bulk management of user notification preferences. - operationId: setUserSubscriptions_1 parameters: - - name: user-id + - name: request-id in: header - required: true - schema: - type: string - - name: bitgoUserId - in: path - required: true + required: false schema: type: string requestBody: @@ -9780,8 +9725,7 @@ paths: content: application/json: schema: - type: string - x-internal: 'true' + type: object //api/notifications/v1/tokens: post: tags: @@ -9789,114 +9733,45 @@ paths: summary: Add device token for user description: Registers a new device token for the authenticated user. If the token already exists, updates its association or last set time as appropriate. Used for enabling push notifications to the user's device. operationId: addUserDeviceToken - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AddDeviceTokenRequest' - required: true - responses: - '201': - description: Device token added - content: - application/json: - schema: - $ref: '#/components/schemas/AddDeviceTokenResponse' - //api/notifications/v1/admin/resend: - post: - tags: - - Admin - summary: Admin resend notification - description: Allows an admin with the appropriate permission to resend a notification email to a user. This endpoint is restricted to users with 'updateIndexerNotification' authority and is used to re-fire transaction webhook notifications or similar events. - operationId: resendNotification - parameters: - - name: user-id - in: header - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ResendNotificationRequest' - required: true - responses: - '200': - description: Notification resent - content: - application/json: - schema: - type: string - x-internal: 'true' - //api/notifications/v1/admin/email/unblock: - post: - tags: - - Admin - summary: Unblock user email (admin) - description: Enables an admin to unblock a user's email address, allowing notifications to be sent again. Requires a reason for unblocking and is restricted to users with 'updateUser' authority. - operationId: unblockEmail parameters: - - name: user-id + - name: request-id in: header - required: true + required: false schema: type: string requestBody: content: application/json: schema: - $ref: '#/components/schemas/UnblockEmailRequest' + $ref: '#/components/schemas/AddDeviceTokenRequest' required: true responses: - '200': - description: Email unblocked - content: - application/json: - schema: - type: string - x-internal: 'true' - //api/notifications/v1/admin/example: - get: - tags: - - Admin - summary: Admin example endpoint - description: Returns a simple OK response for testing or demonstration purposes. Useful for verifying admin API connectivity. - operationId: getAdminExample - responses: - '200': - description: OK response + '201': + description: Device token added content: application/json: schema: - type: string - x-internal: 'true' - //api/notifications/v1/admin/audit-logs: + $ref: '#/components/schemas/AddDeviceTokenResponse' + //api/notifications/v1/categories: get: tags: - - Admin - summary: Get audit logs (admin) - description: Retrieves audit logs based on the provided filters. Allows admins to review actions and changes made within the notification command center for compliance and troubleshooting. - operationId: getAuditLogs + - User Management Notification + summary: Get notification categories + description: Retrieves all available notification categories in the system. This is a public endpoint that does not require authentication. + operationId: getCategories parameters: - - name: user-id + - name: request-id in: header - required: true + required: false schema: type: string - - name: request - in: query - required: true - schema: - $ref: '#/components/schemas/GetAuditLogsRequest' responses: '200': - description: Audit logs + description: List of notification categories content: application/json: schema: - type: string - x-internal: 'true' + $ref: '#/components/schemas/CategoriesResponse' //api/notifications/v1/tokens/{deviceToken}: delete: tags: @@ -9910,6 +9785,11 @@ paths: required: true schema: type: string + - name: request-id + in: header + required: false + schema: + type: string responses: '202': description: Device token removed @@ -39450,11 +39330,16 @@ components: - pendingChainInitialization - rewardAddress AddDeviceTokenRequest: + required: + - appId + - deviceToken + - platform + - provider type: object properties: deviceToken: - type: string minLength: 1 + type: string provider: type: string enum: @@ -39465,14 +39350,16 @@ components: - ANDROID - IOS appId: - type: string minLength: 1 + type: string + AddDeviceTokenResponse: required: - appId + - bitgoUserId - deviceToken + - message - platform - provider - AddDeviceTokenResponse: type: object properties: deviceToken: @@ -39492,13 +39379,6 @@ components: type: string message: type: string - required: - - appId - - bitgoUserId - - deviceToken - - message - - platform - - provider AddUserToOrganizationEnterpriseResponseC: title: AddUserToOrganizationEnterpriseResponseC type: object @@ -42646,6 +42526,15 @@ components: - lastTransferId - pendingChainInitialization - rootAddress + CategoriesResponse: + required: + - categories + type: object + properties: + categories: + type: array + items: + type: string CbitAccountResponseProps: title: CbitAccountResponseProps type: object @@ -44533,6 +44422,10 @@ components: - ACTIVE - COMPLETE DeleteDeviceTokenResponse: + required: + - bitgoUserId + - deviceToken + - message type: object properties: deviceToken: @@ -44541,10 +44434,6 @@ components: type: string message: type: string - required: - - bitgoUserId - - deviceToken - - message DeleteEnterpriseUser: type: object properties: @@ -48844,60 +48733,6 @@ components: country: type: string description: ISO 3166-1 Alpha-3 country code - GetAuditLogsRequest: - type: object - properties: - userId: - type: string - email: - type: string - username: - type: string - eventType: - type: string - enum: - - NOTIFICATION_SENT - - NOTIFICATION_FAILED - - NOTIFICATION_RETRIED - - NOTIFICATION_DELIVERED - - NOTIFICATION_READ - - NOTIFICATION_CLICKED - - NOTIFICATION_UNSUBSCRIBED - - USER_CREATED - - USER_UPDATED - - USER_DELETED - - ADMIN_RESEND_NOTIFICATION - - ADMIN_UNBLOCK_EMAIL - - ADMIN_PATCH_CATEGORY_SUBSCRIPTION - - ADMIN_GET_AUDIT_LOGS - - ADMIN_POST_CATEGORY_SUBSCRIPTION - - ADMIN_POST_NOTIFICATION_SUBSCRIPTION - - EMAIL_BLOCKED_BOUNCE - - EMAIL_UNSUBSCRIBED_COMPLAINT - startDate: - type: string - format: date-time - endDate: - type: string - format: date-time - page: - type: integer - format: int32 - size: - type: integer - format: int32 - maximum: 100 - sortBy: - type: string - pattern: ^(timestamp|id)$ - sortDirection: - type: string - pattern: ^(ASC|DESC)$ - required: - - page - - size - - sortBy - - sortDirection GetEnterpriseResponse: title: GetEnterpriseResponse allOf: @@ -53471,17 +53306,20 @@ components: operator: $ref: '#/components/schemas/OperatorType' NotificationSubscriptionListRequest: + required: + - notificationSubscriptions type: object properties: notificationSubscriptions: + maxItems: 100 + minItems: 0 type: array items: $ref: '#/components/schemas/NotificationSubscriptionRequest' - maxItems: 100 - minItems: 0 - required: - - notificationSubscriptions NotificationSubscriptionRequest: + required: + - channel + - isSubscribed type: object properties: notificationName: @@ -53489,14 +53327,11 @@ components: categoryName: type: string channel: - type: string maxLength: 50 minLength: 0 + type: string isSubscribed: type: boolean - required: - - channel - - isSubscribed NtildeProof: title: NtildeProof type: object @@ -58341,29 +58176,6 @@ components: - processing - completed - failed - ResendNotificationRequest: - type: object - properties: - userId: - type: string - minLength: 1 - email: - type: string - notificationType: - type: string - enum: - - EMAIL - - SMS - - PUSH - - WEBHOOK - workflowName: - type: string - minLength: 1 - required: - - email - - notificationType - - userId - - workflowName ResendShareEmailResponse: type: object properties: @@ -64704,16 +64516,6 @@ components: multipleDelegations: description: True, if more than one active staking delegation exists for a wallet. type: boolean - UnblockEmailRequest: - type: object - properties: - email: - type: string - reasonForUnblocking: - type: string - required: - - email - - reasonForUnblocking Unlock: title: Unlock type: object @@ -65336,6 +65138,15 @@ components: - timezone - $ref: '#/components/schemas/UserRequiredFields' UserEntity: + required: + - bitgoUserId + - createdAt + - email + - firstName + - lastName + - status + - updatedAt + - username type: object properties: id: @@ -65371,15 +65182,6 @@ components: type: object additionalProperties: type: boolean - required: - - bitgoUserId - - createdAt - - email - - firstName - - lastName - - status - - updatedAt - - username UserKycState: type: string enum: @@ -65403,6 +65205,14 @@ components: - flagged - flagged_retry_allowed UserNotificationSubscriptionEntity: + required: + - categoryName + - channel + - createdAt + - isSubscribed + - notificationName + - updatedAt + - user type: object properties: id: @@ -65427,14 +65237,6 @@ components: subscribed: type: boolean writeOnly: true - required: - - categoryName - - channel - - createdAt - - isSubscribed - - notificationName - - updatedAt - - user UserRequiredFields: title: UserRequiredFields type: object @@ -65500,14 +65302,14 @@ components: email: $ref: '#/components/schemas/Email' UserSubscriptionsResponse: + required: + - notificationSubscriptions type: object properties: notificationSubscriptions: type: array items: $ref: '#/components/schemas/UserNotificationSubscriptionEntity' - required: - - notificationSubscriptions UserVerificationElements: title: UserVerificationElements type: object From 278c15c9f5f73e6593c4698fa3d9d544a73fcc5d Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Wed, 17 Sep 2025 21:36:38 +0000 Subject: [PATCH 05/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 626 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 596 insertions(+), 30 deletions(-) diff --git a/api.yaml b/api.yaml index 41c7845..5ed89e1 100644 --- a/api.yaml +++ b/api.yaml @@ -23649,13 +23649,19 @@ paths: required: true schema: type: string - - $ref: '#/components/parameters/coin1' + - $ref: '#/components/parameters/queryCoins' - name: walletType in: query description: Filter by Wallet Type (e.g. custodial, hot) required: false schema: type: string + enum: + - cold + - custodial + - custodialPaired + - hot + - trading - name: walletIds in: query description: Wallet Ids @@ -23664,6 +23670,12 @@ paths: type: array items: type: string + - name: permissions + in: query + description: Filter by user permissions + required: false + schema: + type: string - name: requestType in: query description: Filter by Staking Request Type @@ -23757,6 +23769,153 @@ paths: errorName: Internal_Server_Error reqId: some-id /api/staking/v1/{coin}/wallets/{walletId}/requests/{stakingRequestId}/transactions/{stakingTransactionId}: + get: + tags: + - Staking Request + summary: Get a staking transaction + description: Retrieve details of a staking transaction for a given wallet and staking request. + operationId: v1.staking.transaction.get + 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 + - name: expandBuildParams + in: query + description: Whether to expand transaction build parameters in the response. + required: false + schema: + type: boolean + default: false + responses: + '200': + description: Successful get on a Transaction + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AsiStakingTransaction' + - $ref: '#/components/schemas/AtomStakingTransaction' + - $ref: '#/components/schemas/AvaxcStakingTransaction' + - $ref: '#/components/schemas/AvaxPStakingTransaction' + - $ref: '#/components/schemas/BabyStakingTransaction' + - $ref: '#/components/schemas/BldStakingTransaction' + - $ref: '#/components/schemas/BscStakingTransaction' + - $ref: '#/components/schemas/CoredaoStakingTransaction' + - $ref: '#/components/schemas/CoreumStakingTransaction' + - $ref: '#/components/schemas/CronosStakingTransaction' + - $ref: '#/components/schemas/CsprStakingTransaction' + - $ref: '#/components/schemas/DotStakingTransaction' + - $ref: '#/components/schemas/EigenStakingTransaction' + - $ref: '#/components/schemas/EthStakingTransaction' + - $ref: '#/components/schemas/HashStakingTransaction' + - $ref: '#/components/schemas/InjectiveStakingTransaction' + - $ref: '#/components/schemas/MaticStakingTransaction' + - $ref: '#/components/schemas/NearStakingTransaction' + - $ref: '#/components/schemas/OsmoStakingTransaction' + - $ref: '#/components/schemas/PolStakingTransaction' + - $ref: '#/components/schemas/PolyxStakingTransaction' + - $ref: '#/components/schemas/RethRocketStakingTransaction' + - $ref: '#/components/schemas/SeiStakingTransaction' + - $ref: '#/components/schemas/SolStakingTransaction' + - $ref: '#/components/schemas/SuiStakingTransaction' + - $ref: '#/components/schemas/SuiWalStakingTransaction' + - $ref: '#/components/schemas/TaoStakingTransaction' + - $ref: '#/components/schemas/TiaStakingTransaction' + - $ref: '#/components/schemas/TrxStakingTransaction' + - $ref: '#/components/schemas/WethStakingTransaction' + - $ref: '#/components/schemas/ZetaStakingTransaction' + - $ref: '#/components/schemas/StakingTransaction' + 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' + example: + error: Bad Request + errorName: BadRequest + reqId: some-id + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Unauthorized + errorName: Unauthorized + reqId: some-id + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Staking license not added for enterprise + errorName: AccessDenied + reqId: some-id + '404': + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Wallet not found + errorName: NotFound + reqId: some-id + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Conflicting clientID + errorName: Conflict + reqId: some-id + '500': + description: Server Error - Transient error please try again + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Database is down + errorName: Internal_Server_Error + reqId: some-id post: tags: - Staking Request @@ -24169,6 +24328,110 @@ paths: error: Database is down errorName: Internal_Server_Error reqId: some-id + /api/staking/v1/enterprises/{enterpriseId}: + get: + tags: + - Staking State Information + summary: Get staking totals at the enterprise level + description: Retrieve staking totals across all coins for a given enterprise, including delegated balances, rewards, and staking metadata. + operationId: v1.staking.enterprise.allCoins + parameters: + - name: enterpriseId + in: path + description: The enterprise ID representing the enterprise a user staked from. + required: true + schema: + type: string + - name: pageSize + in: query + description: Number of results to return per page. Default is 20. + required: false + schema: + type: integer + minimum: 1 + default: 20 + - name: page + in: query + description: Page number of results to return. Default is 1. + required: false + schema: + type: integer + minimum: 1 + default: 1 + - name: staked + in: query + description: Filter results to only include staked assets if true, or unstaked if false. + required: false + schema: + type: boolean + responses: + '200': + description: Successful response containing staking totals for the enterprise across all coins. + content: + application/json: + schema: + $ref: '#/components/schemas/EnterpriseStakingTotals' + '400': + description: Bad Request + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/StakingError' + example: + error: Bad Request + errorName: BadRequest + reqId: some-id + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Unauthorized + errorName: Unauthorized + reqId: some-id + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Staking license not added for enterprise + errorName: AccessDenied + reqId: some-id + '404': + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Wallet not found + errorName: NotFound + reqId: some-id + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Conflicting clientID + errorName: Conflict + reqId: some-id + '500': + description: Server Error - Transient error please try again + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Database is down + errorName: Internal_Server_Error + reqId: some-id /api/staking/v1/{coin}/enterprises/{enterpriseId}: get: tags: @@ -24197,6 +24460,67 @@ paths: delegated: '6400000000000000000' rewards: '1000000000000000' apy: '8.2' + '400': + description: Bad Request + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/StakingError' + example: + error: Bad Request + errorName: BadRequest + reqId: some-id + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Unauthorized + errorName: Unauthorized + reqId: some-id + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Staking license not added for enterprise + errorName: AccessDenied + reqId: some-id + '404': + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Wallet not found + errorName: NotFound + reqId: some-id + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Conflicting clientID + errorName: Conflict + reqId: some-id + '500': + description: Server Error - Transient error please try again + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Database is down + errorName: Internal_Server_Error + reqId: some-id /api/staking/v1/{coin}/enterprises/{enterpriseId}/tokens: get: tags: @@ -24324,7 +24648,7 @@ paths: description: The time range for the data, either hourly or daily. required: false schema: - type: string + $ref: '#/components/schemas/TimeRange' - name: startDate in: query description: The start date to search from. @@ -24870,12 +25194,7 @@ paths: 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 + - $ref: '#/components/parameters/coin1' - name: enterpriseId in: query description: The enterprise ID. @@ -24884,22 +25203,17 @@ paths: type: string - name: walletId in: query - description: The wallet ID. - required: false - schema: - type: string - - name: delegationStatus - in: query - description: The delegation status. + description: The wallet ID required: false schema: - type: string + $ref: '#/components/schemas/WalletId' - name: onlyActive in: query description: True only if validators with active delegations are requested required: false schema: type: boolean + default: true - name: defaultValidator in: query description: True only if the default validator is requested @@ -24918,6 +25232,7 @@ paths: required: false schema: type: string + default: STAKE - $ref: '#/components/parameters/queryPage' - $ref: '#/components/parameters/queryPageSize' responses: @@ -25072,6 +25387,20 @@ paths: type: string - $ref: '#/components/parameters/queryCoins' - $ref: '#/components/parameters/queryLabel' + - name: walletType + in: query + description: Filter by Wallet Type (cold, custodial, custodialPaired, hot, trading) + required: false + schema: + type: array + items: + type: string + enum: + - cold + - custodial + - custodialPaired + - hot + - trading - $ref: '#/components/parameters/queryPage' - $ref: '#/components/parameters/queryPageSize' responses: @@ -25131,6 +25460,96 @@ paths: error: Database is down errorName: Internal_Server_Error reqId: some-id + /api/staking/v1/enterprises/{enterpriseId}/coins: + get: + tags: + - Staking State Information + summary: Get list of stake-able coins + description: Returns a paginated list of stake-able coins for the given enterprise with basic attributes. + operationId: v1.enterprise.stakingCoins.list + parameters: + - name: enterpriseId + in: path + description: The enterprise ID. + required: true + schema: + type: string + - $ref: '#/components/parameters/queryPage' + - $ref: '#/components/parameters/queryPageSize' + - name: staked + in: query + description: Filter by whether the coin is currently staked. + required: false + schema: + type: boolean + responses: + '200': + description: Successful response containing staking totals for the enterprise across all coins. + content: + application/json: + schema: + $ref: '#/components/schemas/EnterpriseStakingTotals' + '400': + description: Bad Request + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/StakingError' + example: + error: Bad Request + errorName: BadRequest + reqId: some-id + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Unauthorized + errorName: Unauthorized + reqId: some-id + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Staking license not added for enterprise + errorName: AccessDenied + reqId: some-id + '404': + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Wallet not found + errorName: NotFound + reqId: some-id + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Conflicting clientID + errorName: Conflict + reqId: some-id + '500': + description: Server Error - Transient error please try again + content: + application/json: + schema: + $ref: '#/components/schemas/StakingError' + example: + error: Database is down + errorName: Internal_Server_Error + reqId: some-id /api/staking/v1/enterprises/{enterpriseId}/stakeable-coins: get: tags: @@ -45963,6 +46382,23 @@ components: type: array items: $ref: '#/components/schemas/AuditableItem' + EnterpriseStakingTotals: + type: object + properties: + enterpriseStakingInfo: + type: array + description: A paginated list of staking information for the enterprise, grouped by coin. + items: + $ref: '#/components/schemas/StakingEnterprise' + 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. EnterpriseStub: title: Enterprise Stub type: object @@ -58255,6 +58691,26 @@ components: gasPrice: type: string description: User overridden gas price to apply for the generated transactions for this request. GasPrice is in base units. + RewardPairs: + type: object + properties: + tokenAddress: + description: The optional token address. + type: string + nullable: true + amount: + description: The total amount of the reward pair in base units. + type: string + activeAmount: + description: The currently active amount in base units. + type: string + coin: + description: The optional coin for this reward pair. + type: string + nullable: true + required: + - amount + - activeAmount RoutingNumberString: title: RoutingNumberString type: string @@ -60084,7 +60540,7 @@ components: type: object properties: enterpriseId: - description: The ID of the enterprise where the the staking request was created from. + description: The ID of the enterprise where the staking request was created from. type: string coin: description: The staking asset. @@ -60096,8 +60552,50 @@ components: 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) + 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 + pendingStake: + description: The pending stake amount in base units. + type: string + pendingUnstake: + description: The pending unstake amount in base units. + type: string + pendingClaimRewards: + description: The pending claimable rewards in base units. + type: string + baseUnit: + description: The coin base unit (e.g., wei for ETH). + type: string + isToken: + description: True if the staking asset is a token. + type: boolean + isTss: + description: True if the staking wallet uses threshold signatures (TSS). + type: boolean + isMultiSig: + description: True if the staking wallet uses multisig. + type: boolean + l1Chain: + description: The underlying L1 chain if the staking asset is on a different chain (e.g., ETH for L2 assets). + type: string + nullable: true + comingSoon: + description: True if the staking feature for this asset is marked as coming soon. + type: boolean + disclaimer: + $ref: '#/components/schemas/DisclaimerAttributes' + walletCount: + description: The number of wallets with delegations in this enterprise for the given coin. + type: integer + rewardCoin: + description: The coin used for rewards (if different from the staked asset). type: string + nullable: true + rewardPairs: + description: Reward pairs associated with the staking asset. + type: array + items: + $ref: '#/components/schemas/RewardPairs' StakingError: title: Staking Error type: object @@ -60110,14 +60608,14 @@ components: type: string context: type: object - StakingLicense: + StakingLicenseFee: type: object properties: coin: description: The name of the coin. type: string fee: - description: The corresponding fee for coin in current license. + description: The corresponding fee for the coin in the current license. type: string StakingLicenseResponse: type: object @@ -60130,12 +60628,9 @@ components: description: The default fee for the asset. fees: type: array - minItems: 1 - maxItems: 500 + description: The list of per-coin fees for this license. items: - allOf: - - $ref: '#/components/schemas/StakingLicense' - - type: object + $ref: '#/components/schemas/StakingLicenseFee' StakingPartneredValidator: type: object properties: @@ -60148,6 +60643,9 @@ components: totalStaked: description: The total staked amount in base units. type: string + delegated: + description: The delegated amount in base units. + type: string rewards: description: The reward accrual amount in base units. type: string @@ -60160,6 +60658,9 @@ components: coin: description: The staked coin. type: string + rewardCoin: + description: The coin used for rewards. + type: string avses: description: The validator's actively validated services (AVS) for restaking. type: array @@ -60168,6 +60669,52 @@ components: historicRatePerformance: description: The validator's historical reward rate for the last 30 days. type: string + pendingStake: + description: The amount pending staking. + type: string + pendingUnstake: + description: The amount pending unstaking. + type: string + enterpriseId: + description: The enterprise ID associated with the validator. + type: string + walletId: + description: The wallet ID associated with the validator. + type: string + lastRedelegationTimestamp: + description: The last redelegation timestamp. + type: string + permissionAttributes: + $ref: '#/components/schemas/WalletStakingPermissionAttributes' + spendableAttributes: + $ref: '#/components/schemas/WalletStakingSpendableAttributes' + pendingClaimRewards: + description: Pending claimable rewards in base units. + type: string + activeRewards: + description: Active rewards in base units. + type: string + count: + description: The validator’s delegation count. + type: string + preferred: + description: Whether this validator is marked as preferred. + type: boolean + default: false + restaking: + description: Whether this validator supports restaking. + type: boolean + rewardPairs: + type: array + items: + $ref: '#/components/schemas/RewardPairs' + stakingType: + description: The staking type. + type: string + default: STAKE + endTime: + description: The end time for validator participation (if applicable). + type: string StakingPartneredValidatorsResponse: type: object properties: @@ -60387,6 +60934,9 @@ components: reward: description: The reward in base units. type: string + coin: + description: The coin associated with the reward. + type: string walletId: description: The wallet ID. type: string @@ -60402,6 +60952,7 @@ components: format: date-time required: - reward + - coin - date StakingRewards: type: object @@ -60690,7 +61241,7 @@ components: description: List of reward pairs. type: array items: - type: object + $ref: '#/components/schemas/RewardPairs' stakingType: description: The staking type, e.g., STAKE. type: string @@ -60727,17 +61278,28 @@ components: description: The unique identifier of the staking wallet entity. type: string walletType: - description: The type of wallet the staking request was created from, either cold, custodial, or hot. + description: The type of wallet the staking request was created from. type: string + enum: + - cold + - custodial + - custodialPaired + - hot + - trading label: description: The label of the wallet the staking request was created from. type: string + nullable: true coin: description: The staking asset. type: string parentCoin: description: The parent asset of the staking coin. type: string + nullable: true + assetBalance: + description: The total asset balance in base units. + type: string delegated: description: The delegated staked amount in base units. type: string @@ -60777,9 +61339,13 @@ components: createdDate: description: The date the staking request was created. type: string + format: date-time + nullable: true modifiedDate: description: The last date the staking wallet was modified. type: string + format: date-time + nullable: true properties: description: Additional properties of the staking wallet. type: object @@ -60787,16 +61353,16 @@ components: - enterpriseId - walletId - walletType - - label - coin - delegated - pendingUnstake - pendingStake - rewards + - pendingClaimRewards - lockedRewards + - reserved + - pendingReserved - apy - - createdDate - - modifiedDate StakingWalletsResponse: type: object properties: From ebaa67882693a6f354ce56d826ecc69556e58fc6 Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Thu, 18 Sep 2025 21:13:40 +0000 Subject: [PATCH 06/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 1290 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 1227 insertions(+), 63 deletions(-) diff --git a/api.yaml b/api.yaml index 5ed89e1..79591dc 100644 --- a/api.yaml +++ b/api.yaml @@ -22859,10 +22859,11 @@ paths: - $ref: '#/components/schemas/AdaStakingRequestPOSTBody' - $ref: '#/components/schemas/AdaUnStakingRequestPOSTBody' - $ref: '#/components/schemas/AsiStakingRequestPOSTBody' - - $ref: '#/components/schemas/WflrClaimRewardsRequestPOSTBody' - $ref: '#/components/schemas/AsiUnStakingRequestPOSTBody' - $ref: '#/components/schemas/AtomStakingRequestPOSTBody' - $ref: '#/components/schemas/AtomUnStakingRequestPOSTBody' + - $ref: '#/components/schemas/AtomClaimRewardsRequestPOSTBody' + - $ref: '#/components/schemas/AtomSwitchValidatorsRequestPOSTBody' - $ref: '#/components/schemas/AvaxCStakingRequestPOSTBody' - $ref: '#/components/schemas/AvaxPStakingRequestPOSTBody' - $ref: '#/components/schemas/BabyStakingRequestPOSTBody' @@ -22871,6 +22872,8 @@ paths: - $ref: '#/components/schemas/BeraUnStakingRequestPOSTBody' - $ref: '#/components/schemas/BldStakingRequestPOSTBody' - $ref: '#/components/schemas/BldUnStakingRequestPOSTBody' + - $ref: '#/components/schemas/BldClaimRewardsRequestPOSTBody' + - $ref: '#/components/schemas/BldSwitchValidatorsRequestPOSTBody' - $ref: '#/components/schemas/BscStakingRequestPOSTBody' - $ref: '#/components/schemas/BscUnStakingRequestPOSTBody' - $ref: '#/components/schemas/BtcStakingRequestPOSTBody' @@ -22879,10 +22882,14 @@ paths: - $ref: '#/components/schemas/CoredaoUnStakingRequestPOSTBody' - $ref: '#/components/schemas/CoreumStakingRequestPOSTBody' - $ref: '#/components/schemas/CoreumUnStakingRequestPOSTBody' + - $ref: '#/components/schemas/CoreumClaimRewardsRequestPOSTBody' + - $ref: '#/components/schemas/CoreumSwitchValidatorsRequestPOSTBody' - $ref: '#/components/schemas/CosmosLikeStakingRequestPOSTBody' - $ref: '#/components/schemas/CosmosLikeUnStakingRequestPOSTBody' - $ref: '#/components/schemas/CronosStakingRequestPOSTBody' - $ref: '#/components/schemas/CronosUnStakingRequestPOSTBody' + - $ref: '#/components/schemas/CronosClaimRewardsRequestPOSTBody' + - $ref: '#/components/schemas/CronosSwitchValidatorsRequestPOSTBody' - $ref: '#/components/schemas/CsprStakingRequestPOSTBody' - $ref: '#/components/schemas/CsprUnStakingRequestPOSTBody' - $ref: '#/components/schemas/DotStakingRequestPOSTBody' @@ -22894,12 +22901,16 @@ paths: - $ref: '#/components/schemas/HashUnStakingRequestPOSTBody' - $ref: '#/components/schemas/InjectiveStakingRequestPOSTBody' - $ref: '#/components/schemas/InjectiveUnStakingRequestPOSTBody' + - $ref: '#/components/schemas/InjectiveClaimRewardsRequestPOSTBody' + - $ref: '#/components/schemas/InjectiveSwitchValidatorsRequestPOSTBody' - $ref: '#/components/schemas/MaticStakingRequestPOSTBody' - $ref: '#/components/schemas/MaticUnStakingRequestPOSTBody' - $ref: '#/components/schemas/NearStakingRequestPOSTBody' - $ref: '#/components/schemas/NearUnStakingRequestPOSTBody' - $ref: '#/components/schemas/OsmoStakingRequestPOSTBody' - $ref: '#/components/schemas/OsmoUnStakingRequestPOSTBody' + - $ref: '#/components/schemas/OsmoClaimRewardsRequestPOSTBody' + - $ref: '#/components/schemas/OsmoSwitchValidatorsRequestPOSTBody' - $ref: '#/components/schemas/PolStakingRequestPOSTBody' - $ref: '#/components/schemas/PolUnStakingRequestPOSTBody' - $ref: '#/components/schemas/PolyxStakingRequestPOSTBody' @@ -22908,19 +22919,27 @@ paths: - $ref: '#/components/schemas/RethRocketUnStakingRequestPOSTBody' - $ref: '#/components/schemas/SeiStakingRequestPOSTBody' - $ref: '#/components/schemas/SeiUnStakingRequestPOSTBody' + - $ref: '#/components/schemas/SeiClaimRewardsRequestPOSTBody' + - $ref: '#/components/schemas/SeiSwitchValidatorsRequestPOSTBody' - $ref: '#/components/schemas/SolStakingRequestPOSTBody' - $ref: '#/components/schemas/SolUnStakingRequestPOSTBody' + - $ref: '#/components/schemas/SolClaimRewardsRequestPOSTBody' - $ref: '#/components/schemas/SomiStakingRequestPOSTBody' + - $ref: '#/components/schemas/SomiClaimRewardsRequestPOSTBody' + - $ref: '#/components/schemas/SomiSwitchValidatorsRequestPOSTBody' - $ref: '#/components/schemas/StxStakingRequestPOSTBody' - $ref: '#/components/schemas/StxUnStakingRequestPOSTBody' - $ref: '#/components/schemas/SuiStakingRequestPOSTBody' - $ref: '#/components/schemas/SuiUnStakingRequestPOSTBody' + - $ref: '#/components/schemas/SuiClaimRewardsRequestPOSTBody' - $ref: '#/components/schemas/SuiWalStakingRequestPOSTBody' - $ref: '#/components/schemas/SuiWalUnStakingRequestPOSTBody' - $ref: '#/components/schemas/TaoStakingRequestPOSTBody' - $ref: '#/components/schemas/TaoUnStakingRequestPOSTBody' - $ref: '#/components/schemas/TiaStakingRequestPOSTBody' - $ref: '#/components/schemas/TiaUnStakingRequestPOSTBody' + - $ref: '#/components/schemas/TiaClaimRewardsRequestPOSTBody' + - $ref: '#/components/schemas/TiaSwitchValidatorsRequestPOSTBody' - $ref: '#/components/schemas/TonStakingRequestPOSTBody' - $ref: '#/components/schemas/TonUnStakingRequestPOSTBody' - $ref: '#/components/schemas/TrxStakingRequestPOSTBody' @@ -22931,13 +22950,12 @@ paths: - $ref: '#/components/schemas/WethUnStakingRequestPOSTBody' - $ref: '#/components/schemas/WflrStakingRequestPOSTBody' - $ref: '#/components/schemas/WflrUnStakingRequestPOSTBody' + - $ref: '#/components/schemas/WflrClaimRewardsRequestPOSTBody' - $ref: '#/components/schemas/ZetaStakingRequestPOSTBody' - $ref: '#/components/schemas/ZetaUnStakingRequestPOSTBody' examples: AdaStakingRequestPOSTBodyExample: $ref: '#/components/examples/AdaStakingRequestPOSTBodyExample' - WflrClaimRewardsRequestPOSTBodyExample: - $ref: '#/components/examples/WflrClaimRewardsRequestPOSTBodyExample' AdaUnStakingRequestPOSTBodyExample: $ref: '#/components/examples/AdaUnStakingRequestPOSTBodyExample' AsiStakingRequestPOSTBodyExample: @@ -22948,6 +22966,10 @@ paths: $ref: '#/components/examples/AtomStakingRequestPOSTBodyExample' AtomUnStakingRequestPOSTBodyExample: $ref: '#/components/examples/AtomUnStakingRequestPOSTBodyExample' + AtomClaimRewardsRequestPOSTBodyExample: + $ref: '#/components/examples/AtomClaimRewardsRequestPOSTBodyExample' + AtomSwitchValidatorRequestPOSTBodyExample: + $ref: '#/components/examples/AtomSwitchValidatorRequestPOSTBodyExample' AvaxCStakingRequestPOSTBodyExample: $ref: '#/components/examples/AvaxCStakingRequestPOSTBodyExample' AvaxPStakingRequestPOSTBodyExample: @@ -22964,6 +22986,10 @@ paths: $ref: '#/components/examples/BldStakingRequestPOSTBodyExample' BldUnStakingRequestPOSTBodyExample: $ref: '#/components/examples/BldUnStakingRequestPOSTBodyExample' + BldClaimRewardsRequestPOSTBodyExample: + $ref: '#/components/examples/BldClaimRewardsRequestPOSTBodyExample' + BldSwitchValidatorRequestPOSTBodyExample: + $ref: '#/components/examples/BldSwitchValidatorRequestPOSTBodyExample' BscStakingRequestPOSTBodyExample: $ref: '#/components/examples/BscStakingRequestPOSTBodyExample' BscUnStakingRequestPOSTBodyExample: @@ -22980,10 +23006,18 @@ paths: $ref: '#/components/examples/CoreumStakingRequestPOSTBodyExample' CoreumUnStakingRequestPOSTBodyExample: $ref: '#/components/examples/CoreumUnStakingRequestPOSTBodyExample' + CoreumClaimRewardsRequestPOSTBodyExample: + $ref: '#/components/examples/CoreumClaimRewardsRequestPOSTBodyExample' + CoreumSwitchValidatorRequestPOSTBodyExample: + $ref: '#/components/examples/CoreumSwitchValidatorRequestPOSTBodyExample' CronosStakingRequestPOSTBodyExample: $ref: '#/components/examples/CronosStakingRequestPOSTBodyExample' CronosUnStakingRequestPOSTBodyExample: $ref: '#/components/examples/CronosUnStakingRequestPOSTBodyExample' + CronosClaimRewardsRequestPOSTBodyExample: + $ref: '#/components/examples/CronosClaimRewardsRequestPOSTBodyExample' + CronosSwitchValidatorRequestPOSTBodyExample: + $ref: '#/components/examples/CronosSwitchValidatorRequestPOSTBodyExample' CsprStakingRequestPOSTBodyExample: $ref: '#/components/examples/CsprStakingRequestPOSTBodyExample' CsprUnStakingRequestPOSTBodyExample: @@ -23006,6 +23040,10 @@ paths: $ref: '#/components/examples/InjectiveStakingRequestPOSTBodyExample' InjectiveUnStakingRequestPOSTBodyExample: $ref: '#/components/examples/InjectiveUnStakingRequestPOSTBodyExample' + InjectiveClaimRewardsRequestPOSTBodyExample: + $ref: '#/components/examples/InjectiveClaimRewardsRequestPOSTBodyExample' + InjectiveSwitchValidatorRequestPOSTBodyExample: + $ref: '#/components/examples/InjectiveSwitchValidatorRequestPOSTBodyExample' MaticStakingRequestPOSTBodyExample: $ref: '#/components/examples/MaticStakingRequestPOSTBodyExample' MaticUnstakingRequestPOSTBodyExample: @@ -23018,6 +23056,10 @@ paths: $ref: '#/components/examples/OsmoStakingRequestPOSTBodyExample' OsmoUnStakingRequestPOSTBodyExample: $ref: '#/components/examples/OsmoUnStakingRequestPOSTBodyExample' + OsmoClaimRewardsRequestPOSTBodyExample: + $ref: '#/components/examples/OsmoClaimRewardsRequestPOSTBodyExample' + OsmoSwitchValidatorRequestPOSTBodyExample: + $ref: '#/components/examples/OsmoSwitchValidatorRequestPOSTBodyExample' PolStakingRequestPOSTBodyExample: $ref: '#/components/examples/PolStakingRequestPOSTBodyExample' PolUnStakingRequestPOSTBodyExample: @@ -23034,12 +23076,20 @@ paths: $ref: '#/components/examples/SeiStakingRequestPOSTBodyExample' SeiUnStakingRequestPOSTBodyExample: $ref: '#/components/examples/SeiUnStakingRequestPOSTBodyExample' + SeiClaimRewardsRequestPOSTBodyExample: + $ref: '#/components/examples/SeiClaimRewardsRequestPOSTBodyExample' + SeiSwitchValidatorRequestPOSTBodyExample: + $ref: '#/components/examples/SeiSwitchValidatorRequestPOSTBodyExample' SolStakingRequestPOSTBodyExample: $ref: '#/components/examples/SolStakingRequestPOSTBodyExample' SolUnStakingRequestPOSTBodyExample: $ref: '#/components/examples/SolUnStakingRequestPOSTBodyExample' SomiStakingRequestPOSTBodyExample: $ref: '#/components/examples/SomiStakingRequestPOSTBodyExample' + SomiClaimRewardsRequestPOSTBodyExample: + $ref: '#/components/examples/SomiClaimRewardsRequestPOSTBodyExample' + SomiSwitchValidatorRequestPOSTBodyExample: + $ref: '#/components/examples/SomiSwitchValidatorRequestPOSTBodyExample' StxStakingRequestPOSTBodyExample: $ref: '#/components/examples/StxStakingRequestPOSTBodyExample' StxUnStakingRequestPOSTBodyExample: @@ -23060,6 +23110,10 @@ paths: $ref: '#/components/examples/TiaStakingRequestPOSTBodyExample' TiaUnStakingRequestPOSTBodyExample: $ref: '#/components/examples/TiaUnStakingRequestPOSTBodyExample' + TiaClaimRewardsRequestPOSTBodyExample: + $ref: '#/components/examples/TiaClaimRewardsRequestPOSTBodyExample' + TiaSwitchValidatorRequestPOSTBodyExample: + $ref: '#/components/examples/TiaSwitchValidatorRequestPOSTBodyExample' TonStakingRequestPOSTBodyExample: $ref: '#/components/examples/TonStakingRequestPOSTBodyExample' TonUnStakingRequestPOSTBodyExample: @@ -23080,6 +23134,8 @@ paths: $ref: '#/components/examples/WflrStakingRequestPOSTBodyExample' WflrUnStakingRequestPOSTBodyExample: $ref: '#/components/examples/WflrUnStakingRequestPOSTBodyExample' + WflrClaimRewardsRequestPOSTBodyExample: + $ref: '#/components/examples/WflrClaimRewardsRequestPOSTBodyExample' ZetaStakingRequestPOSTBodyExample: $ref: '#/components/examples/ZetaStakingRequestPOSTBodyExample' ZetaUnStakingRequestPOSTBodyExample: @@ -24974,6 +25030,8 @@ paths: - title: General - $ref: '#/components/schemas/WalletStakingStateAttributes' examples: + AdaWalletStakingStateAttributesExamples: + $ref: '#/components/examples/AdaWalletStakingStateAttributesExamples' WalletStakingStateAttributesExamples: $ref: '#/components/examples/WalletStakingStateAttributesExamples' DotWalletStakingStateAttributesExamples: @@ -34280,6 +34338,90 @@ components: statusModifiedDate: 2022-01-10T14:32:28.000Z status: NEW amount: '10012000000' + AdaWalletStakingStateAttributesExamples: + summary: ADA Wallet Staking Attributes + value: + disclaimer: + staking: + info: + - In order to get ADA rewards, users must stake and be approved which takes about 20 days. Afterwards, users must wait til the next epoch which is about 5 days to claim your rewards. Afterwards, staked rewards can be claimed after each epoch. + transactionsNeeded: 1 + stakeWarmupPeriodDesc: 15-20 Days + rewardPercentageRate: '3.00' + rewardsCompounding: true + period: + periodLow: '432000' + periodHigh: '432000' + coin: tada + type: WARMUP + minStake: '2000000' + unstaking: + info: + - ADA staked balance is liquid. You can withdraw any time without unstaking. + transactionsNeeded: 0 + unStakeCooldownPeriodDesc: '' + claimRewards: + info: + - Rewards are accrued after each epoch and can be claimed once accrued. + transactionsNeeded: 1 + nextRewards: + rewardCycle: 86400 + permission: + staking: + enabled: false + disabledReason: 'Wallet is already staking. Delegated: 5118.53216 tada.Pending delegation: 0 tada' + allowClientToUseOwnValidator: true + allowClientToUseOwnDRep: true + allowVoteDelegation: true + requireVoteDelegation: false + unstaking: + enabled: false + disabledReason: ADA staked balance is liquid. You can withdraw any time without unstaking. + claimRewards: + enabled: false + disabledReason: Wallet does not have any available rewards to be claimed + wallet: + hasEnoughAdmins: true + numberOfRequiredAdmins: 1 + useValidatorList: false + skipAddressValidation: false + allowPartialUnstake: true + restakingEnabled: false + validatorNotNeededForStake: false + spendable: + staking: + fee: '200000' + max: '0' + min: '0' + multiplier: '1' + netMax: '0' + netMin: '0' + isStakingDurationNeeded: false + minStakeMore: '0' + fields: + - name: dRepId + label: DRep ID + required: false + type: dRepId + coin: tada + useValidatorList: false + readonly: false + isDelegated: false + unstaking: + fee: '200000' + max: '5118532160' + min: '0' + multiplier: '1' + multipleDelegations: false + requiresAmount: true + requiresDelegationId: false + requiresDelegationIds: false + claimRewards: + fee: '200000' + max: '0' + min: '0' + multiplier: '1' + requiresDelegationId: false AsiStakingRequestPOSTBodyExample: summary: Asi Staking Request POST Body Example value: @@ -34325,6 +34467,12 @@ components: statusModifiedDate: 2022-01-10T14:32:28.000Z status: NEW amount: '10012000000' + AtomClaimRewardsRequestPOSTBodyExample: + summary: Example ATOM Claim Rewards Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174000 + type: CLAIM_REWARDS + delegationId: atom-delegation-1 AtomStakingRequestPOSTBodyExample: summary: Atom Staking Request POST Body Example value: @@ -34347,6 +34495,13 @@ components: statusModifiedDate: 2022-01-10T14:32:28.000Z status: NEW amount: '10000000000' + AtomSwitchValidatorRequestPOSTBodyExample: + summary: Example ATOM Switch Validator Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174100 + type: SWITCH_VALIDATOR + delegationId: atom-delegation-1 + validator: cosmosvaloper1abcxyz AtomUnStakingRequestPOSTBodyExample: summary: Atom UnStaking Request POST Body Example value: @@ -34623,6 +34778,12 @@ components: gasPrice: '1000000' subType: NATIVE_STAKE operator: beraoper1q2w3e4r5t6y7u8i9o0pqlkmn3j4h5g6f7d8s9 + BldClaimRewardsRequestPOSTBodyExample: + summary: Example BLD Claim Rewards Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174001 + type: CLAIM_REWARDS + delegationId: bld-delegation-1 BldStakingRequestPOSTBodyExample: summary: Bld Staking Request POST Body Example value: @@ -34645,6 +34806,13 @@ components: statusModifiedDate: 2022-01-10T14:32:28.000Z status: NEW amount: '10000000000' + BldSwitchValidatorRequestPOSTBodyExample: + summary: Example BLD Switch Validator Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174101 + type: SWITCH_VALIDATOR + delegationId: bld-delegation-1 + validator: bldvaloper1abcxyz BldUnStakingRequestPOSTBodyExample: summary: Bld UnStaking Request POST Body Example value: @@ -34811,6 +34979,12 @@ components: totalStaked: '0' amount: '500000000000' gasPrice: '200000000000' + CoreumClaimRewardsRequestPOSTBodyExample: + summary: Example COREUM Claim Rewards Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174002 + type: CLAIM_REWARDS + delegationId: coreum-delegation-1 CoreumStakingRequestPOSTBodyExample: summary: Coreum Staking Request POST Body Example value: @@ -34833,6 +35007,13 @@ components: statusModifiedDate: 2022-01-10T14:32:28.000Z status: NEW amount: '10000000000' + CoreumSwitchValidatorRequestPOSTBodyExample: + summary: Example COREUM Switch Validator Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174102 + type: SWITCH_VALIDATOR + delegationId: coreum-delegation-1 + validator: coreumvaloper1abcxyz CoreumUnStakingRequestPOSTBodyExample: summary: Coreum UnStaking Request POST Body Example value: @@ -34878,6 +35059,12 @@ components: - 643f146bb13653000765c478a384a656 lockType: LOCK_AFTER_DATE lockDate: '2023-11-13T14:49:48.830522Z' + CronosClaimRewardsRequestPOSTBodyExample: + summary: Example CRONOS Claim Rewards Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174003 + type: CLAIM_REWARDS + delegationId: cronos-delegation-1 CronosStakingRequestPOSTBodyExample: summary: Cronos Staking Request POST Body Example value: @@ -34900,6 +35087,13 @@ components: statusModifiedDate: 2022-01-10T14:32:28.000Z status: NEW amount: '10000000000' + CronosSwitchValidatorRequestPOSTBodyExample: + summary: Example CRONOS Switch Validator Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174103 + type: SWITCH_VALIDATOR + delegationId: cronos-delegation-1 + validator: cronosvaloper1abcxyz CronosUnStakingRequestPOSTBodyExample: summary: Cronos UnStaking Request POST Body Example value: @@ -35974,6 +36168,12 @@ components: createdBy: 5d1a5f2c8f0a9c001a5f2c8f0ad00000 modifiedBy: 5d1a5f2c8f0a9c001a5f2c8f0ad00000 evaluationId: 306258df-dcab-489e-a9fe-ff28ce9fa312 + InjectiveClaimRewardsRequestPOSTBodyExample: + summary: Example INJ Claim Rewards Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174004 + type: CLAIM_REWARDS + delegationId: inj-delegation-1 InjectiveStakingRequestPOSTBodyExample: summary: Injective Staking Request POST Body Example value: @@ -35996,6 +36196,13 @@ components: statusModifiedDate: 2022-01-10T14:32:28.000Z status: NEW amount: '10000000000' + InjectiveSwitchValidatorRequestPOSTBodyExample: + summary: Example INJ Switch Validator Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174104 + type: SWITCH_VALIDATOR + delegationId: inj-delegation-1 + validator: injvaloper1abcxyz InjectiveUnStakingRequestPOSTBodyExample: summary: Injective UnStaking Request POST Body Example value: @@ -36690,6 +36897,12 @@ components: minStakeMore: '0' unstaking: multipleDelegations: true + OsmoClaimRewardsRequestPOSTBodyExample: + summary: Example OSMO Claim Rewards Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174005 + type: CLAIM_REWARDS + delegationId: osmo-delegation-1 OsmoStakingRequestPOSTBodyExample: summary: Osmo Staking Request POST Body Example value: @@ -36712,6 +36925,13 @@ components: statusModifiedDate: 2022-01-10T14:32:28.000Z status: NEW amount: '10000000000' + OsmoSwitchValidatorRequestPOSTBodyExample: + summary: Example OSMO Switch Validator Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174105 + type: SWITCH_VALIDATOR + delegationId: osmo-delegation-1 + validator: osmovaloper1abcxyz OsmoUnStakingRequestPOSTBodyExample: summary: Osmo UnStaking Request POST Body Example value: @@ -37130,6 +37350,12 @@ components: required: ALWAYS allowMultiple: true values: [] + SeiClaimRewardsRequestPOSTBodyExample: + summary: Example SEI Claim Rewards Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174006 + type: CLAIM_REWARDS + delegationId: sei-delegation-1 SeiStakingRequestPOSTBodyExample: summary: Sei Staking Request POST Body Example value: @@ -37152,6 +37378,13 @@ components: statusModifiedDate: 2022-01-10T14:32:28.000Z status: NEW amount: '10000000000' + SeiSwitchValidatorRequestPOSTBodyExample: + summary: Example SEI Switch Validator Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174106 + type: SWITCH_VALIDATOR + delegationId: sei-delegation-1 + validator: seivaloper1abcxyz SeiUnStakingRequestPOSTBodyExample: summary: Sei UnStaking Request POST Body Example value: @@ -37465,6 +37698,12 @@ components: max: '0' min: '0' multipleDelegations: false + SomiClaimRewardsRequestPOSTBodyExample: + summary: Example SOMI Claim Rewards Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174007 + type: CLAIM_REWARDS + delegationId: somi-delegation-1 SomiStakingRequestPOSTBodyExample: summary: Somi Staking Request POST Body Example value: @@ -37472,6 +37711,13 @@ components: amount: '5000000000000000000' type: STAKE validator: '0x1234567890123456789012345678901234567890' + SomiSwitchValidatorRequestPOSTBodyExample: + summary: Example SOMI Switch Validator Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174107 + type: SWITCH_VALIDATOR + delegationId: somi-delegation-1 + validator: somivaloper1abcxyz StakeableCoinsResultExample: summary: Stakeable Coins Result Example value: @@ -37919,6 +38165,12 @@ components: statusModifiedDate: 2022-01-10T14:32:28.000Z status: NEW amount: '1012000000' + TiaClaimRewardsRequestPOSTBodyExample: + summary: Example TIA Claim Rewards Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174008 + type: CLAIM_REWARDS + delegationId: tia-delegation-1 TiaStakingRequestPOSTBodyExample: summary: Tia Staking Request POST Body Example value: @@ -37941,6 +38193,13 @@ components: statusModifiedDate: 2022-01-10T14:32:28.000Z status: NEW amount: '10000000000' + TiaSwitchValidatorRequestPOSTBodyExample: + summary: Example TIA Switch Validator Request + value: + clientId: 123e4567-e89b-12d3-a456-426614174108 + type: SWITCH_VALIDATOR + delegationId: tia-delegation-1 + validator: tiavaloper1abcxyz TiaUnStakingRequestPOSTBodyExample: summary: Tia UnStaking Request POST Body Example value: @@ -40891,6 +41150,25 @@ components: required: - rootAddress - memoId + AtomClaimRewardsRequestPOSTBody: + title: Cosmos Hub (ATOM) Claim Rewards Request + type: object + description: Request to claim staking rewards for Cosmos Hub (ATOM). + required: + - type + - delegationId + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: + type: string + description: Identifier of the delegation. AtomPaymentIntent: title: Atom Payment Intent allOf: @@ -40962,6 +41240,29 @@ components: allOf: - $ref: '#/components/schemas/StakingTransaction' type: object + AtomSwitchValidatorsRequestPOSTBody: + title: Cosmos Hub (ATOM) Switch Validators Request + type: object + description: Request to switch staking delegation to a new validator for Cosmos Hub (ATOM). + required: + - type + - delegationId + - validator + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - SWITCH_VALIDATORS + description: Type of request. + delegationId: + type: string + description: Identifier of the existing delegation to switch from. + validator: + type: string + description: Address of the new validator to delegate to. AtomUnStakingRequestPOSTBody: title: ATOM unstake allOf: @@ -41805,6 +42106,18 @@ components: - customers_cubix_api - customers_sftp - lead + BaseDisclaimer: + type: object + description: Base fields common to all disclaimers. + properties: + info: + description: List of disclaimer messages. + type: array + items: + type: string + transactionsNeeded: + description: Number of transactions required. + type: integer BaseGoStakeIntent: title: BaseGoStakeIntent allOf: @@ -41881,6 +42194,19 @@ components: $ref: '#/components/schemas/optionalString' required: - intentType + BasePermissionAttributes: + description: Base attributes for all permission types. + type: object + properties: + enabled: + description: True if the permission is enabled. + type: boolean + disabledReason: + description: Reason why the permission is disabled, if applicable. + type: string + nullable: true + required: + - enabled BaseShare: title: BaseShare type: object @@ -42186,6 +42512,25 @@ components: description: BitGo MPCv2 public key required: - name + BldClaimRewardsRequestPOSTBody: + title: Agoric (BLD) Claim Rewards Request + type: object + description: Request to claim staking rewards for Agoric (BLD). + required: + - type + - delegationId + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: + type: string + description: Identifier of the delegation. BldStakingDelegation: allOf: - $ref: '#/components/schemas/StakingDelegation' @@ -42220,6 +42565,29 @@ components: allOf: - $ref: '#/components/schemas/StakingTransaction' type: object + BldSwitchValidatorsRequestPOSTBody: + title: Agoric (BLD) Switch Validators Request + type: object + description: Request to switch staking delegation to a new validator for Agoric (BLD). + required: + - type + - delegationId + - validator + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - SWITCH_VALIDATORS + description: Type of request. + delegationId: + type: string + description: Identifier of the existing delegation to switch from. + validator: + type: string + description: Address of the new validator to delegate to. BldUnStakingRequestPOSTBody: title: BLD unstake allOf: @@ -43080,6 +43448,51 @@ components: - unlock - bulkUnlock - bulkArchive + ClaimRewardsDisclaimerAttributes: + allOf: + - $ref: '#/components/schemas/BaseDisclaimer' + type: object + description: Disclaimer information for claiming rewards. + ClaimRewardsPermissionAttributes: + allOf: + - $ref: '#/components/schemas/BasePermissionAttributes' + type: object + description: Permission attributes specific to claiming staking rewards. + ClaimRewardsSpendableAttributes: + allOf: + - $ref: '#/components/schemas/BaseSpendableAttributes' + type: object + description: Spendable attributes specific to claiming staking rewards. + properties: + breakdown: + $ref: '#/components/schemas/ClaimRewardsSpendableBreakdown' + requiresDelegationId: + type: boolean + description: True if a delegation ID must be specified when claiming rewards. + rewardCoin: + description: The coin in which rewards are distributed. + type: string + rewardPairs: + type: array + description: Optional list of reward pairs (e.g., multiple tokens being rewarded). + items: + $ref: '#/components/schemas/RewardPairs' + ClaimRewardsSpendableBreakdown: + type: object + description: Breakdown of rewards available for claiming. + properties: + totalRewards: + type: string + description: Total accumulated rewards (claimable + pending). + claimableRewards: + type: string + description: Rewards that are immediately available for claiming. + pendingClaimRewards: + type: string + description: Rewards that are pending and not yet claimable. + claimFee: + type: string + description: Estimated fee required to claim rewards. Clause: type: object description: | @@ -43818,6 +44231,25 @@ components: gasPrice: type: string description: User overridden gas price to apply for the generated transactions for this request. GasPrice is in base units. + CoreumClaimRewardsRequestPOSTBody: + title: Coreum Claim Rewards Request + type: object + description: Request to claim staking rewards for Coreum. + required: + - type + - delegationId + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: + type: string + description: Identifier of the delegation. CoreumStakingDelegation: allOf: - $ref: '#/components/schemas/StakingDelegation' @@ -43852,6 +44284,29 @@ components: allOf: - $ref: '#/components/schemas/StakingTransaction' type: object + CoreumSwitchValidatorsRequestPOSTBody: + title: Coreum Switch Validators Request + type: object + description: Request to switch staking delegation to a new validator for Coreum. + required: + - type + - delegationId + - validator + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - SWITCH_VALIDATORS + description: Type of request. + delegationId: + type: string + description: Identifier of the existing delegation to switch from. + validator: + type: string + description: Address of the new validator to delegate to. CoreumUnStakingRequestPOSTBody: title: COREUM unstake allOf: @@ -44474,6 +44929,25 @@ components: type: string required: - secret + CronosClaimRewardsRequestPOSTBody: + title: Cronos Claim Rewards Request + type: object + description: Request to claim staking rewards for Cronos. + required: + - type + - delegationId + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: + type: string + description: Identifier of the delegation. CronosStakingDelegation: allOf: - $ref: '#/components/schemas/StakingDelegation' @@ -44508,6 +44982,29 @@ components: allOf: - $ref: '#/components/schemas/StakingTransaction' type: object + CronosSwitchValidatorsRequestPOSTBody: + title: Cronos Switch Validators Request + type: object + description: Request to switch staking delegation to a new validator for Cronos. + required: + - type + - delegationId + - validator + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - SWITCH_VALIDATORS + description: Type of request. + delegationId: + type: string + description: Identifier of the existing delegation to switch from. + validator: + type: string + description: Address of the new validator to delegate to. CronosUnStakingRequestPOSTBody: title: CRONOS unstake allOf: @@ -46890,6 +47387,26 @@ components: - fee - newAccountFee - netFee + EstimationPeriodAttributes: + type: object + description: Estimation period details for staking. + properties: + periodLow: + description: Lower bound of the period in seconds or blocks. + type: string + periodHigh: + description: Upper bound of the period in seconds or blocks. + type: string + coin: + description: Coin associated with the period. + type: string + type: + description: Type of period (WARMUP, EXIT, COOLDOWN). + type: string + enum: + - WARMUP + - EXIT + - COOLDOWN EthAccelerationIntent: title: ETH Acceleration Intent allOf: @@ -50668,6 +51185,25 @@ components: 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 + InjectiveClaimRewardsRequestPOSTBody: + title: Injective Claim Rewards Request + type: object + description: Request to claim staking rewards for Injective. + required: + - type + - delegationId + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: + type: string + description: Identifier of the delegation. InjectiveStakingDelegation: allOf: - $ref: '#/components/schemas/StakingDelegation' @@ -50702,6 +51238,29 @@ components: allOf: - $ref: '#/components/schemas/StakingTransaction' type: object + InjectiveSwitchValidatorsRequestPOSTBody: + title: Injective Switch Validators Request + type: object + description: Request to switch staking delegation to a new validator for Injective. + required: + - type + - delegationId + - validator + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - SWITCH_VALIDATORS + description: Type of request. + delegationId: + type: string + description: Identifier of the existing delegation to switch from. + validator: + type: string + description: Address of the new validator to delegate to. InjectiveUnStakingRequestPOSTBody: title: INJECTIVE unstake allOf: @@ -53684,6 +54243,13 @@ components: 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. + NextRewardsDisclaimerAttributes: + type: object + description: Information about the next rewards cycle. + properties: + rewardCycle: + description: Time in seconds until the next reward cycle. + type: integer NonNegativeBigAmount: title: NonNegativeBigAmount type: string @@ -54724,6 +55290,25 @@ components: - member - customer example: admin + OsmoClaimRewardsRequestPOSTBody: + title: Osmosis (OSMO) Claim Rewards Request + type: object + description: Request to claim staking rewards for Osmosis (OSMO). + required: + - type + - delegationId + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: + type: string + description: Identifier of the delegation. OsmoStakingDelegation: allOf: - $ref: '#/components/schemas/StakingDelegation' @@ -54758,6 +55343,29 @@ components: allOf: - $ref: '#/components/schemas/StakingTransaction' type: object + OsmoSwitchValidatorsRequestPOSTBody: + title: Osmosis (OSMO) Switch Validators Request + type: object + description: Request to switch staking delegation to a new validator for Osmosis (OSMO). + required: + - type + - delegationId + - validator + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - SWITCH_VALIDATORS + description: Type of request. + delegationId: + type: string + description: Identifier of the existing delegation to switch from. + validator: + type: string + description: Address of the new validator to delegate to. OsmoUnStakingRequestPOSTBody: title: OSMO unstake allOf: @@ -58637,6 +59245,38 @@ components: - walletId - expireTime - userId + Restaking: + type: object + description: Attributes related to restaking positions. + properties: + total: + description: Total amount currently restaked. + type: string + pendingStake: + description: Amount of stake that has been requested but is not yet active. + type: string + pendingUnstake: + description: Amount of stake that is pending to be unstaked. + type: string + operator: + description: The operator identifier for the restaking position. + type: string + type: + description: The type of restaking (e.g., EigenLayer, AVS, etc.). + type: string + avses: + description: Optional list of AVS (Actively Validated Services) identifiers linked to this restaking. + type: array + items: + type: string + apy: + description: Annual percentage yield (APY) for the restaking position. + type: string + format: decimal + commissionPercent: + description: Commission percentage charged by the operator. + type: string + format: decimal RethRocketStakingDelegation: allOf: - $ref: '#/components/schemas/StakingDelegation' @@ -58896,6 +59536,25 @@ components: anyOf: - $ref: '#/components/schemas/WalletValue' - $ref: '#/components/schemas/EnterpriseValue' + SeiClaimRewardsRequestPOSTBody: + title: Sei Claim Rewards Request + type: object + description: Request to claim staking rewards for Sei. + required: + - type + - delegationId + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: + type: string + description: Identifier of the delegation. SeiStakingDelegation: allOf: - $ref: '#/components/schemas/StakingDelegation' @@ -58930,6 +59589,29 @@ components: allOf: - $ref: '#/components/schemas/StakingTransaction' type: object + SeiSwitchValidatorsRequestPOSTBody: + title: Sei Switch Validators Request + type: object + description: Request to switch staking delegation to a new validator for Sei. + required: + - type + - delegationId + - validator + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - SWITCH_VALIDATORS + description: Type of request. + delegationId: + type: string + description: Identifier of the existing delegation to switch from. + validator: + type: string + description: Address of the new validator to delegate to. SeiUnStakingRequestPOSTBody: title: SEI unstake allOf: @@ -59920,6 +60602,25 @@ components: - amount - $ref: '#/components/schemas/WithdrawIntent' - $ref: '#/components/schemas/SolBuildOptions' + SolClaimRewardsRequestPOSTBody: + title: Solana (SOL) Claim Rewards Request + type: object + description: Request to claim staking rewards for Solana (SOL). + required: + - type + - delegationId + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: + type: string + description: Identifier of the delegation. SolCloseAssociatedTokenAccountIntent: title: SOL Close Associated Token Account Intent allOf: @@ -60296,6 +60997,25 @@ components: - liabilities - reserves - ratios + SomiClaimRewardsRequestPOSTBody: + title: Somi Claim Rewards Request + type: object + description: Request to claim staking rewards for Somi. + required: + - type + - delegationId + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: + type: string + description: Identifier of the delegation. SomiStakingRequest: title: SOMI allOf: @@ -60327,6 +61047,29 @@ components: allOf: - $ref: '#/components/schemas/StakingRequestPOSTBody' type: object + SomiSwitchValidatorsRequestPOSTBody: + title: Somi Switch Validators Request + type: object + description: Request to switch staking delegation to a new validator for Somi. + required: + - type + - delegationId + - validator + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - SWITCH_VALIDATORS + description: Type of request. + delegationId: + type: string + description: Identifier of the existing delegation to switch from. + validator: + type: string + description: Address of the new validator to delegate to. SpendingLimits: type: object additionalProperties: @@ -60528,14 +61271,34 @@ components: description: Indicates whether the delegation can currently be unstaked. type: boolean StakingDisclaimerAttributes: + allOf: + - $ref: '#/components/schemas/BaseDisclaimer' type: object + description: Disclaimer information specific to staking. properties: - info: - description: Disclaimer info + stakeWarmupPeriodDesc: + description: Optional description of the staking warmup period. type: string - transactionsNeeded: - description: The number of transactions needed for a staking request. - type: integer + nullable: true + rewardPercentageRate: + description: Optional reward percentage rate for staking. + type: string + format: decimal + nullable: true + rewardsCompounding: + description: True if rewards are compounded. + type: boolean + period: + $ref: '#/components/schemas/EstimationPeriodAttributes' + minStake: + description: Minimum amount required to stake. + type: string + stakingSubTypes: + description: Optional list of staking sub-types with their own disclaimers. + type: array + items: + $ref: '#/components/schemas/StakingSubTypeDisclaimerAttributes' + nullable: true StakingEnterprise: type: object properties: @@ -60608,6 +61371,59 @@ components: type: string context: type: object + StakingField: + type: object + properties: + name: + description: Machine-readable name of the staking field. + type: string + label: + description: Human-readable label for display. + type: string + required: + description: Whether this field must be provided. + type: boolean + default: true + type: + description: Input type (e.g., text, number, select). + type: string + coin: + description: Optional coin symbol associated with the field. + type: string + useValidatorList: + description: Whether this field should use the validator list as options. + type: boolean + default: false + readonly: + description: If true, the field is not editable. + type: boolean + default: false + value: + description: Optional pre-filled or default value for the field. + type: string + min: + description: Optional minimum value (serialized as string). + type: string + max: + description: Optional maximum value (serialized as string). + type: string + options: + description: Select/dropdown options for the field, if applicable. + type: array + items: + $ref: '#/components/schemas/StakingFieldOption' + StakingFieldOption: + type: object + properties: + label: + description: Human-readable label for the option. + type: string + value: + description: Machine-readable value for the option. + type: string + description: + description: Optional explanation of the option. + type: string StakingLicenseFee: type: object properties: @@ -60736,14 +61552,27 @@ components: type: integer description: The number of elements per page used for paging purposes. StakingPermissionAttributes: + allOf: + - $ref: '#/components/schemas/BasePermissionAttributes' type: object + description: Permission attributes specific to staking. 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 + allowClientToUseOwnValidator: + description: True if the client is allowed to stake to their own validator. + type: boolean + default: false + allowClientToUseOwnDRep: + description: ADA-specific. True if the client can use their own DRep for governance. + type: boolean + nullable: true + allowVoteDelegation: + description: ADA-specific. True if the client can delegate votes. + type: boolean + nullable: true + requireVoteDelegation: + description: ADA-specific. True if vote delegation is required. + type: boolean + nullable: true StakingRequest: title: Staking Request type: object @@ -60985,45 +61814,124 @@ components: isStakingDurationNeeded: description: True, if staking duration in seconds is required. type: boolean + defaultStakingDuration: + description: Optional default staking duration in seconds. + type: string + unlockTimeEpochSeconds: + description: Optional unlock time in epoch seconds. + type: string minStakeMore: - description: The minimum amount required to stake to the same validator. - type: integer - decimal: - description: Optional custom conversion factor, when provided, should use amount ÷ decimal to get converted to derived unit. + description: The minimum amount required to stake more to the same validator. type: string - displayUnit: - description: Optional custom unit (e.g., "TP" for TronPower). When provided, this unit is the derived unit of the amounts in the attributes. + minDuration: + description: Minimum allowed staking duration in seconds. + type: string + maxDuration: + description: Maximum allowed staking duration in seconds. + type: string + durationLabel: + description: Optional label for staking duration (e.g., "Epoch"). + type: string + breakdown: + $ref: '#/components/schemas/StakingSpendableBreakdown' + name: + description: Optional staking type name (UI label). + type: string + type: + description: Optional staking type identifier. type: string fields: description: Additional form fields required for staking (e.g., resource type selection dropdown). type: array items: - type: object - properties: - name: - type: string - label: - type: string - type: - type: string - required: - type: boolean - options: - type: array - items: - type: object - properties: - label: - type: string - value: - type: string - description: - type: string + $ref: '#/components/schemas/StakingField' stakingSubTypes: description: Available staking sub-types with their own attributes. type: array items: $ref: '#/components/schemas/StakingSubTypeSpendableAttributes' + isDelegated: + description: True if this staking is delegated. + type: boolean + restaking: + $ref: '#/components/schemas/Restaking' + stakingSubTypesStyle: + description: Optional style hint for rendering staking sub-types. + type: string + decimal: + description: Optional custom conversion factor, when provided, use amount ÷ decimal to get derived unit. + type: string + displayUnit: + description: Optional custom unit (e.g., "TP" for TronPower). When provided, this unit is the derived unit of the amounts in the attributes. + type: string + StakingSpendableBreakdown: + type: object + description: Breakdown of staking spendable amounts, including balances, fees, and limits. + properties: + balance: + description: Total balance available for staking operations. + type: string + stakingFee: + description: Fee amount required to perform staking operations. + type: string + unstakingFee: + description: Fee amount required to perform unstaking operations. + type: string + pendingStake: + description: Amount of stake that has been requested but is not yet active. + type: string + proxyCost: + description: Proxy fee cost (applies to DOT staking only). + type: string + maxSpendable: + description: Maximum amount that can be spent on staking after accounting for fees and limits. + type: string + minSpendable: + description: Minimum amount required for a valid staking operation. + type: string + StakingSubTypeDisclaimerAttributes: + type: object + description: Disclaimer information for a staking sub-type. + properties: + type: + description: Sub-type identifier. + type: string + name: + description: Sub-type display name. + type: string + info: + description: List of disclaimer messages for the sub-type. + type: array + items: + type: string + transactionsNeeded: + description: Number of transactions required for the sub-type. + type: integer + rewardsCompounding: + description: True if rewards are compounded for this sub-type. + type: boolean + period: + $ref: '#/components/schemas/EstimationPeriodAttributes' + minStake: + description: Minimum staking amount for this sub-type. + type: string + minStakeMore: + description: Optional minimum additional stake required for this sub-type. + type: string + nullable: true + url: + description: Optional URL for more information about this sub-type. + type: string + nullable: true + iconName: + description: Optional icon name for UI representation. + type: string + nullable: true + defaultApy: + description: Optional default APY for this sub-type. + type: string + format: decimal + nullable: true StakingSubTypeSpendableAttributes: type: object properties: @@ -61637,6 +62545,25 @@ components: - feeOptions - lockedAmount - $ref: '#/components/schemas/BaseIntent' + SuiClaimRewardsRequestPOSTBody: + title: Sui Claim Rewards Request + type: object + description: Request to claim staking rewards for Sui. + required: + - type + - delegationId + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: + type: string + description: Identifier of the delegation. SuiConsolidateIntent: title: SUI Consolidate Intent allOf: @@ -61855,6 +62782,53 @@ components: SwiftCodeType: title: SwiftCodeType type: string + SwitchValidatorDisclaimerAttributes: + allOf: + - $ref: '#/components/schemas/BaseDisclaimer' + type: object + description: Disclaimer information for switching validators. + properties: + cooldownPeriod: + description: Cooldown period as a string (e.g., "24h"). + type: string + SwitchValidatorPermissionAttributes: + allOf: + - $ref: '#/components/schemas/BasePermissionAttributes' + type: object + description: Permission attributes specific to switching validators. + SwitchValidatorSpendableAttributes: + allOf: + - $ref: '#/components/schemas/BaseSpendableAttributes' + type: object + properties: + breakdown: + $ref: '#/components/schemas/SwitchValidatorSpendableBreakdown' + requiresDelegationId: + type: boolean + description: True if a delegation ID must be specified when switching validators. + SwitchValidatorSpendableBreakdown: + type: object + properties: + balance: + type: string + description: The wallet balance available for validator switching. + switchFee: + type: string + description: The fee required to switch validators. + switchable: + $ref: '#/components/schemas/SwitchValidatorSwitchableBreakdown' + SwitchValidatorSwitchableBreakdown: + type: object + properties: + stakedBalance: + type: string + description: The total balance currently staked that can be switched. + pendingUnstake: + type: string + description: The amount currently pending unstake, not switchable until complete. + maxSwitchable: + type: string + description: The maximum amount of balance that can be switched to another validator. TWAPOrderParameters: type: object properties: @@ -62038,6 +63012,25 @@ components: required: - pendingChainInitialization - creationFailure + TiaClaimRewardsRequestPOSTBody: + title: Celestia (TIA) Claim Rewards Request + type: object + description: Request to claim staking rewards for Celestia (TIA). + required: + - type + - delegationId + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: + type: string + description: Identifier of the delegation. TiaStakingDelegation: allOf: - $ref: '#/components/schemas/StakingDelegation' @@ -62072,6 +63065,29 @@ components: allOf: - $ref: '#/components/schemas/StakingTransaction' type: object + TiaSwitchValidatorsRequestPOSTBody: + title: Celestia (TIA) Switch Validators Request + type: object + description: Request to switch staking delegation to a new validator for Celestia (TIA). + required: + - type + - delegationId + - validator + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - SWITCH_VALIDATORS + description: Type of request. + delegationId: + type: string + description: Identifier of the existing delegation to switch from. + validator: + type: string + description: Address of the new validator to delegate to. TiaUnStakingRequestPOSTBody: title: TIA unstake allOf: @@ -65078,10 +66094,30 @@ components: allOf: - $ref: '#/components/schemas/BaseSpendableAttributes' type: object + description: Spendable amounts and rules specific to unstaking operations. properties: multipleDelegations: - description: True, if more than one active staking delegation exists for a wallet. + description: True if more than one active staking delegation exists for a wallet. type: boolean + breakdown: + $ref: '#/components/schemas/UnstakingSpendableBreakdown' + requiresAmount: + description: Whether specifying an amount is required for the unstaking request. + type: boolean + default: true + requiresDelegationId: + description: Whether a single delegation ID is required for the unstaking request. + type: boolean + default: false + requiresDelegationIds: + description: Whether multiple delegation IDs must be specified for the unstaking request. + type: boolean + default: false + unstakingSubTypes: + type: array + description: Supported unstaking sub-types with their own spendable attributes. + items: + $ref: '#/components/schemas/UnstakingSubTypeSpendableAttributes' Unlock: title: Unlock type: object @@ -65281,23 +66317,121 @@ components: required: - intentType UnstakingDisclaimerAttributes: + allOf: + - $ref: '#/components/schemas/BaseDisclaimer' type: object + description: Disclaimer information specific to unstaking. properties: - info: - description: Disclaimer info + unStakeCooldownPeriodDesc: + description: Optional description of the cooldown period before unstaking. type: string - transactionsNeeded: - description: The number of transactions needed for an unstaking request. - type: integer + nullable: true + period: + $ref: '#/components/schemas/EstimationPeriodAttributes' + unstakingSubTypes: + description: Optional list of unstaking sub-types with their own disclaimers. + type: array + items: + $ref: '#/components/schemas/UnstakingSubTypeDisclaimerAttributes' + nullable: true UnstakingPermissionAttributes: + allOf: + - $ref: '#/components/schemas/BasePermissionAttributes' + type: object + description: Permission attributes specific to unstaking. + UnstakingSpendableBreakdown: type: object + description: Detailed breakdown of spendable amounts and fees for unstaking. properties: - enabled: - description: If the wallet has unstaking request submission permission. + balance: type: string - disabledReason: - description: The reason that unstaking request submission has been disabled. + format: biginteger + description: Current balance available for unstaking. + unstakingFee: type: string + format: biginteger + description: Fee required to perform an unstaking transaction. + maxSpendable: + type: string + format: biginteger + description: Maximum amount that can be unstaked in a single transaction. + unstakeable: + $ref: '#/components/schemas/UnstakingUnstakeableBreakdown' + UnstakingSubTypeDisclaimerAttributes: + type: object + description: Disclaimer information for a specific unstaking sub-type. + properties: + name: + description: Sub-type name. + type: string + type: + description: Sub-type identifier. + type: string + maxUnstake: + description: Optional maximum unstakeable amount for this sub-type. + type: string + nullable: true + UnstakingSubTypeSpendableAttributes: + type: object + description: Attributes describing unstaking behavior for a specific sub-type of unstaking operation. + properties: + name: + type: string + description: Human-readable name of the unstaking sub-type. + type: + type: string + description: Internal identifier for the unstaking sub-type. + fee: + type: string + format: biginteger + description: Fee required to perform an unstaking transaction for this sub-type. + max: + type: string + format: biginteger + description: Maximum amount that can be unstaked for this sub-type. + min: + type: string + format: biginteger + description: Minimum amount that must be unstaked for this sub-type. + netMax: + type: string + format: biginteger + description: Maximum unstakeable amount minus applicable fees. + netMin: + type: string + format: biginteger + description: Minimum unstakeable amount including fees. + requiresAmount: + type: boolean + description: True if the unstaking request requires specifying an amount. + requiresDelegationId: + type: boolean + description: True if a single delegation ID must be specified for unstaking. + requiresDelegationIds: + type: boolean + description: True if multiple delegation IDs must be specified for unstaking. + allowPartialUnstake: + type: boolean + description: True if partial unstaking (less than full delegation) is allowed. + multipleDelegations: + type: boolean + description: True if this sub-type supports wallets with multiple active delegations. + UnstakingUnstakeableBreakdown: + type: object + description: Breakdown of the wallet’s staked funds that can be unstaked. + properties: + stakedBalance: + type: string + format: biginteger + description: Total amount currently staked. + pendingUnstake: + type: string + format: biginteger + description: Amount already requested for unstaking but not yet completed. + maxUnstakeable: + type: string + format: biginteger + description: Maximum amount of staked funds that can be unstaked at this time. UnsupportedTokenRecipientEntryItem: title: UnsupportedTokenRecipientEntryItem type: object @@ -69733,19 +70867,33 @@ components: example: spend,view WalletPermissionAttributes: type: object + description: Permission attributes specific to the wallet. properties: hasEnoughAdmins: description: True, if the wallet has enough admins to create a staking request. type: boolean - numberOfRequiredAdmin: + numberOfRequiredAdmins: description: The number of admins required to create a hot staking request. type: integer useValidatorList: - description: Boolean flag to control wether to show dropdown list of validator or not + description: Boolean flag to control whether to show dropdown list of validators or not. type: boolean skipAddressValidation: - description: Boolean flag to control wether perform validator address validation or not + description: Boolean flag to control whether to perform validator address validation or not. + type: boolean + allowPartialUnstake: + description: True if the wallet allows partial unstaking. + type: boolean + restakingEnabled: + description: True if restaking is enabled for the wallet. + type: boolean + validatorNotNeededForStake: + description: True if a validator is not required when staking. type: boolean + validatorCoin: + description: Optional coin used for validator-specific staking. + type: string + nullable: true WalletRecoveryIntent: title: Wallet Recovery Intent allOf: @@ -69976,29 +71124,45 @@ components: - walletSharesCount WalletStakingDisclaimerAttributes: type: object + description: Spendable disclaimer attributes for a staking wallet. properties: - stakingDisclaimerAttributes: + staking: $ref: '#/components/schemas/StakingDisclaimerAttributes' - unstakingDisclaimerAttributes: + unstaking: $ref: '#/components/schemas/UnstakingDisclaimerAttributes' + claimRewards: + $ref: '#/components/schemas/ClaimRewardsDisclaimerAttributes' + nextRewards: + $ref: '#/components/schemas/NextRewardsDisclaimerAttributes' + switchValidator: + $ref: '#/components/schemas/SwitchValidatorDisclaimerAttributes' WalletStakingPermissionAttributes: description: Permission attributes for the staking wallet. type: object properties: - walletPermissionAttributes: - $ref: '#/components/schemas/WalletPermissionAttributes' - stakingPermissionAttributes: + staking: $ref: '#/components/schemas/StakingPermissionAttributes' - unstakingPermissionAttributes: + unstaking: $ref: '#/components/schemas/UnstakingPermissionAttributes' + claimRewards: + $ref: '#/components/schemas/ClaimRewardsPermissionAttributes' + switchValidator: + $ref: '#/components/schemas/SwitchValidatorPermissionAttributes' + wallet: + $ref: '#/components/schemas/WalletPermissionAttributes' WalletStakingSpendableAttributes: - description: Spendable attributes for the staking wallet. + title: SpendableAttributes + description: Spendable attributes available for a wallet’s staking operations. type: object properties: - stakingSpendableAttributes: + staking: $ref: '#/components/schemas/StakingSpendableAttributes' - unstakingSpendableAttributes: + unstaking: $ref: '#/components/schemas/UnStakingSpendableAttributes' + claimRewards: + $ref: '#/components/schemas/ClaimRewardsSpendableAttributes' + switchValidator: + $ref: '#/components/schemas/SwitchValidatorSpendableAttributes' WalletStakingStateAttributes: type: object properties: From e8b0eead1a6682615bde82844079ce79cbb1885e Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Thu, 18 Sep 2025 21:14:57 +0000 Subject: [PATCH 07/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 254 ++++++++++++++----------------------------------------- 1 file changed, 62 insertions(+), 192 deletions(-) diff --git a/api.yaml b/api.yaml index 79591dc..83d195f 100644 --- a/api.yaml +++ b/api.yaml @@ -30416,8 +30416,8 @@ paths: $ref: '#/components/schemas/PlatformError' /api/v2/organization/{organizationId}/webhook: get: - summary: List webhooks for an organization - description: List all webhooks for the specified organization. + summary: List organization webhooks + description: List all webhooks for a specified organization. operationId: v2.organization.webhook.list tags: - Organization Webhooks @@ -30491,12 +30491,13 @@ paths: schema: $ref: '#/components/schemas/PlatformError' post: - summary: Create a webhook for multiple assets + summary: Create organization webhook 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. + Create a webhook that sends an HTTP callback from BitGo to a specified URL when + specific conditions occur within an 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 @@ -30516,7 +30517,7 @@ paths: schema: oneOf: - type: object - title: AddOrgnizationTransferWebhookBody + title: Transfer properties: allToken: type: boolean @@ -30541,7 +30542,7 @@ paths: - type - url - type: object - title: AddOrganizationTxRequestWebhookBody + title: Transaction Request properties: label: type: string @@ -30575,7 +30576,7 @@ paths: - type - url - type: object - title: AddOrganizationTxRequestTransactionWebhookBody + title: Transaction Request Transaction properties: label: type: string @@ -30610,7 +30611,7 @@ paths: - type - url - type: object - title: AddOrganizationPendingApprovalWebhookBody + title: Pending Approval properties: allToken: type: boolean @@ -30629,7 +30630,7 @@ paths: - type - url - type: object - title: AddOrganizationBankAccountWebhookBody + title: Bank Account properties: label: type: string @@ -30644,7 +30645,7 @@ paths: - type - url - type: object - title: AddOrganizationIdentityStatusWebhookBody + title: Identity Status properties: label: type: string @@ -30683,7 +30684,7 @@ paths: - type - url - type: object - title: AddOrganizationUserKycStateWebhookBody + title: User KYC State properties: kycState: type: array @@ -30706,7 +30707,7 @@ paths: - type - url - type: object - title: AddOrganizationEnterpriseKycStateWebhookBody + title: Enterprise KYC State properties: kycState: type: array @@ -30755,10 +30756,10 @@ paths: $ref: '#/components/schemas/PlatformError' /api/v2/organization/{organizationId}/webhook/{webhookId}: delete: - summary: Delete an organization webhook by id + summary: Delete organization webhook 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 + Remove a webhook from the organization. This permanently deletes 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 @@ -30801,8 +30802,8 @@ paths: schema: $ref: '#/components/schemas/PlatformError' get: - summary: Get webhook by id - description: Get an organization webhook by its id. + summary: Get organization webhook + description: Get an organization webhook by its ID. operationId: v2.organization.webhook.get tags: - Organization Webhooks @@ -30846,11 +30847,12 @@ paths: $ref: '#/components/schemas/PlatformError' /api/v2/organization/{organizationId}/webhook/{webhookId}/simulate: post: - summary: Simulate a webhook + summary: Simulate organization 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. + Simulate an organization 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 @@ -32016,40 +32018,6 @@ paths: application/json: schema: $ref: '#/components/schemas/PlatformError' - /api/v2/wallet/{walletId}/liability-proofs: - get: - summary: Get liability proofs - description: Get liability proofs for a Go Account. Liability proofs are zero-knowledge proofs (ZKPs) that you can use with BitGo's open-source verification tool to verify that assets held in a specific Go Account are part of the total liabilities published by BitGo. To learn more about the verification tool, see https://github.com/BitGo/proof-of-solvency. - operationId: v2.wallet.proofs.liability.get - tags: - - Liabilities - parameters: - - name: walletId - in: path - required: true - schema: - $ref: '#/components/schemas/WalletIdString' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/UserVerificationElements' - '400': - description: Bad Request - content: - application/json: - schema: - oneOf: - - $ref: '#/components/schemas/PlatformError' - - $ref: '#/components/schemas/InvalidWalletId1' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/PlatformError' /api/v2/wallet/{walletId}/lightning/invoice: get: summary: Fetch lightning invoices @@ -33788,27 +33756,6 @@ paths: application/json: schema: $ref: '#/components/schemas/PlatformError' - /api/v2/wallet/solvency-data: - get: - summary: Get proof of solvency data - description: Get proof of solvency data for Go Accounts. This data consists of the list of supported assets (for proof of solvency), the total liabilities for those assets, BitGo's total reserves for those assets, and the ratio of reserves to liabilities for each asset. - operationId: v2.wallet.solvency.data.get - tags: - - Solvency - parameters: [] - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/SolvencyData' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/PlatformError' /api/v2/wallets: get: summary: List wallets @@ -41702,19 +41649,6 @@ components: type: integer description: the height of the block that provides the base values example: 11228504 - BalancesCodec: - title: BalancesCodec - type: array - items: - type: object - properties: - Asset: - type: string - Amount: - type: string - required: - - Asset - - Amount BankAccountCurrency: title: BankAccountCurrency description: | @@ -46646,6 +46580,7 @@ components: - Escrow - Distributed Custody - Advanced Wallets + - Stablecoins description: Requested BitGo Products required: - id @@ -53302,31 +53237,6 @@ components: - token_type - grant_type - user - LowerProof: - title: LowerProof - type: object - properties: - Proof: - type: string - VerificationKey: - type: string - MerkleRoot: - type: string - MerkleRootWithAssetSumHash: - type: string - MerklePath: - type: array - items: - type: string - MerklePosition: - type: number - required: - - Proof - - VerificationKey - - MerkleRoot - - MerkleRootWithAssetSumHash - - MerklePath - - MerklePosition MarginNetOpenPosition: type: object required: @@ -60980,23 +60890,6 @@ components: - pendingChainInitialization - minimumFunding - trustedTokens - SolvencyData: - title: SolvencyData - type: object - description: 'Solvency data schema consists of: - assets: array of supported asset symbols - liabilities: array of total liabilities for each asset - reserves: array of total reserves for each asset - ratios: ratio of reserves to liabilities for each asset' - properties: - liabilities: - $ref: '#/components/schemas/BalancesCodec' - reserves: - $ref: '#/components/schemas/BalancesCodec' - ratios: - type: array - items: - type: number - required: - - liabilities - - reserves - - ratios SomiClaimRewardsRequestPOSTBody: title: Somi Claim Rewards Request type: object @@ -63432,26 +63325,6 @@ components: - memoId - lastMemoId - seqno - TopProof: - title: TopProof - type: object - properties: - Proof: - type: string - VerificationKey: - type: string - MerkleRoot: - type: string - MerkleRootWithAssetSumHash: - type: string - AssetSum: - $ref: '#/components/schemas/BalancesCodec' - required: - - Proof - - VerificationKey - - MerkleRoot - - MerkleRootWithAssetSumHash - - AssetSum Touchpoint: type: object description: A Touchpoint. For example the Transfer from a Wallet Touchpoint. @@ -67010,44 +66883,6 @@ components: type: array items: $ref: '#/components/schemas/UserNotificationSubscriptionEntity' - UserVerificationElements: - title: UserVerificationElements - type: object - properties: - AccountInfo: - type: object - properties: - UserId: - type: string - Balance: - $ref: '#/components/schemas/BalancesCodec' - required: - - UserId - - Balance - ProofInfo: - type: object - properties: - UserMerklePath: - type: array - items: - type: string - UserMerklePosition: - type: number - BottomProof: - $ref: '#/components/schemas/LowerProof' - MiddleProof: - $ref: '#/components/schemas/LowerProof' - TopProof: - $ref: '#/components/schemas/TopProof' - required: - - UserMerklePath - - UserMerklePosition - - BottomProof - - MiddleProof - - TopProof - required: - - AccountInfo - - ProofInfo UtxoAddress: title: Utxo Address type: object @@ -69810,6 +69645,23 @@ components: type: string example: 59cd72485007a239fb00282ed480da1f pattern: ^[0-9a-f]{32}$ + evmKeyRingReferenceWalletId: + type: string + description: Reference wallet ID for EVM keyring wallets (child wallets only) + example: 59cd72485007a239fb00282ed480da1f + pattern: ^[0-9a-f]{32}$ + isParent: + type: boolean + description: Indicates if this wallet is a parent wallet in an EVM keyring setup + example: true + enabledChildChains: + type: array + example: + - tbsc + - tpolygon + items: + type: string + description: Array of enabled child chain names for parent EVM keyring wallets organization: type: string bitgoOrg: @@ -70429,6 +70281,7 @@ components: enum: - isStaking - lightning + - ambossLightning - musigKp - trackingInscriptions - rbf @@ -70678,6 +70531,23 @@ components: type: string example: 59cd72485007a239fb00282ed480da1f pattern: ^[0-9a-f]{32}$ + evmKeyRingReferenceWalletId: + type: string + description: Reference wallet ID for EVM keyring wallets (child wallets only) + example: 59cd72485007a239fb00282ed480da1f + pattern: ^[0-9a-f]{32}$ + isParent: + type: boolean + description: Indicates if this wallet is a parent wallet in an EVM keyring setup + example: true + enabledChildChains: + type: array + example: + - tbsc + - tpolygon + items: + type: string + description: Array of enabled child chain names for parent EVM keyring wallets organization: type: string bitgoOrg: From dab5971569ece31e3813805c021df4edb00f88cc Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Thu, 18 Sep 2025 22:00:46 +0000 Subject: [PATCH 08/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/api.yaml b/api.yaml index 83d195f..77b3f16 100644 --- a/api.yaml +++ b/api.yaml @@ -44853,8 +44853,17 @@ components: required: - maxPriorityFeePerGas - maxFeePerGas - required: - - label + evmKeyRingReferenceWalletId: + type: string + description: Optional reference wallet ID for EVM keyring child wallets. When provided, child wallets inherit properties from the parent wallet. + anyOf: + - not: + required: + - evmKeyRingReferenceWalletId + required: + - label + - required: + - evmKeyRingReferenceWalletId CreateWebhookSecretResponse: title: CreateWebhookSecretResponse type: object @@ -72642,6 +72651,7 @@ x-tagGroups: - Address - Approval Requests - Audit log + - BitGo Products - Counterparties - Client Activation - Client Allocations & Deallocations @@ -72654,6 +72664,8 @@ x-tagGroups: - Federation - Fiat - Key + - Know Your Business (KYB) + - Know Your Customer (KYC) - Liabilities - Lightning - Margin @@ -72679,7 +72691,6 @@ x-tagGroups: - User Management - Reports - Send label - - Solvency - Stablecoin - Staking Request - Staking State Information @@ -72692,6 +72703,7 @@ x-tagGroups: - Transaction request - Transfer - User + - User Management Notification - Roles & Permissions - Wallet - Wallet Policy From 75d21471ad7e0ca91b74b6c22bef8073ccb172c9 Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Fri, 19 Sep 2025 14:17:32 +0000 Subject: [PATCH 09/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/api.yaml b/api.yaml index 77b3f16..c0a2574 100644 --- a/api.yaml +++ b/api.yaml @@ -8829,11 +8829,11 @@ paths: - cryptoCompare /api/evs/v1/identity: get: - summary: Get Identity + summary: Get KYC Identity description: Get a Persona transaction. operationId: entity.validation.identity.get tags: - - Entity Validation + - Know Your Customer (KYC) parameters: - name: organizationId in: query @@ -8878,11 +8878,11 @@ paths: schema: $ref: '#/components/schemas/PlatformError2' post: - summary: Create Identity + summary: Create KYC Identity description: Create an identity for a user. operationId: entity.validation.identity.create tags: - - Entity Validation + - Know Your Customer (KYC) parameters: [] requestBody: content: @@ -9249,11 +9249,11 @@ paths: $ref: '#/components/schemas/IdentityCreateResponse' /api/evs/v1/identity/{id}: patch: - summary: Patch Update Identity - description: Update an existing Persona transaction. + summary: Update KYC Identity + description: Update an existing KYC identity with new information. operationId: entity.validation.identity.update tags: - - Entity Validation + - Know Your Customer (KYC) parameters: - name: id in: path @@ -9440,11 +9440,11 @@ paths: $ref: '#/components/schemas/IdentityUpdateResponse' /api/evs/v1/identity/{id}/signatures: post: - summary: POST Identity Submit Signatures - description: Submit Contract Signatures for a given identity + summary: Submit KYC Signatures + description: Submit contract signatures for a given KYC identity. operationId: entity.validation.identity.signatures tags: - - Entity Validation + - Know Your Customer (KYC) parameters: - name: id in: path @@ -9481,11 +9481,11 @@ paths: $ref: '#/components/schemas/PlatformError2' /api/evs/v1/identity/{identityId}/document: post: - summary: Create Identity Document - description: Create a Document for an Identity. + summary: Add KYC Documents + description: Add and validate KYC documents for an existing identity. Documents are verified with the document service before being associated with the identity. operationId: entity.validation.identity.document.create tags: - - Entity Validation + - Know Your Customer (KYC) parameters: - name: identityId in: path @@ -9553,11 +9553,11 @@ paths: $ref: '#/components/schemas/PlatformError2' /api/evs/v1/identity/{identityId}/document/{documentId}: put: - summary: Update Identity Document - description: Upodate a Document for an Identity. + summary: Update KYC Document + description: Update KYC Document. operationId: entity.validation.identity.document.update tags: - - Entity Validation + - Know Your Customer (KYC) parameters: - name: identityId in: path @@ -9631,11 +9631,11 @@ paths: $ref: '#/components/schemas/PlatformError2' /api/evs/v1/identity/document: get: - summary: Get Identity Document - description: Get a document for an Identity. + summary: Get KYC Document + description: Get a KYC document for an identity. operationId: entity.validation.identity.document.get tags: - - Entity Validation + - Know Your Customer (KYC) parameters: - name: identityId in: query From 6e0d233e9411ee4904b9b317d7d09b9da4f083ac Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Fri, 19 Sep 2025 14:31:09 +0000 Subject: [PATCH 10/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 589 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 589 insertions(+) diff --git a/api.yaml b/api.yaml index c0a2574..cb98fff 100644 --- a/api.yaml +++ b/api.yaml @@ -8827,6 +8827,219 @@ paths: $ref: '#/components/schemas/MarketDataError' x-licenses: - cryptoCompare + /api/document-service/v1/documents: + post: + summary: Create a new document + description: Creates a new document and returns presigned URLs for file uploads + operationId: documents.post.v1.documents + tags: + - Know Your Business (KYB) + parameters: [] + requestBody: + description: Body + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDocumentRequest' + responses: + '201': + description: '201' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDocumentResponse' + '400': + description: '400' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '401': + description: '401' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '500': + description: '500' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + /api/document-service/v1/documents/{documentId}: + get: + summary: Retrieve document information + description: Get details about a specific document including file information. Users can only access documents they created. + operationId: documents.get.v1.documents.id + tags: + - Know Your Business (KYB) + parameters: + - name: documentId + in: path + required: true + schema: + type: string + format: uuid + description: Unique identifier for the document + responses: + '200': + description: '200' + content: + application/json: + schema: + $ref: '#/components/schemas/GetDocumentResponse' + '400': + description: '400' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '401': + description: '401' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '403': + description: '403' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '404': + description: '404' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '500': + description: '500' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + /api/document-service/v1/documents/{documentId}/files/{fileId}: + patch: + summary: Update file upload status + description: Update the status of a file after it has been uploaded to the presigned URL. This endpoint is called by the client after successful upload. + operationId: documents.patch.v1.documents.id.files.id + tags: + - Know Your Business (KYB) + parameters: + - name: documentId + in: path + required: true + schema: + type: string + format: uuid + description: Unique identifier for the document + - name: fileId + in: path + required: true + schema: + type: string + description: Unique identifier for the file + requestBody: + description: Body + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateFileStatusRequest' + responses: + '200': + description: '200' + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateFileStatusResponse' + '400': + description: '400' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '401': + description: '401' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '403': + description: '403' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '404': + description: '404' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '500': + description: '500' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + /api/document-service/v1/documents/{documentId}/verify: + post: + summary: Verify document upload status + description: Verify the upload status of all files in a document by checking with the storage provider. Updates file and document statuses based on actual verification results. + operationId: documents.post.v1.documents.id.verify + tags: + - Know Your Business (KYB) + parameters: + - name: documentId + in: path + required: true + schema: + type: string + format: uuid + description: Unique identifier for the document + requestBody: + description: Body + content: + application/json: + schema: + $ref: '#/components/schemas/VerifyDocumentRequest' + responses: + '200': + description: '200' + content: + application/json: + schema: + $ref: '#/components/schemas/VerifyDocumentResponse' + '400': + description: '400' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '401': + description: '401' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '403': + description: '403' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '404': + description: '404' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' + '500': + description: '500' + content: + application/json: + schema: + $ref: '#/components/schemas/GetInternalDocumentsInternalError' /api/evs/v1/identity: get: summary: Get KYC Identity @@ -44541,6 +44754,49 @@ components: required: - type - url + CreateDocumentRequest: + type: object + properties: + documentType: + $ref: '#/components/schemas/DocumentType' + subType: + $ref: '#/components/schemas/DocumentSubType' + metadata: + $ref: '#/components/schemas/Metadata' + required: + - documentType + title: CreateDocumentRequest + description: Request body for creating a new document + CreateDocumentResponse: + type: object + properties: + documentId: + type: string + description: Unique identifier for the created document + documentType: + type: string + description: Type of the document + documentTypeLabel: + type: string + description: Human-readable label for the document type + subType: + type: string + description: Subtype of the document + status: + $ref: '#/components/schemas/DocumentStatus' + files: + type: array + items: + $ref: '#/components/schemas/DocumentFileDetail' + description: List of files to be uploaded + required: + - documentId + - documentType + - documentTypeLabel + - status + - files + title: CreateDocumentResponse + description: Response after creating a new document CreateKey: type: object properties: @@ -45600,6 +45856,157 @@ components: 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 + DocumentFileDetail: + type: object + properties: + fileId: + type: string + description: Unique identifier for the file + fileView: + type: string + description: View or side of the document file + label: + type: string + description: Human-readable label for the file + required: + type: boolean + description: Whether this file is required for the document + uploadUrl: + type: string + format: uri + description: Presigned URL for file upload + expiresAt: + type: string + format: date-time + description: When the upload URL expires + required: + - fileId + - fileView + - label + - required + - uploadUrl + - expiresAt + title: DocumentFileDetail + description: Detailed file information for document creation response + DocumentFileInfo: + type: object + properties: + id: + type: string + description: Unique identifier for the file + view: + $ref: '#/components/schemas/FileView' + status: + $ref: '#/components/schemas/FileStatus' + fileName: + type: string + description: Original filename of the uploaded file + fileType: + type: string + description: MIME type of the file + fileSize: + type: number + description: Size of the file in bytes + uploadUrl: + type: string + format: uri + description: Presigned URL for file upload + downloadUrl: + type: string + format: uri + description: Presigned URL for file download + uploadUrlExpiresAt: + type: string + format: date-time + description: When the upload URL expires + createdAt: + type: string + format: date-time + description: When the file was created + updatedAt: + type: string + format: date-time + description: When the file was last updated + required: + - id + - status + - createdAt + - updatedAt + title: DocumentFileInfo + description: File information for document retrieval + DocumentStatus: + type: string + enum: + - awaitingUpload + - uploaded + title: DocumentStatus + description: Current status of the document + DocumentSubType: + 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 + title: DocumentSubType + description: Subtype of document (used for government ID documents) + DocumentType: + type: string + enum: + - governmentId + - commercialRegister + - articlesOfAssociation + - certificateOfIncorporation + - certificateOfTrust + - certificateOfIncumbency + - certificateOfIncumbencyOrShareRegister + - proofOfPrincipalPlaceOfBusiness + - activeTradeLicense + - resolutionToOpenBitgoUaeAccount + - resolutionToOpenBitgoSingaporeAccount + - proofOfAuthorizedSignatories + - memorandumOfAssociation + - memorandumAndArticlesOfAssociation + - bylawsOrOperatingAgreement + - operatingAgreement + - w8 + - w9 + - evidenceOfLegalStatus + - evidenceOfActiveStatus + - proofOfJfsaLicense + - proofOfGamingLicense + - organizationDocument + - partnershipAgreement + - articlesOfOrganization + - businessLicenseOrRegistration + - evidenceOfGovernmentOrStateOwnership + - secFilingsAsEvidenceOfPublicTradingStatus + - foundingTreatyOrEquivalent + title: DocumentType + description: Type of document being uploaded DomesticWireAccountResponseProps: title: DomesticWireAccountResponseProps type: object @@ -49276,6 +49683,21 @@ components: - backingBankAccountId - backingSENBankAccountId - lastUsedNonce + FileStatus: + type: string + enum: + - awaitingUpload + - uploaded + title: FileStatus + description: Current status of the file upload + FileView: + type: string + enum: + - front + - back + - full + title: FileView + description: View or side of the document file FillNonceIntent: title: FillNonceIntent allOf: @@ -49630,6 +50052,51 @@ components: country: type: string description: ISO 3166-1 Alpha-3 country code + GetDocumentResponse: + type: object + properties: + documentId: + type: string + description: Unique identifier for the document + documentType: + type: string + description: Type of the document + documentTypeLabel: + type: string + description: Human-readable label for the document type + subType: + type: string + description: Subtype of the document + status: + $ref: '#/components/schemas/DocumentStatus' + metadata: + type: object + additionalProperties: + nullable: true + description: Optional metadata for the document + files: + type: array + items: + $ref: '#/components/schemas/DocumentFileInfo' + description: List of files associated with the document + createdAt: + type: string + format: date-time + description: When the document was created + updatedAt: + type: string + format: date-time + description: When the document was last updated + required: + - documentId + - documentType + - documentTypeLabel + - status + - files + - createdAt + - updatedAt + title: GetDocumentResponse + description: Response containing document information GetEnterpriseResponse: title: GetEnterpriseResponse allOf: @@ -49686,6 +50153,25 @@ components: - userId - userEmail - derivedPubkey + GetInternalDocumentsInternalError: + type: object + properties: + code: + type: string + description: Error code + message: + type: string + description: Error message + details: + type: object + additionalProperties: + nullable: true + description: Additional error details + required: + - code + - message + title: GetInternalDocumentsInternalError + description: Generic error response GetInvoicesResponse: title: GetInvoicesResponse type: object @@ -53617,6 +54103,12 @@ components: required: - messageRaw - intentType + Metadata: + type: object + additionalProperties: + nullable: true + title: Metadata + description: Optional metadata for the document (max 100KB) MinRequireActionParameter: title: Minimum number of approvals required type: object @@ -66395,6 +66887,41 @@ components: - h1 - h2 - verifiers + UpdateFileStatusRequest: + type: object + properties: + status: + type: string + enum: + - uploaded + description: File upload status + required: + - status + title: UpdateFileStatusRequest + description: Request body for updating file status + UpdateFileStatusResponse: + type: object + properties: + id: + type: string + description: Unique identifier for the file + view: + $ref: '#/components/schemas/FileView' + uploadUrl: + type: string + format: uri + description: Presigned URL for file upload + status: + $ref: '#/components/schemas/FileStatus' + fileName: + type: string + description: Original filename of the uploaded file + required: + - id + - uploadUrl + - status + title: UpdateFileStatusResponse + description: Response after updating file status UpdatePinnedWalletsResponse: title: UpdatePinnedWalletsResponse type: object @@ -69506,6 +70033,68 @@ components: - approved - rejected - pending + VerifyDocumentFile: + type: object + properties: + fileId: + type: string + description: Unique identifier for the file + fileView: + type: string + description: View or side of the document file + required: + type: boolean + description: Whether this file is required for the document + status: + type: string + description: Current status of the file + downloadUrl: + type: string + format: uri + description: Presigned URL for file download + required: + - fileId + - fileView + - required + - status + title: VerifyDocumentFile + description: File information after verification + VerifyDocumentRequest: + type: object + properties: {} + title: VerifyDocumentRequest + description: Request body for document verification + VerifyDocumentResponse: + type: object + properties: + documentId: + type: string + description: Unique identifier for the document + documentType: + type: string + description: Type of the document + documentTypeLabel: + type: string + description: Human-readable label for the document type + subType: + type: string + description: Subtype of the document + status: + type: string + description: Current status of the document + files: + type: array + items: + $ref: '#/components/schemas/VerifyDocumentFile' + description: List of files with verification status + required: + - documentId + - documentType + - documentTypeLabel + - status + - files + title: VerifyDocumentResponse + description: Response after verifying document upload status VerifyWebhookNotificationResponse: title: VerifyWebhookNotificationResponse type: object From fb6bd9139a2e4b21f2ef33c9199810d66a9d3556 Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Fri, 19 Sep 2025 15:59:47 +0000 Subject: [PATCH 11/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 2330 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2330 insertions(+) diff --git a/api.yaml b/api.yaml index cb98fff..a280aa2 100644 --- a/api.yaml +++ b/api.yaml @@ -9879,6 +9879,1468 @@ paths: application/json: schema: $ref: '#/components/schemas/PlatformError2' + /api/identity-service/v1/products: + get: + summary: List BitGo Products + operationId: identities.get.v1.products + tags: + - BitGo Products + parameters: [] + responses: + '200': + description: '200' + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + format: uuid + product: + $ref: '#/components/schemas/WPBitGoProduct' + required: + - id + - product + '400': + description: '400' + content: + application/json: + schema: + type: object + properties: {} + '500': + description: '500' + content: + application/json: + schema: + type: object + properties: {} + /api/identity-service/v1/identities: + get: + summary: List KYB Identities + description: Retrieve a list of identities created by the authenticated user. Requires User-Id header. + operationId: identities.get.v1.identities + tags: + - Know Your Business (KYB) + parameters: + - name: enterpriseId + in: query + schema: + type: string + - name: organizationId + in: query + schema: + type: string + - name: userId + in: query + schema: + type: string + responses: + '200': + description: '200' + content: + application/json: + schema: + type: array + items: + discriminator: + propertyName: type + oneOf: + - type: object + properties: + type: + type: string + enum: + - individual + description: Type of identity + userId: + type: string + description: The ID of the user + individual: + $ref: '#/components/schemas/Individual' + id: + type: string + description: The unique ID of the created identity + ignoredFields: + type: array + items: + type: string + description: Ignored fields + requestedProducts: + type: array + items: + $ref: '#/components/schemas/RequestedProductResponse' + description: List of products requested for this identity + requirements: + type: array + items: + $ref: '#/components/schemas/Requirement' + description: List of requirements related to the identity + documents: + type: array + items: + $ref: '#/components/schemas/Document' + description: List of documents associated with the identity + finalizeSubmission: + type: boolean + description: Whether identity is ready for final submission and requirements validation + required: + - type + - userId + - individual + - id + - requestedProducts + - requirements + - finalizeSubmission + - type: object + properties: + type: + type: string + enum: + - business + description: Type of identity + organizationId: + type: string + description: The ID of the organization + enterpriseId: + type: string + description: The ID of the enterprise + business: + $ref: '#/components/schemas/Business' + associatedPeople: + type: array + items: + $ref: '#/components/schemas/AssociatedPersonResponse' + description: List of associated people linked to this identity + id: + type: string + description: The unique ID of the created identity + ignoredFields: + type: array + items: + type: string + description: Ignored fields + requestedProducts: + type: array + items: + $ref: '#/components/schemas/RequestedProductResponse' + description: List of products requested for this identity + requirements: + type: array + items: + $ref: '#/components/schemas/Requirement' + description: List of requirements related to the identity + documents: + type: array + items: + $ref: '#/components/schemas/Document' + description: List of documents associated with the identity + finalizeSubmission: + type: boolean + description: Whether identity is ready for final submission and requirements validation + required: + - type + - organizationId + - enterpriseId + - business + - associatedPeople + - id + - requestedProducts + - requirements + - finalizeSubmission + '400': + description: '400' + content: + application/json: + schema: + type: object + properties: + error: + type: string + description: Description of the error + details: + type: array + items: + type: string + description: Detailed error messages + required: + - error + '401': + description: '401' + content: + application/json: + schema: + type: object + properties: + error: + type: string + description: Description of the error + details: + type: array + items: + type: string + description: Detailed error messages + required: + - error + '500': + description: '500' + content: + application/json: + schema: + type: object + properties: {} + post: + summary: Create KYB Identity + description: Create an identity with requested products. Requires User-Id header to associate the identity with the creating user. + operationId: identities.post.v1.identities + tags: + - Know Your Business (KYB) + parameters: [] + requestBody: + description: Body + content: + application/json: + schema: + $ref: '#/components/schemas/CreateIdentityBody' + responses: + '201': + description: '201' + content: + application/json: + schema: + discriminator: + propertyName: type + oneOf: + - type: object + properties: + type: + type: string + enum: + - individual + description: Type of identity + userId: + type: string + description: The ID of the user + individual: + $ref: '#/components/schemas/Individual' + id: + type: string + description: The unique ID of the created identity + ignoredFields: + type: array + items: + type: string + description: Ignored fields + requestedProducts: + type: array + items: + $ref: '#/components/schemas/RequestedProductResponse' + description: List of products requested for this identity + requirements: + type: array + items: + $ref: '#/components/schemas/Requirement' + description: List of requirements related to the identity + documents: + type: array + items: + $ref: '#/components/schemas/Document' + description: List of documents associated with the identity + finalizeSubmission: + type: boolean + description: Whether identity is ready for final submission and requirements validation + required: + - type + - userId + - individual + - id + - requestedProducts + - requirements + - finalizeSubmission + - type: object + properties: + type: + type: string + enum: + - business + description: Type of identity + organizationId: + type: string + description: The ID of the organization + enterpriseId: + type: string + description: The ID of the enterprise + business: + $ref: '#/components/schemas/Business' + associatedPeople: + type: array + items: + $ref: '#/components/schemas/AssociatedPersonResponse' + description: List of associated people linked to this identity + id: + type: string + description: The unique ID of the created identity + ignoredFields: + type: array + items: + type: string + description: Ignored fields + requestedProducts: + type: array + items: + $ref: '#/components/schemas/RequestedProductResponse' + description: List of products requested for this identity + requirements: + type: array + items: + $ref: '#/components/schemas/Requirement' + description: List of requirements related to the identity + documents: + type: array + items: + $ref: '#/components/schemas/Document' + description: List of documents associated with the identity + finalizeSubmission: + type: boolean + description: Whether identity is ready for final submission and requirements validation + required: + - type + - organizationId + - enterpriseId + - business + - associatedPeople + - id + - requestedProducts + - requirements + - finalizeSubmission + '400': + description: '400' + content: + application/json: + schema: + type: object + properties: + error: + type: string + description: Description of the error + details: + type: array + items: + type: string + description: Detailed error messages + required: + - error + '401': + description: '401' + content: + application/json: + schema: + type: object + properties: + error: + type: string + description: Description of the error + details: + type: array + items: + type: string + description: Detailed error messages + required: + - error + '500': + description: '500' + content: + application/json: + schema: + type: object + properties: {} + /api/identity-service/v1/identities/{identityId}: + patch: + summary: Update KYB Identity + description: Update an existing identity with new information. Requires User-Id header and user can only update identities they created. Only the fields provided in the request body will be updated. + operationId: identities.patch.v1.identities.id + tags: + - Know Your Business (KYB) + parameters: + - name: identityId + in: path + required: true + schema: + type: string + description: The unique ID of the identity to update + requestBody: + description: Body + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateIdentityBody' + responses: + '200': + description: '200' + content: + application/json: + schema: + discriminator: + propertyName: type + oneOf: + - type: object + properties: + type: + type: string + enum: + - individual + description: Type of identity + userId: + type: string + description: The ID of the user + individual: + $ref: '#/components/schemas/Individual' + id: + type: string + description: The unique ID of the created identity + ignoredFields: + type: array + items: + type: string + description: Ignored fields + requestedProducts: + type: array + items: + $ref: '#/components/schemas/RequestedProductResponse' + description: List of products requested for this identity + requirements: + type: array + items: + $ref: '#/components/schemas/Requirement' + description: List of requirements related to the identity + documents: + type: array + items: + $ref: '#/components/schemas/Document' + description: List of documents associated with the identity + finalizeSubmission: + type: boolean + description: Whether identity is ready for final submission and requirements validation + required: + - type + - userId + - individual + - id + - requestedProducts + - requirements + - finalizeSubmission + - type: object + properties: + type: + type: string + enum: + - business + description: Type of identity + organizationId: + type: string + description: The ID of the organization + enterpriseId: + type: string + description: The ID of the enterprise + business: + $ref: '#/components/schemas/Business' + associatedPeople: + type: array + items: + $ref: '#/components/schemas/AssociatedPersonResponse' + description: List of associated people linked to this identity + id: + type: string + description: The unique ID of the created identity + ignoredFields: + type: array + items: + type: string + description: Ignored fields + requestedProducts: + type: array + items: + $ref: '#/components/schemas/RequestedProductResponse' + description: List of products requested for this identity + requirements: + type: array + items: + $ref: '#/components/schemas/Requirement' + description: List of requirements related to the identity + documents: + type: array + items: + $ref: '#/components/schemas/Document' + description: List of documents associated with the identity + finalizeSubmission: + type: boolean + description: Whether identity is ready for final submission and requirements validation + required: + - type + - organizationId + - enterpriseId + - business + - associatedPeople + - id + - requestedProducts + - requirements + - finalizeSubmission + '400': + description: '400' + content: + application/json: + schema: + type: object + properties: + error: + type: string + description: Description of the error + details: + type: array + items: + type: string + description: Detailed error messages + required: + - error + '401': + description: '401' + content: + application/json: + schema: + type: object + properties: + error: + type: string + description: Description of the error + details: + type: array + items: + type: string + description: Detailed error messages + required: + - error + '404': + description: '404' + content: + application/json: + schema: + type: object + properties: {} + '500': + description: '500' + content: + application/json: + schema: + type: object + properties: {} + get: + summary: Get KYB Identity + description: Retrieve an identity by its ID, including all related information. Requires User-Id header and user can only access identities they created. + operationId: identities.get.v1.identities.id + tags: + - Know Your Business (KYB) + parameters: + - name: identityId + in: path + required: true + schema: + type: string + description: The unique ID of the identity to retrieve + responses: + '200': + description: '200' + content: + application/json: + schema: + discriminator: + propertyName: type + oneOf: + - type: object + properties: + type: + type: string + enum: + - individual + description: Type of identity + userId: + type: string + description: The ID of the user + individual: + $ref: '#/components/schemas/Individual' + id: + type: string + description: The unique ID of the created identity + ignoredFields: + type: array + items: + type: string + description: Ignored fields + requestedProducts: + type: array + items: + $ref: '#/components/schemas/RequestedProductResponse' + description: List of products requested for this identity + requirements: + type: array + items: + $ref: '#/components/schemas/Requirement' + description: List of requirements related to the identity + documents: + type: array + items: + $ref: '#/components/schemas/Document' + description: List of documents associated with the identity + finalizeSubmission: + type: boolean + description: Whether identity is ready for final submission and requirements validation + required: + - type + - userId + - individual + - id + - requestedProducts + - requirements + - finalizeSubmission + - type: object + properties: + type: + type: string + enum: + - business + description: Type of identity + organizationId: + type: string + description: The ID of the organization + enterpriseId: + type: string + description: The ID of the enterprise + business: + $ref: '#/components/schemas/Business' + associatedPeople: + type: array + items: + $ref: '#/components/schemas/AssociatedPersonResponse' + description: List of associated people linked to this identity + id: + type: string + description: The unique ID of the created identity + ignoredFields: + type: array + items: + type: string + description: Ignored fields + requestedProducts: + type: array + items: + $ref: '#/components/schemas/RequestedProductResponse' + description: List of products requested for this identity + requirements: + type: array + items: + $ref: '#/components/schemas/Requirement' + description: List of requirements related to the identity + documents: + type: array + items: + $ref: '#/components/schemas/Document' + description: List of documents associated with the identity + finalizeSubmission: + type: boolean + description: Whether identity is ready for final submission and requirements validation + required: + - type + - organizationId + - enterpriseId + - business + - associatedPeople + - id + - requestedProducts + - requirements + - finalizeSubmission + '401': + description: '401' + content: + application/json: + schema: + type: object + properties: + error: + type: string + description: Description of the error + details: + type: array + items: + type: string + description: Detailed error messages + required: + - error + '404': + description: '404' + content: + application/json: + schema: + type: object + properties: + error: + type: string + description: Description of the error + details: + type: array + items: + type: string + description: Detailed error messages + required: + - error + '500': + description: '500' + content: + application/json: + schema: + type: object + properties: {} + /api/identity-service/v1/identities/{identityId}/documents: + post: + summary: Add KYB Documents + description: Add and validate documents for an existing identity. Documents are verified with the document service before being associated with the identity. + operationId: identities.post.v1.identities.id.documents + tags: + - Know Your Business (KYB) + parameters: + - name: identityId + in: path + required: true + schema: + type: string + format: uuid + description: The unique ID of the identity + requestBody: + description: Body + content: + application/json: + schema: + type: object + properties: + documents: + type: array + items: + type: object + properties: + documentId: + type: string + format: uuid + description: External document service ID (must be a valid UUID) + documentType: + type: string + enum: + - governmentId + - commercialRegister + - articlesOfAssociation + - certificateOfIncorporation + - certificateOfTrust + - certificateOfIncumbency + - certificateOfIncumbencyOrShareRegister + - proofOfPrincipalPlaceOfBusiness + - activeTradeLicense + - resolutionToOpenBitgoUaeAccount + - resolutionToOpenBitgoSingaporeAccount + - proofOfAuthorizedSignatories + - memorandumOfAssociation + - memorandumAndArticlesOfAssociation + - bylawsOrOperatingAgreement + - operatingAgreement + - w8 + - w9 + - evidenceOfLegalStatus + - evidenceOfActiveStatus + - proofOfJfsaLicense + - proofOfGamingLicense + - organizationDocument + - partnershipAgreement + - articlesOfOrganization + - businessLicenseOrRegistration + - evidenceOfGovernmentOrStateOwnership + - secFilingsAsEvidenceOfPublicTradingStatus + - foundingTreatyOrEquivalent + description: Type of document + required: + - documentId + - documentType + minItems: 1 + description: List of documents to accept + required: + - documents + responses: + '201': + description: '201' + content: + application/json: + schema: + type: object + properties: + identityId: + type: string + description: The identity ID + acceptedDocuments: + type: array + items: + type: object + properties: + id: + type: string + description: Internal ID for the document association + documentId: + type: string + description: External document service ID + documentType: + type: string + enum: + - governmentId + - commercialRegister + - articlesOfAssociation + - certificateOfIncorporation + - certificateOfTrust + - certificateOfIncumbency + - certificateOfIncumbencyOrShareRegister + - proofOfPrincipalPlaceOfBusiness + - activeTradeLicense + - resolutionToOpenBitgoUaeAccount + - resolutionToOpenBitgoSingaporeAccount + - proofOfAuthorizedSignatories + - memorandumOfAssociation + - memorandumAndArticlesOfAssociation + - bylawsOrOperatingAgreement + - operatingAgreement + - w8 + - w9 + - evidenceOfLegalStatus + - evidenceOfActiveStatus + - proofOfJfsaLicense + - proofOfGamingLicense + - organizationDocument + - partnershipAgreement + - articlesOfOrganization + - businessLicenseOrRegistration + - evidenceOfGovernmentOrStateOwnership + - secFilingsAsEvidenceOfPublicTradingStatus + - foundingTreatyOrEquivalent + description: Type of document + status: + type: string + enum: + - missing + - countExceeded + - submitted + - inReview + - verified + description: Verification status + createdAt: + type: string + description: ISO timestamp when document was associated + updatedAt: + type: string + description: ISO timestamp when association was last updated + required: + - id + - documentId + - documentType + - status + - createdAt + - updatedAt + description: Successfully accepted documents + rejectedDocuments: + type: array + items: + type: object + properties: + documentId: + type: string + description: External document service ID + documentType: + type: string + enum: + - governmentId + - commercialRegister + - articlesOfAssociation + - certificateOfIncorporation + - certificateOfTrust + - certificateOfIncumbency + - certificateOfIncumbencyOrShareRegister + - proofOfPrincipalPlaceOfBusiness + - activeTradeLicense + - resolutionToOpenBitgoUaeAccount + - resolutionToOpenBitgoSingaporeAccount + - proofOfAuthorizedSignatories + - memorandumOfAssociation + - memorandumAndArticlesOfAssociation + - bylawsOrOperatingAgreement + - operatingAgreement + - w8 + - w9 + - evidenceOfLegalStatus + - evidenceOfActiveStatus + - proofOfJfsaLicense + - proofOfGamingLicense + - organizationDocument + - partnershipAgreement + - articlesOfOrganization + - businessLicenseOrRegistration + - evidenceOfGovernmentOrStateOwnership + - secFilingsAsEvidenceOfPublicTradingStatus + - foundingTreatyOrEquivalent + description: Type of document + reason: + type: string + description: Reason for rejection + required: + - documentId + - documentType + - reason + description: Documents that failed validation + required: + - identityId + - acceptedDocuments + - rejectedDocuments + '400': + description: '400' + content: + application/json: + schema: + type: object + properties: + error: + type: string + required: + - error + '404': + description: '404' + content: + application/json: + schema: + type: object + properties: + error: + type: string + required: + - error + '422': + description: '422' + content: + application/json: + schema: + type: object + properties: + error: + type: string + required: + - error + '500': + description: '500' + content: + application/json: + schema: + type: object + properties: {} + get: + summary: List KYB Documents + description: Retrieve all documents associated with an identity. + operationId: identities.get.v1.identities.id.documents + tags: + - Know Your Business (KYB) + parameters: + - name: identityId + in: path + required: true + schema: + type: string + format: uuid + description: The unique ID of the identity + responses: + '200': + description: '200' + content: + application/json: + schema: + type: object + properties: + identityId: + type: string + description: The identity ID + documents: + type: array + items: + type: object + properties: + id: + type: string + description: Internal ID for the document association + documentId: + type: string + description: External document service ID + documentType: + type: string + enum: + - governmentId + - commercialRegister + - articlesOfAssociation + - certificateOfIncorporation + - certificateOfTrust + - certificateOfIncumbency + - certificateOfIncumbencyOrShareRegister + - proofOfPrincipalPlaceOfBusiness + - activeTradeLicense + - resolutionToOpenBitgoUaeAccount + - resolutionToOpenBitgoSingaporeAccount + - proofOfAuthorizedSignatories + - memorandumOfAssociation + - memorandumAndArticlesOfAssociation + - bylawsOrOperatingAgreement + - operatingAgreement + - w8 + - w9 + - evidenceOfLegalStatus + - evidenceOfActiveStatus + - proofOfJfsaLicense + - proofOfGamingLicense + - organizationDocument + - partnershipAgreement + - articlesOfOrganization + - businessLicenseOrRegistration + - evidenceOfGovernmentOrStateOwnership + - secFilingsAsEvidenceOfPublicTradingStatus + - foundingTreatyOrEquivalent + description: Type of document + status: + type: string + enum: + - missing + - countExceeded + - submitted + - inReview + - verified + description: Verification status + createdAt: + type: string + description: ISO timestamp when document was associated + updatedAt: + type: string + description: ISO timestamp when association was last updated + required: + - id + - documentId + - documentType + - status + - createdAt + - updatedAt + description: List of documents associated with the identity + required: + - identityId + - documents + '400': + description: '400' + content: + application/json: + schema: + type: object + properties: + error: + type: string + required: + - error + '404': + description: '404' + content: + application/json: + schema: + type: object + properties: + error: + type: string + required: + - error + '500': + description: '500' + content: + application/json: + schema: + type: object + properties: + error: + type: string + required: + - error + /api/identity-service/v1/identities/{identityId}/documents/{identityDocumentId}: + put: + summary: Update KYB Document + description: Update a specific document association (document ID, type, or status). + operationId: identities.put.v1.identities.id.documents.id + tags: + - Know Your Business (KYB) + parameters: + - name: identityId + in: path + required: true + schema: + type: string + format: uuid + description: The unique ID of the identity + - name: identityDocumentId + in: path + required: true + schema: + type: string + format: uuid + description: The unique ID of the document association + requestBody: + description: Body + content: + application/json: + schema: + type: object + properties: + documentId: + type: string + format: uuid + description: New external document service ID (must be a valid UUID) + documentType: + type: string + enum: + - governmentId + - commercialRegister + - articlesOfAssociation + - certificateOfIncorporation + - certificateOfTrust + - certificateOfIncumbency + - certificateOfIncumbencyOrShareRegister + - proofOfPrincipalPlaceOfBusiness + - activeTradeLicense + - resolutionToOpenBitgoUaeAccount + - resolutionToOpenBitgoSingaporeAccount + - proofOfAuthorizedSignatories + - memorandumOfAssociation + - memorandumAndArticlesOfAssociation + - bylawsOrOperatingAgreement + - operatingAgreement + - w8 + - w9 + - evidenceOfLegalStatus + - evidenceOfActiveStatus + - proofOfJfsaLicense + - proofOfGamingLicense + - organizationDocument + - partnershipAgreement + - articlesOfOrganization + - businessLicenseOrRegistration + - evidenceOfGovernmentOrStateOwnership + - secFilingsAsEvidenceOfPublicTradingStatus + - foundingTreatyOrEquivalent + description: New document type + responses: + '200': + description: '200' + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: Internal ID for the document association + documentId: + type: string + description: External document service ID + documentType: + type: string + enum: + - governmentId + - commercialRegister + - articlesOfAssociation + - certificateOfIncorporation + - certificateOfTrust + - certificateOfIncumbency + - certificateOfIncumbencyOrShareRegister + - proofOfPrincipalPlaceOfBusiness + - activeTradeLicense + - resolutionToOpenBitgoUaeAccount + - resolutionToOpenBitgoSingaporeAccount + - proofOfAuthorizedSignatories + - memorandumOfAssociation + - memorandumAndArticlesOfAssociation + - bylawsOrOperatingAgreement + - operatingAgreement + - w8 + - w9 + - evidenceOfLegalStatus + - evidenceOfActiveStatus + - proofOfJfsaLicense + - proofOfGamingLicense + - organizationDocument + - partnershipAgreement + - articlesOfOrganization + - businessLicenseOrRegistration + - evidenceOfGovernmentOrStateOwnership + - secFilingsAsEvidenceOfPublicTradingStatus + - foundingTreatyOrEquivalent + description: Type of document + status: + type: string + enum: + - missing + - countExceeded + - submitted + - inReview + - verified + description: Verification status + createdAt: + type: string + description: ISO timestamp when document was associated + updatedAt: + type: string + description: ISO timestamp when association was last updated + required: + - id + - documentId + - documentType + - status + - createdAt + - updatedAt + '400': + description: '400' + content: + application/json: + schema: + type: object + properties: + error: + type: string + required: + - error + '404': + description: '404' + content: + application/json: + schema: + type: object + properties: + error: + type: string + required: + - error + '422': + description: '422' + content: + application/json: + schema: + type: object + properties: + error: + type: string + required: + - error + '500': + description: '500' + content: + application/json: + schema: + type: object + properties: {} + delete: + summary: Delete KYB Document + description: Remove a specific document association from an identity. + operationId: identities.delete.v1.identities.id.documents.id + tags: + - Know Your Business (KYB) + parameters: + - name: identityId + in: path + required: true + schema: + type: string + description: The unique ID of the identity + - name: identityDocumentId + in: path + required: true + schema: + type: string + description: The unique ID of the document association + responses: + '204': + description: '204' + content: + application/json: + schema: + type: object + properties: {} + '404': + description: '404' + content: + application/json: + schema: + type: object + properties: + error: + type: string + required: + - error + '500': + description: '500' + content: + application/json: + schema: + type: object + properties: {} + /api/identity-service/v1/products-configs: + get: + summary: Get BitGo Products Configuration + operationId: identities.get.v1.products-configs + tags: + - BitGo Products + parameters: + - name: bitgoOrg + in: query + description: BitGo organization types + required: true + schema: + type: string + enum: + - BitGo Trust + - BitGo New York + - BitGo Germany + - BitGo Switzerland + - BitGo Europe ApS + - Frankfurt DE Trust + - BitGo Singapore + - BitGo Korea + - BitGo Mena Fze + - BitGo Custody MENA FZE + - BitGo Sister Trust 1 + - BitGo Inc + title: WPBitgoOrg + - name: accountType + in: query + required: true + schema: + type: string + enum: + - individual + - entity + - name: country + in: query + description: Country (formatted as ISO 3166-1 alpha-3) + required: true + schema: {} + - name: subdivision + in: query + description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) + schema: + type: string + minLength: 1 + maxLength: 3 + - name: source + in: query + schema: + type: string + enum: + - ftx + - ftx-retail + - ftx-bahamas + - ftx-bahamas-retail + responses: + '200': + description: '200' + content: + application/json: + schema: + oneOf: + - type: object + properties: + bitgoOrg: + $ref: '#/components/schemas/WPBitgoOrg' + accountType: + type: string + enum: + - individual + - entity + country: + description: Country (formatted as ISO 3166-1 alpha-3) + subdivision: + type: string + minLength: 1 + maxLength: 3 + description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) + bitgoProducts: + type: array + items: + $ref: '#/components/schemas/WPBitGoProduct' + id: + type: string + format: uuid + required: + - bitgoOrg + - accountType + - country + - bitgoProducts + - id + - type: object + properties: + bitgoOrg: + $ref: '#/components/schemas/WPBitgoOrg' + accountType: + type: string + enum: + - individual + - entity + country: + description: Country (formatted as ISO 3166-1 alpha-3) + subdivision: + type: string + minLength: 1 + maxLength: 3 + description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) + source: + type: string + enum: + - ftx + - ftx-retail + - ftx-bahamas + - ftx-bahamas-retail + bitgoProducts: + type: array + items: + $ref: '#/components/schemas/WPBitGoProduct' + id: + type: string + format: uuid + required: + - bitgoOrg + - accountType + - country + - source + - bitgoProducts + - id + '400': + description: '400' + content: + application/json: + schema: + type: object + properties: {} + '404': + description: '404' + content: + application/json: + schema: + type: object + properties: {} + '500': + description: '500' + content: + application/json: + schema: + type: object + properties: {} //api/notifications/v1/user/subscriptions: get: tags: @@ -41299,6 +42761,148 @@ components: - name - decimals - isIssuedByBitgo + AssociatedPersonInput: + type: object + properties: + role: + type: string + enum: + - beneficialOwner + - controlPerson + - platformAdmin + description: Role of the associated person + percentageOwnership: + type: number + minimum: 0 + maximum: 100 + description: Percentage of ownership (only for beneficialOwner) + identityId: + type: string + description: Identity ID of the person + required: + - role + - identityId + title: AssociatedPersonInput + AssociatedPersonResponse: + type: object + properties: + identityId: + type: string + description: The individual identity ID of the associated person + role: + type: string + enum: + - beneficialOwner + - controlPerson + - platformAdmin + description: Role of the associated person + percentageOwnership: + type: number + minimum: 0 + maximum: 100 + description: Percentage of ownership (only applicable to beneficial owners) + nullable: true + status: + type: string + enum: + - missingRequirements + - readyForSubmission + - inReview + - verified + - rejected + description: Verification status of the associated person + individual: + type: object + properties: + nameFirst: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: First name of the individual + nameLast: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: Last name of the individual + birthdate: + $ref: '#/components/schemas/Birthdate' + phoneNumber: + type: object + properties: + countryCode: + type: string + pattern: ^[0-9]+$ + description: Country code of the phone number + phoneNumber: + type: string + pattern: ^[0-9]+$ + description: Phone number (without country code) + required: + - countryCode + - phoneNumber + occupation: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Occupation of the individual + countryOfCitizenship: + description: Country of citizenship (ISO 3166-1 alpha-3) + countryOfResidence: + description: Country of residence (ISO 3166-1 alpha-3) + govIdCountryOfIssuance: + description: Country where government ID was issued (ISO 3166-1 alpha-3) + address: + type: object + properties: + street1: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 1 + street2: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 2 + city: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: City name + subdivision: + type: string + minLength: 1 + maxLength: 3 + description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) + zip: + type: string + description: ZIP or postal code + country: + description: Country (formatted as ISO 3166-1 alpha-3) + required: + - street1 + - city + - subdivision + - zip + - country + identificationNumber: + type: string + description: National identification number (e.g., SSN, passport number) + politicallyExposedPerson: + type: boolean + description: Whether the individual is a politically exposed person + description: Individual data for the associated person + userId: + type: string + description: User ID of the associated person + missingRequirements: + type: array + items: + $ref: '#/components/schemas/MissingRequirement' + description: List of missing requirements for the associated person + required: + - identityId + - role + - percentageOwnership + - status + - individual + - userId + - missingRequirements + title: AssociatedPersonResponse AtomAddress: title: Atom Address type: object @@ -42611,6 +44215,24 @@ components: required: - type - delegationId + Birthdate: + type: object + properties: + month: + type: string + description: birthdate month + day: + type: string + description: birthdate day + year: + type: string + description: birthdate year + required: + - month + - day + - year + title: Birthdate + description: Birthdate Bitcoin: type: string enum: @@ -43295,6 +44917,265 @@ components: description: Individual approval result item required: - results + Business: + type: object + properties: + businessName: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Legal name of the business + incorporationCountryCode: + description: Country of incorporation (ISO 3166-1 alpha-3) + primaryOperationsCountryCode: + description: Primary country of operations (ISO 3166-1 alpha-3) + einTinIdentificationNumber: + type: string + description: EIN/TIN of the business + otherEntityId: + type: string + description: Any additional entity identifier + physicalBusinessAddress: + type: object + properties: + street1: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 1 + street2: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 2 + city: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: City name + subdivision: + type: string + minLength: 1 + maxLength: 3 + description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) + zip: + type: string + description: ZIP or postal code + country: + description: Country (formatted as ISO 3166-1 alpha-3) + required: + - street1 + - city + - subdivision + - zip + - country + mailingAddress: + type: object + properties: + street1: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 1 + street2: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 2 + city: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: City name + subdivision: + type: string + minLength: 1 + maxLength: 3 + description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) + zip: + type: string + description: ZIP or postal code + country: + description: Country (formatted as ISO 3166-1 alpha-3) + required: + - street1 + - city + - subdivision + - zip + - country + billingAddress: + type: object + properties: + street1: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 1 + street2: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 2 + city: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: City name + subdivision: + type: string + minLength: 1 + maxLength: 3 + description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) + zip: + type: string + description: ZIP or postal code + country: + description: Country (formatted as ISO 3166-1 alpha-3) + required: + - street1 + - city + - subdivision + - zip + - country + legalEntityStructure: + type: string + enum: + - llc + - corporationCAndS + - partnershipLimitedAndLLP + - generalPartnership + - trusts + - privateInvestmentOrFoundation + - unincorporatedBusiness + - soleProprietorship + - governmentOwned + - publiclyTraded + - supranationalBodies + - specialPurposeVehicle + - segregatedPortfolioCompany + description: Business entity legal structure used to filter requirements (enum). + formationDate: + type: string + description: Business formation date (YYYY-MM-DD) + dbaName: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: DBA (Doing Business As) name + companyWebsiteAddress: + type: string + format: uri + description: Official company website + primaryBusinessType: + $ref: '#/components/schemas/PrimaryBusinessType' + primaryBusinessTypeInstitutional: + type: boolean + description: Whether the business is institutional + descriptionBusinessActivities: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Short description of the business + billingContact: + type: object + properties: + nameFirst: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: First name + nameLast: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: Last name + emailAddress: + type: string + format: email + description: Email address + phoneNumber: + type: object + properties: + countryCode: + type: string + pattern: ^[0-9]+$ + description: Country code of the phone number + phoneNumber: + type: string + pattern: ^[0-9]+$ + description: Phone number (without country code) + required: + - countryCode + - phoneNumber + required: + - nameFirst + - nameLast + - emailAddress + - phoneNumber + authorizedSigner: + type: object + properties: + nameFirst: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: First name + nameLast: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: Last name + emailAddress: + type: string + format: email + description: Email address + phoneNumber: + type: object + properties: + countryCode: + type: string + pattern: ^[0-9]+$ + description: Country code of the phone number + phoneNumber: + type: string + pattern: ^[0-9]+$ + description: Phone number (without country code) + required: + - countryCode + - phoneNumber + required: + - nameFirst + - nameLast + - emailAddress + - phoneNumber + tradeStrategy: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Trading strategy of the business + activeCoinTokens: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Active cryptocurrencies traded + tradeVolumeUsd: + type: string + description: Estimated trade volume in USD + activeExchanges: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: List of active exchanges + diligenceRetailInstitutional: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Diligence level required (retail or institutional) + customerBaseLocations: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Locations of customer base + sanctionAffiliates: + type: boolean + description: Whether the business has sanctioned affiliates + hasAuditor: + type: boolean + description: Whether the business has an auditor + firmAuditor: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Name of audit firm (if applicable) + hasLegalCounsel: + type: boolean + description: Whether the business has legal counsel + diligenceCounselName: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Name of legal counsel (if applicable) + walletAddress: + type: string + description: Business wallet address + title: Business BusinessModel: title: BusinessModel type: string @@ -44797,6 +46678,91 @@ components: - files title: CreateDocumentResponse description: Response after creating a new document + CreateIdentityBody: + discriminator: + propertyName: type + oneOf: + - type: object + properties: + type: + type: string + enum: + - individual + description: Identity type + userId: + type: string + description: The ID of the user + individual: + $ref: '#/components/schemas/Individual' + requestedProducts: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the permission + bitgoOrg: + type: string + description: The entity granting the permission + required: + - name + - bitgoOrg + description: List of requested bitgo products (can be empty for associated people) + finalizeSubmission: + default: false + type: boolean + description: Whether identity is ready for final submission and requirements validation + required: + - type + - userId + - requestedProducts + - type: object + properties: + type: + type: string + enum: + - business + description: Identity type + organizationId: + type: string + description: The ID of the organization + enterpriseId: + type: string + description: The ID of the enterprise + business: + $ref: '#/components/schemas/Business' + associatedPeople: + type: array + items: + $ref: '#/components/schemas/AssociatedPersonInput' + description: List of associated people + requestedProducts: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the permission + bitgoOrg: + type: string + description: The entity granting the permission + required: + - name + - bitgoOrg + minItems: 1 + description: List of requested bitgo products (business entities require at least one product) + finalizeSubmission: + default: false + type: boolean + description: Whether identity is ready for final submission and requirements validation + required: + - type + - organizationId + - enterpriseId + - requestedProducts + title: CreateIdentityBody CreateKey: type: object properties: @@ -45856,6 +47822,63 @@ components: 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 + Document: + type: object + properties: + id: + type: string + description: Internal ID for the document association + documentId: + type: string + description: External document service ID + documentType: + type: string + enum: + - governmentId + - commercialRegister + - articlesOfAssociation + - certificateOfIncorporation + - certificateOfTrust + - certificateOfIncumbency + - certificateOfIncumbencyOrShareRegister + - proofOfPrincipalPlaceOfBusiness + - activeTradeLicense + - resolutionToOpenBitgoUaeAccount + - resolutionToOpenBitgoSingaporeAccount + - proofOfAuthorizedSignatories + - memorandumOfAssociation + - memorandumAndArticlesOfAssociation + - bylawsOrOperatingAgreement + - operatingAgreement + - w8 + - w9 + - evidenceOfLegalStatus + - evidenceOfActiveStatus + - proofOfJfsaLicense + - proofOfGamingLicense + - organizationDocument + - partnershipAgreement + - articlesOfOrganization + - businessLicenseOrRegistration + - evidenceOfGovernmentOrStateOwnership + - secFilingsAsEvidenceOfPublicTradingStatus + - foundingTreatyOrEquivalent + description: Type of document + status: + type: string + enum: + - missing + - countExceeded + - submitted + - inReview + - verified + description: Verification status + required: + - id + - documentId + - documentType + - status + title: Document DocumentFileDetail: type: object properties: @@ -51549,6 +53572,81 @@ components: title: uuid - $ref: '#/components/schemas/TradeBaseReq' - $ref: '#/components/schemas/TradeBaseQuoteInbound' + Individual: + type: object + properties: + nameFirst: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: First name of the individual + nameLast: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: Last name of the individual + birthdate: + $ref: '#/components/schemas/Birthdate' + phoneNumber: + type: object + properties: + countryCode: + type: string + pattern: ^[0-9]+$ + description: Country code of the phone number + phoneNumber: + type: string + pattern: ^[0-9]+$ + description: Phone number (without country code) + required: + - countryCode + - phoneNumber + occupation: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Occupation of the individual + countryOfCitizenship: + description: Country of citizenship (ISO 3166-1 alpha-3) + countryOfResidence: + description: Country of residence (ISO 3166-1 alpha-3) + govIdCountryOfIssuance: + description: Country where government ID was issued (ISO 3166-1 alpha-3) + address: + type: object + properties: + street1: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 1 + street2: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 2 + city: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: City name + subdivision: + type: string + minLength: 1 + maxLength: 3 + description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) + zip: + type: string + description: ZIP or postal code + country: + description: Country (formatted as ISO 3166-1 alpha-3) + required: + - street1 + - city + - subdivision + - zip + - country + identificationNumber: + type: string + description: National identification number (e.g., SSN, passport number) + politicallyExposedPerson: + type: boolean + description: Whether the individual is a politically exposed person + title: Individual InitiateTrustlineParams: type: object properties: @@ -54151,6 +56249,38 @@ components: 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 + MissingRequirement: + type: object + properties: + id: + type: string + description: Unique identifier for the missing requirement + kind: + type: string + enum: + - businessInformation + - data + - document + - associatedPerson + description: Type of missing requirement + name: + type: string + description: Name of the missing requirement + status: + type: string + enum: + - missing + - countExceeded + - submitted + - inReview + - verified + description: Current status of the missing requirement + required: + - id + - kind + - name + - status + title: MissingRequirement MmiSignMessageIntent: title: MMI Sign Message Intent allOf: @@ -58963,6 +61093,49 @@ components: - employee - FTX Retail - FTX Institutional + PrimaryBusinessType: + type: string + enum: + - Crypto Services (Exchange, ATM, Borrow/Lend) + - Crypto Solutions (DAO, Staking, CaaS, hot wallet provider, miner/mining pool, coins/tokens (developer, issuer, foundation)) + - Custodian + - Agriculture + - Arts, Media, Entertainment + - Asset Management (i.e. revocable/irrevocable trust, IRA, pension fund) + - Bank + - Broker/Dealer + - Casinos and Gambling Establishments + - Charity/NGO/Non-profit/Foundation/Endowment + - Commodities/Futures Commission Merchant + - Corporate Holding Company + - Education + - Energy companies + - Family Office + - Food, hospitality, and tourism + - Government/State owned/Political Org. (i.e. Sovereign Wealth Fund) + - Import/Export Companies + - Industrial (construction, manufacturing, textiles, chemicals, etc.) + - Insurance Company + - Law Enforcement / Military / Protective Services + - Marijuana-related Business + - Money Services Business (MSB) + - Mutual Funds + - NBFI (Venture Capital Fund, Hedge Fund, Private Equity Fund, Pooled Investment Fund, Index Fund, ETF Issuer, Registered Investment Advisor, Prime Brokerage) + - OTC + - Other + - Payment Platforms + - Personal Holding Company + - Private Equity / Venture Capital + - Private Investment Companies / International Business Corporations + - Professional Service Providers (lawyers, accountants, etc.) + - Real estate brokers, developers, and appraisers + - Retail Lender + - Software or Technology Company + - Traders / Trading (High Frequency, Proprietary, Market Maker) + - Transportation & Shipping + - Weapons Dealers + title: PrimaryBusinessType + description: Primary type of business PrimeTrade: required: - id @@ -59631,6 +61804,80 @@ components: - processing - completed - failed + RequestedProductResponse: + type: object + properties: + id: + type: string + description: Unique identifier for the requested permission + name: + type: string + description: Name of the permission + bitgoOrg: + type: string + description: The entity granting the permission + country: + description: The country where the permission is being requested + subdivision: + type: string + minLength: 1 + maxLength: 3 + description: The subdivision where the permission is being requested + status: + type: string + enum: + - missingLocation + - missingEntityStructure + - missingRequirements + - readyForSubmission + - inReview + - approved + - rejected + description: Status of the requested permission + required: + - id + - name + - bitgoOrg + - status + title: RequestedProductResponse + Requirement: + type: object + properties: + id: + type: string + description: Unique identifier for the requirement + kind: + type: string + enum: + - businessInformation + - data + - document + - associatedPerson + description: Type of requirement + name: + type: string + description: Name of the requirement + status: + type: string + enum: + - missing + - countExceeded + - submitted + - inReview + - verified + description: Current status of the requirement + minRequired: + type: number + description: Minimum number required (for associated persons) + maxAllowed: + type: number + description: Maximum number allowed (for associated persons) + required: + - id + - kind + - name + - status + title: Requirement ResendShareEmailResponse: type: object properties: @@ -66922,6 +69169,47 @@ components: - status title: UpdateFileStatusResponse description: Response after updating file status + UpdateIdentityBody: + type: object + properties: + finalizeSubmission: + type: boolean + description: Whether identity is ready for final submission and requirements validation + requestedProducts: + type: array + items: + type: object + properties: + name: + type: string + bitgoOrg: + type: string + country: + description: Country (formatted as ISO 3166-1 alpha-3) + subdivision: + type: string + minLength: 1 + maxLength: 3 + description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) + required: + - name + - bitgoOrg + description: List of products to update + individual: + $ref: '#/components/schemas/Individual' + business: + $ref: '#/components/schemas/Business' + associatedPeople: + type: array + items: + $ref: '#/components/schemas/AssociatedPersonInput' + description: List of associated people to update + documents: + type: array + items: + $ref: '#/components/schemas/Document' + description: List of documents to update + title: UpdateIdentityBody UpdatePinnedWalletsResponse: title: UpdatePinnedWalletsResponse type: object @@ -70161,6 +72449,48 @@ components: required: - intentType - $ref: '#/components/schemas/BaseStakeIntent' + WPBitGoProduct: + type: string + enum: + - Instant Fee Wallets + - Go Account + - Settlement + - Tax + - Trade API + - Margin Trading + - Elliptic + - CryptoCompare + - MetaMask + - Custody + - Borrowing + - Lending + - DeFi + - Cold Self-Custody + - Go Network + - Staking + - Trade + - Hot Self-Custody + - Escrow + - Distributed Custody + title: WPBitGoProduct + description: BitGo product types + WPBitgoOrg: + type: string + enum: + - BitGo Trust + - BitGo New York + - BitGo Germany + - BitGo Switzerland + - BitGo Europe ApS + - Frankfurt DE Trust + - BitGo Singapore + - BitGo Korea + - BitGo Mena Fze + - BitGo Custody MENA FZE + - BitGo Sister Trust 1 + - BitGo Inc + title: WPBitgoOrg + description: BitGo organization types Wallet: title: Wallet type: object From 715f1bccac90a11b614d5aec47aacd43aac00edf Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 18:00:16 +0000 Subject: [PATCH 12/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/api.yaml b/api.yaml index a280aa2..f13837c 100644 --- a/api.yaml +++ b/api.yaml @@ -45583,7 +45583,7 @@ components: orderId: type: string format: uuid - description: Unique identifier for the order + description: Unique identifier for the close position order closePositionsRequestId: type: string format: uuid @@ -45615,6 +45615,11 @@ components: type: string format: date-time description: Timestamp when the order was completed + clientOrderId: + type: string + format: uuid + description: Optional client order ID if the close position order is associated with a client order + nullable: true example: orderId: c3d4e5f6-g7h8-9012-cdef-345678901234 closePositionsRequestId: b2c3d4e5-f6g7-8901-bcde-f23456789012 From ab4821494950929df3cd53974766fb57029d31c1 Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Tue, 23 Sep 2025 21:56:43 +0000 Subject: [PATCH 13/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/api.yaml b/api.yaml index f13837c..fc40221 100644 --- a/api.yaml +++ b/api.yaml @@ -24600,6 +24600,7 @@ paths: - $ref: '#/components/schemas/SolUnStakingRequestPOSTBody' - $ref: '#/components/schemas/SolClaimRewardsRequestPOSTBody' - $ref: '#/components/schemas/SomiStakingRequestPOSTBody' + - $ref: '#/components/schemas/SomiUnStakingRequestPOSTBody' - $ref: '#/components/schemas/SomiClaimRewardsRequestPOSTBody' - $ref: '#/components/schemas/SomiSwitchValidatorsRequestPOSTBody' - $ref: '#/components/schemas/StxStakingRequestPOSTBody' @@ -24761,6 +24762,8 @@ paths: $ref: '#/components/examples/SolUnStakingRequestPOSTBodyExample' SomiStakingRequestPOSTBodyExample: $ref: '#/components/examples/SomiStakingRequestPOSTBodyExample' + SomiUnStakingRequestPOSTBodyExample: + $ref: '#/components/examples/SomiUnStakingRequestPOSTBodyExample' SomiClaimRewardsRequestPOSTBodyExample: $ref: '#/components/examples/SomiClaimRewardsRequestPOSTBodyExample' SomiSwitchValidatorRequestPOSTBodyExample: @@ -39340,6 +39343,13 @@ components: type: SWITCH_VALIDATOR delegationId: somi-delegation-1 validator: somivaloper1abcxyz + SomiUnStakingRequestPOSTBodyExample: + summary: Somi UnStaking Request POST Body Example + value: + clientId: d055adbc-66a3-4ccd-9a9d-726a05bca0cf + delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf + type: UNSTAKE + amount: '2000000000000000000' StakeableCoinsResultExample: summary: Stakeable Coins Result Example value: @@ -50026,6 +50036,9 @@ components: - STAKE - ETH_STAKE_PECTRA example: STAKE + delegationId: + description: Optional delegation id to be used for topup, only active delegations are allowed, that do not have a pending stake or pending unstake. + type: string EthStakingTransaction: allOf: - $ref: '#/components/schemas/StakingTransaction' @@ -63693,6 +63706,23 @@ components: allOf: - $ref: '#/components/schemas/StakingRequestPOSTBody' type: object + properties: + amount: + description: Amount to stake in base units (wei for SOMI). + type: string + example: '5000000000000000000' + type: + description: Staking Request type = 'STAKE'. + type: string + example: STAKE + validator: + description: The SOMI validator address to delegate to. + type: string + example: '0x1234567890123456789012345678901234567890' + required: + - amount + - type + - validator SomiSwitchValidatorsRequestPOSTBody: title: Somi Switch Validators Request type: object @@ -63716,6 +63746,27 @@ components: validator: type: string description: Address of the new validator to delegate to. + SomiUnStakingRequestPOSTBody: + title: SOMI 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 (wei for SOMI). Supports partial unstaking. + type: string + example: '2000000000000000000' + required: + - type + - delegationId + - amount SpendingLimits: type: object additionalProperties: From f4e6775190870a27243423cd59d55d12a34780d5 Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Wed, 24 Sep 2025 21:42:47 +0000 Subject: [PATCH 14/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/api.yaml b/api.yaml index fc40221..d6b6d51 100644 --- a/api.yaml +++ b/api.yaml @@ -30582,6 +30582,7 @@ paths: - custodial - custodialPaired - hot + - advanced - trading description: If present, filters transaction requests by the specified wallet types - name: states @@ -35396,6 +35397,7 @@ paths: - custodial - custodialPaired - hot + - advanced - trading responses: '200': @@ -35667,6 +35669,7 @@ paths: - custodial - custodialPaired - hot + - advanced - trading description: Filter by wallet type. - name: deleted @@ -48746,6 +48749,35 @@ components: $ref: '#/components/schemas/OnboardingAgreement' custodyServicesAgreement: $ref: '#/components/schemas/OnboardingAgreement' + stablecoinAgreement: + type: array + items: + type: object + description: Stablecoin agreement schema for enterprise users. + properties: + user: + type: string + description: User who accepted the agreement + date: + oneOf: + - type: string + - type: string + format: date-time + title: ISO Date String + - type: string + format: date + title: Date String + description: Date when the agreement was accepted + ip: + type: string + description: IP address of the user + version: + type: number + description: Version number of the agreement + required: + - user + - date + - version accountType: allOf: - $ref: '#/components/schemas/AccountType' @@ -48769,7 +48801,6 @@ components: 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' @@ -52160,6 +52191,8 @@ components: required: - name - id + stablecoinAgreementLatestVersion: + type: number required: - wallets - tags @@ -52622,6 +52655,7 @@ components: - custodial - custodialPaired - hot + - advanced - trading description: Wallet type required: @@ -66700,6 +66734,7 @@ components: - custodial - custodialPaired - hot + - advanced - trading description: The type describes who owns the keys to the wallet associated to the TxRequest. version: @@ -67812,6 +67847,7 @@ components: - custodial - custodialPaired - hot + - advanced - trading description: Wallet type replaces: @@ -73276,6 +73312,7 @@ components: - suiOfcStaking - enableWalletConnect - enableSolCustomTx + - enableAptCustomTx WalletId: type: string example: 59cd72485007a239fb00282ed480da1f @@ -74072,6 +74109,7 @@ components: - custodial - custodialPaired - hot + - advanced - trading WalletTypeCondition: title: Wallet type @@ -75104,6 +75142,7 @@ components: - custodial - custodialPaired - hot + - advanced - trading description: Type of wallet example: trading From 18da0904f837ae5b7a29be3a354258bc62120efb Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Wed, 24 Sep 2025 21:43:01 +0000 Subject: [PATCH 15/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/api.yaml b/api.yaml index d6b6d51..9bff480 100644 --- a/api.yaml +++ b/api.yaml @@ -74241,6 +74241,7 @@ components: - hot - trading - distributedCustody + - advanced WalletUnspentsResponse: title: WalletUnspentsResponse type: object From 60bccb56486949ae880dd6fce14c85b37fbe69ff Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Wed, 24 Sep 2025 21:45:03 +0000 Subject: [PATCH 16/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/api.yaml b/api.yaml index 9bff480..5d96f24 100644 --- a/api.yaml +++ b/api.yaml @@ -28730,6 +28730,50 @@ paths: schema: type: object properties: {} + /api/stablecoin/v1/tokens/{token}/details: + get: + summary: Get cross-chain total supply for a token + description: Returns the aggregated total supply for a token across all supported chains. + operationId: stablecoin.v1.tokens.totalSupply.get + tags: + - Stablecoin + parameters: + - name: token + description: Token symbol or identifier for the stablecoin to get total supply for. + in: path + required: true + schema: + type: string + example: usd1 + minLength: 1 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/GetTokenDetailsResponse' + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: {} + '404': + description: Not Found + content: + application/json: + schema: + type: object + properties: {} + '500': + description: Internal Server Error + content: + application/json: + schema: + type: object + properties: {} /api/v1/user/login: post: summary: Login Request @@ -52754,6 +52798,61 @@ components: example: fake_trust_go_account_id required: - trustAccountWalletId + GetTokenDetailsResponse: + title: GetTokenDetailsResponse + type: object + properties: + token: + type: string + description: Token symbol or identifier + example: usd1 + minLength: 1 + totalSupplyAggregated: + type: string + description: Total supply across all chains in the smallest unit + example: '5000000000000000000' + minLength: 1 + supplyByChain: + type: array + items: + type: object + properties: + chain: + type: string + description: Blockchain network identifier + example: eth + minLength: 1 + supply: + type: string + description: Total supply for this chain in the smallest unit (wei, satoshi, etc.) + example: '1000000000000000000' + minLength: 1 + success: + type: boolean + description: Whether the supply fetch was successful + example: true + error: + type: string + description: Error message if supply fetch failed + example: Network timeout + cached: + type: boolean + description: Whether this supply data was retrieved from cache + example: true + required: + - chain + - supply + - success + description: Breakdown of supply by chain + totalReserves: + type: string + description: Total reserves + minLength: 1 + required: + - token + - totalSupplyAggregated + - supplyByChain + - totalReserves GetTransactionRequestsResponse: title: GetTransactionRequestsResponse type: object From 94dbd94fa5d535d4c1140a652041e097052d2fe0 Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Wed, 24 Sep 2025 21:45:34 +0000 Subject: [PATCH 17/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 193 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) diff --git a/api.yaml b/api.yaml index 5d96f24..423ffa1 100644 --- a/api.yaml +++ b/api.yaml @@ -24540,6 +24540,7 @@ paths: - $ref: '#/components/schemas/AtomClaimRewardsRequestPOSTBody' - $ref: '#/components/schemas/AtomSwitchValidatorsRequestPOSTBody' - $ref: '#/components/schemas/AvaxCStakingRequestPOSTBody' + - $ref: '#/components/schemas/AvaxCUnStakingRequestPOSTBody' - $ref: '#/components/schemas/AvaxPStakingRequestPOSTBody' - $ref: '#/components/schemas/BabyStakingRequestPOSTBody' - $ref: '#/components/schemas/BabyUnStakingRequestPOSTBody' @@ -24572,6 +24573,8 @@ paths: - $ref: '#/components/schemas/EigenStakingRequestPOSTBody' - $ref: '#/components/schemas/EigenUnStakingRequestPOSTBody' - $ref: '#/components/schemas/EthStakingRequestPOSTBody' + - $ref: '#/components/schemas/EthUnStakingRequestPOSTBody' + - $ref: '#/components/schemas/EthUnStakingRequestPOSTBodyPrePectra' - $ref: '#/components/schemas/HashStakingRequestPOSTBody' - $ref: '#/components/schemas/HashUnStakingRequestPOSTBody' - $ref: '#/components/schemas/InjectiveStakingRequestPOSTBody' @@ -24648,6 +24651,8 @@ paths: $ref: '#/components/examples/AtomSwitchValidatorRequestPOSTBodyExample' AvaxCStakingRequestPOSTBodyExample: $ref: '#/components/examples/AvaxCStakingRequestPOSTBodyExample' + AvaxCUnStakingRequestPOSTBodyExample: + $ref: '#/components/examples/AvaxCUnStakingRequestPOSTBodyExample' AvaxPStakingRequestPOSTBodyExample: $ref: '#/components/examples/AvaxPStakingRequestPOSTBodyExample' BabyStakingRequestPOSTBodyExample: @@ -24708,6 +24713,12 @@ paths: $ref: '#/components/examples/EigenUnStakingRequestPOSTBodyExample' EthStakingRequestPOSTBodyExample: $ref: '#/components/examples/EthStakingRequestPOSTBodyExample' + EthUnStakingRequestPOSTBodyExamplePectra: + $ref: '#/components/examples/EthUnStakingRequestPOSTBodyExamplePectra' + EthUnStakingRequestPOSTBodyExamplePrePectraSingle: + $ref: '#/components/examples/EthUnStakingRequestPOSTBodyExamplePrePectraSingle' + EthUnStakingRequestPOSTBodyExamplePrePectraMultiple: + $ref: '#/components/examples/EthUnStakingRequestPOSTBodyExamplePrePectraMultiple' HashStakingRequestPOSTBodyExample: $ref: '#/components/examples/HashStakingRequestPOSTBodyExample' HashUnStakingRequestPOSTBodyExample: @@ -24840,6 +24851,8 @@ paths: $ref: '#/components/examples/AtomUnStakingRequestWithoutDelegationsExample' AvaxCStakingRequestWithoutDelegationsExample: $ref: '#/components/examples/AvaxCStakingRequestWithoutDelegationsExample' + AvaxCUnStakingRequestWithoutDelegationsExample: + $ref: '#/components/examples/AvaxCUnStakingRequestWithoutDelegationsExample' AvaxPStakingRequestWithoutDelegationsExample: $ref: '#/components/examples/AvaxPStakingRequestWithoutDelegationsExample' BabyStakingRequestWithoutDelegationsExample: @@ -24888,6 +24901,8 @@ paths: $ref: '#/components/examples/EigenUnStakingRequestWithoutDelegationsExample' EthStakingRequestWithoutDelegationsExample: $ref: '#/components/examples/EthStakingRequestWithoutDelegationsExample' + EthUnStakingRequestWithoutDelegationsExample: + $ref: '#/components/examples/EthUnStakingRequestWithoutDelegationsExample' HashStakingRequestWithoutDelegationsExample: $ref: '#/components/examples/HashStakingRequestWithoutDelegationsExample' HashUnStakingRequestWithoutDelegationsExample: @@ -24928,6 +24943,10 @@ paths: $ref: '#/components/examples/SolStakingRequestWithoutDelegationsExample' SolUnStakingRequestWithoutDelegationsExample: $ref: '#/components/examples/SolUnStakingRequestWithoutDelegationsExample' + SomiStakingRequestWithoutDelegationsExample: + $ref: '#/components/examples/SomiStakingRequestWithoutDelegationsExample' + SomiUnStakingRequestWithoutDelegationsExample: + $ref: '#/components/examples/SomiUnStakingRequestWithoutDelegationsExample' StxStakingRequestWithoutDelegationsExample: $ref: '#/components/examples/StxStakingRequestWithoutDelegationsExample' StxUnStakingRequestWithoutDelegationsExample: @@ -24964,6 +24983,10 @@ paths: $ref: '#/components/examples/WethStakingRequestWithoutDelegationsExample' WethUnStakingRequestWithoutDelegationsExample: $ref: '#/components/examples/WethUnStakingRequestWithoutDelegationsExample' + WflrStakingRequestWithoutDelegationsExample: + $ref: '#/components/examples/WflrStakingRequestWithoutDelegationsExample' + WflrUnStakingRequestWithoutDelegationsExample: + $ref: '#/components/examples/WflrUnStakingRequestWithoutDelegationsExample' ZetaStakingRequestWithoutDelegationsExample: $ref: '#/components/examples/ZetaStakingRequestWithoutDelegationsExample' ZetaUnStakingRequestWithoutDelegationsExample: @@ -36221,6 +36244,29 @@ components: createdDate: 2025-09-08T14:00:00.000Z amount: '1000000000' subType: STAVAX_STAKE + AvaxCUnStakingRequestPOSTBodyExample: + summary: AVAXC UnStaking Request POST Body Example + value: + clientId: c155adbc-66a3-4ccd-9a9d-726a05bca0cf + delegationId: a0225adbc-66a3-4ccd-9a9d-726a05bca0cf + type: UNSTAKE + amount: '500000000' + AvaxCUnStakingRequestWithoutDelegationsExample: + summary: AVAXC UnStaking Request Example + value: + id: e1234567-89ab-4cde-9012-3456789abcde + clientId: g1h2i3j4-5678-90ab-cdef-1234567890ab + requestingUserId: 6092e75c451052000636831deb797bd1 + enterpriseId: 61c0ff41174c4e0007ae78b2a0bea1ec + walletId: 63110fc78b108e00071df2d3c3879dd0 + withdrawalAddress: C-avax1r9y8ehv0yx3lkn2f0j0y5rjkx6s0tk4lpavx9 + walletType: custodial + type: UNSTAKE + coin: avaxc + createdDate: 2025-09-08T14:32:28.000Z + statusModifiedDate: 2025-09-08T14:32:28.000Z + status: NEW + amount: '2000000000' AvaxPDelegationResultsExample: summary: AvaxP Delegation Results Example value: @@ -37544,6 +37590,43 @@ components: gasLimit: '3000000000000000' amount: '6400000000000000000' gasPrice: '1000000000000000' + EthUnStakingRequestPOSTBodyExamplePectra: + summary: ETH UnStaking Request POST Body Example (Pectra) + value: + clientId: e355adbc-66a3-4ccd-9a9d-726a05bca0cf + delegationId: c0225adbc-66a3-4ccd-9a9d-726a05bca0cf + type: UNSTAKE + amount: '32000000000000000000' + EthUnStakingRequestPOSTBodyExamplePrePectraMultiple: + summary: ETH UnStaking Request POST Body Example (Pre-Pectra, multiple delegations) + value: + clientId: e355adbc-66a3-4ccd-9a9d-726a05bca0cf + delegationIds: + - c0225adbc-66a3-4ccd-9a9d-726a05bca0cf + - d1337adbc-77b4-5dde-9b1d-826a05bca1df + type: UNSTAKE + EthUnStakingRequestPOSTBodyExamplePrePectraSingle: + summary: ETH UnStaking Request POST Body Example (Pre-Pectra, single delegation) + value: + clientId: e355adbc-66a3-4ccd-9a9d-726a05bca0cf + delegationId: c0225adbc-66a3-4ccd-9a9d-726a05bca0cf + type: UNSTAKE + EthUnStakingRequestWithoutDelegationsExample: + summary: ETH UnStaking Request Example + value: + id: g1234567-89ab-4cde-9012-3456789abcde + clientId: i1j2k3l4-5678-90ab-cdef-1234567890ab + requestingUserId: 6092e75c451052000636831deb797bd1 + enterpriseId: 61c0ff41174c4e0007ae78b2a0bea1ec + walletId: 63110fc78b108e00071df2d3c3879dd0 + withdrawalAddress: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e' + walletType: custodial + type: UNSTAKE + coin: eth + createdDate: 2025-09-08T14:32:28.000Z + statusModifiedDate: 2025-09-08T14:32:28.000Z + status: NEW + amount: '32000000000000000000' EvaluationExample: summary: Evaluation description: A successful evaluation response. @@ -39383,6 +39466,22 @@ components: amount: '5000000000000000000' type: STAKE validator: '0x1234567890123456789012345678901234567890' + SomiStakingRequestWithoutDelegationsExample: + summary: SOMI Staking Request Example + value: + id: c1234567-89ab-4cde-9012-3456789abcde + clientId: e1f2g3h4-5678-90ab-cdef-1234567890ab + requestingUserId: 6092e75c451052000636831deb797bd1 + type: STAKE + enterpriseId: 61c0ff41174c4e0007ae78b2a0bea1ec + walletId: 63110fc78b108e00071df2d3c3879dd0 + walletType: hot + withdrawalAddress: somi1q8k8ehv0yx3lkn2f0j0y5rjkx6s0tk4lp12345 + coin: somi + status: NEW + statusModifiedDate: 2025-09-08T14:00:00.000Z + createdDate: 2025-09-08T14:00:00.000Z + amount: '2500000000' SomiSwitchValidatorRequestPOSTBodyExample: summary: Example SOMI Switch Validator Request value: @@ -39397,6 +39496,22 @@ components: delegationId: e0225adbc-66a3-4ccd-9a9d-726a05bca0cf type: UNSTAKE amount: '2000000000000000000' + SomiUnStakingRequestWithoutDelegationsExample: + summary: SOMI UnStaking Request Example + value: + id: d1234567-89ab-4cde-9012-3456789abcde + clientId: f1g2h3i4-5678-90ab-cdef-1234567890ab + requestingUserId: 6092e75c451052000636831deb797bd1 + enterpriseId: 61c0ff41174c4e0007ae78b2a0bea1ec + walletId: 63110fc78b108e00071df2d3c3879dd0 + withdrawalAddress: somi1r9y8ehv0yx3lkn2f0j0y5rjkx6s0tk4lp67890 + walletType: custodial + type: UNSTAKE + coin: somi + createdDate: 2025-09-08T14:32:28.000Z + statusModifiedDate: 2025-09-08T14:32:28.000Z + status: NEW + amount: '1000000000' StakeableCoinsResultExample: summary: Stakeable Coins Result Example value: @@ -40291,6 +40406,22 @@ components: subType: WFLR_STAKE validator: '0x1234567890abcdef1234567890abcdef12345678' gasPrice: '50000000000000' + WflrStakingRequestWithoutDelegationsExample: + summary: WFLR Staking Request Example + value: + id: a1234567-89ab-4cde-9012-3456789abcde + clientId: c1d2e3f4-5678-90ab-cdef-1234567890ab + requestingUserId: 6092e75c451052000636831deb797bd1 + type: STAKE + enterpriseId: 61c0ff41174c4e0007ae78b2a0bea1ec + walletId: 63110fc78b108e00071df2d3c3879dd0 + walletType: hot + withdrawalAddress: '0x5fBDB2315678afecb367f032d93F642f64180aa3' + coin: wflr + status: NEW + statusModifiedDate: 2025-09-08T14:00:00.000Z + createdDate: 2025-09-08T14:00:00.000Z + amount: '5000000000000000000' WflrUnStakingRequestPOSTBodyExample: summary: WFLR UnStaking Request POST Body Example value: @@ -40299,6 +40430,22 @@ components: type: UNSTAKE amount: '1000000000000000000' gasPrice: '50000000000000' + WflrUnStakingRequestWithoutDelegationsExample: + summary: WFLR UnStaking Request Example + value: + id: b1234567-89ab-4cde-9012-3456789abcde + clientId: d1e2f3g4-5678-90ab-cdef-1234567890ab + requestingUserId: 6092e75c451052000636831deb797bd1 + enterpriseId: 61c0ff41174c4e0007ae78b2a0bea1ec + walletId: 63110fc78b108e00071df2d3c3879dd0 + withdrawalAddress: '0xAb5801a7D398351b8bE11C439e05C5b3259aeC9B' + walletType: custodial + type: UNSTAKE + coin: wflr + createdDate: 2025-09-08T14:32:28.000Z + statusModifiedDate: 2025-09-08T14:32:28.000Z + status: NEW + amount: '3000000000000000000' ZetaStakingRequestPOSTBodyExample: summary: Zeta Staking Request POST Body Example value: @@ -43255,6 +43402,18 @@ components: - amount - type - subType + AvaxCUnStakingRequestPOSTBody: + title: AVAXC unstake + allOf: + - $ref: '#/components/schemas/UnStakingRequestPOSTBody' + type: object + properties: + amount: + description: Amount to unstake in base units. + type: string + example: '100000000' + required: + - amount AvaxPAddress: title: AvaxP Address type: object @@ -50151,6 +50310,40 @@ components: properties: {} - $ref: '#/components/schemas/TransferTokenIntent' - $ref: '#/components/schemas/EthBuildOptions' + EthUnStakingRequestPOSTBody: + title: ETH unstake (default) + allOf: + - $ref: '#/components/schemas/UnStakingRequestPOSTBody' + type: object + properties: + amount: + description: Amount to unstake in base units. + type: string + example: '32000000000' + delegationId: + description: Delegation identifier for this unstake. + type: string + format: uuid + required: + - amount + - delegationId + EthUnStakingRequestPOSTBodyPrePectra: + title: ETH unstake (pre-Pectra) + allOf: + - $ref: '#/components/schemas/UnStakingRequestPOSTBody' + type: object + properties: + delegationIds: + description: One or more delegation IDs for unstake. + type: array + items: + type: string + format: uuid + example: + - uuid-1 + - uuid-2 + required: + - delegationIds Ethereum2Address: title: Ethereum2 Address type: object From d39a4f57b424d5957bc8d6bd2a1410037e7a796c Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 21:13:00 +0000 Subject: [PATCH 18/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/api.yaml b/api.yaml index 423ffa1..997a4a1 100644 --- a/api.yaml +++ b/api.yaml @@ -11341,7 +11341,7 @@ paths: schema: type: object properties: {} - //api/notifications/v1/user/subscriptions: + /api/notifications/v1/user/subscriptions: get: tags: - User Management Notification @@ -11401,7 +11401,7 @@ paths: application/json: schema: type: object - //api/notifications/v1/tokens: + /api/notifications/v1/tokens: post: tags: - User Management Notification @@ -11427,7 +11427,7 @@ paths: application/json: schema: $ref: '#/components/schemas/AddDeviceTokenResponse' - //api/notifications/v1/categories: + /api/notifications/v1/categories: get: tags: - User Management Notification @@ -11447,7 +11447,7 @@ paths: application/json: schema: $ref: '#/components/schemas/CategoriesResponse' - //api/notifications/v1/tokens/{deviceToken}: + /api/notifications/v1/tokens/{deviceToken}: delete: tags: - User Management Notification @@ -51129,8 +51129,6 @@ components: failureReason: type: string description: The reason for failure, if any. - transfer: - $ref: '#/components/schemas/AnnotatedTransferWithInputsOutputs' ExpressPayInvoiceRequest: type: object properties: @@ -51194,8 +51192,6 @@ components: description: Fee in millisatoshis failureReason: $ref: '#/components/schemas/LightningPaymentFailureReason' - transfer: - $ref: '#/components/schemas/AnnotatedTransferWithInputsOutputs' ExpressPingResponse: type: object properties: From dcae7110aba3d900958ef3fe7e3bf3a41bbebc20 Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 21:18:33 +0000 Subject: [PATCH 19/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 9386 +++++++++++++++++++++++++++--------------------------- 1 file changed, 4703 insertions(+), 4683 deletions(-) diff --git a/api.yaml b/api.yaml index 997a4a1..768c130 100644 --- a/api.yaml +++ b/api.yaml @@ -44085,3410 +44085,2396 @@ components: transactionsNeeded: description: Number of transactions required. type: integer - BaseGoStakeIntent: - title: BaseGoStakeIntent - allOf: - - type: object - properties: - goStakingRequestId: - type: string - required: - - goStakingRequestId - - $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 - BaseIntent1: - title: Intent - type: object - properties: - intentType: - $ref: '#/components/schemas/IntentType1' - sequenceId: - $ref: '#/components/schemas/optionalString' - comment: - $ref: '#/components/schemas/optionalString' - nonce: - oneOf: - - type: string - - type: number - required: - - intentType - BaseIntent2: + BaseEnterprise: + title: Base Enterprise 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: + id: + $ref: '#/components/schemas/EnterpriseIdString' + name: type: string - description: The 'nonce' of a transaction (optional) - memo: + 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 - description: | - A `memo` is an additional address feature necessary for identifying a transaction recipient beyond wallet address. - required: - - intentType - BaseIntentWithoutNonce: - title: BaseIntentWithoutNonce - type: object - properties: - intentType: - $ref: '#/components/schemas/IntentType' - sequenceId: - $ref: '#/components/schemas/optionalString' - comment: - $ref: '#/components/schemas/optionalString' - required: - - intentType - BasePermissionAttributes: - description: Base attributes for all permission types. - type: object - properties: - enabled: - description: True if the permission is enabled. + latestSAVersionSigned: + type: number + example: 0 + travelRule: type: boolean - disabledReason: - description: Reason why the permission is disabled, if applicable. + 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 - nullable: true - required: - - enabled - BaseShare: - title: BaseShare - type: object - properties: - from: + 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/SignatureShareType' - description: The source of the commitment share - example: user - to: + - $ref: '#/components/schemas/OnboardingAgreement' + description: Who & when the MPA license was ack'd + stakingServicesAgreement: + $ref: '#/components/schemas/OnboardingAgreement' + custodyServicesAgreement: + $ref: '#/components/schemas/OnboardingAgreement' + stablecoinAgreement: + type: array + items: + type: object + description: Stablecoin agreement schema for enterprise users. + properties: + user: + type: string + description: User who accepted the agreement + date: + oneOf: + - type: string + - type: string + format: date-time + title: ISO Date String + - type: string + format: date + title: Date String + description: Date when the agreement was accepted + ip: + type: string + description: IP address of the user + version: + type: number + description: Version number of the agreement + required: + - user + - date + - version + accountType: allOf: - - $ref: '#/components/schemas/SignatureShareType' - description: The recipient of the commitment share. - example: bitgo - share: + - $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: The commitment share. - required: - - from - - to - - share - BaseSpendableAttributes: - type: object - properties: - max: - description: The maximum spendable amount. + description: Opportunity ID from Salesforce + salesforceOpportunityId: type: string - min: - description: The minimum spendable amount. + opportunityName: type: string - multiplier: - description: The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation. + description: Opportunity Name from Salesforce + salesEmail: type: string - fee: - description: The blockchain fee to submit the transactions. + cheetahAccountId: type: string - BaseStakeIntent: - title: BaseStakeIntent - allOf: - - type: object - properties: - stakingRequestId: - type: string - required: - - stakingRequestId - - $ref: '#/components/schemas/BaseIntent' - BaseStakeIntent1: - title: BaseStakeIntent - allOf: - - type: object - properties: - stakingRequestId: - type: string - required: - - stakingRequestId - - $ref: '#/components/schemas/BaseIntent1' - BaseStakeIntent2: - allOf: - - $ref: '#/components/schemas/BaseIntent2' - - type: object - properties: - stakingRequestId: - type: string - required: - - stakingRequestId - BaseStakeIntentWithCalldata: - title: Base Stake Intent with Calldata - allOf: - - type: object - properties: - calldata: - type: string - required: - - calldata - - $ref: '#/components/schemas/BaseStakeIntent' - BaseTradeCorrectionMetadata: - title: BaseTradeCorrectionMetadata - type: object - properties: - correctingUser: - type: string - minLength: 1 - reason: - type: string - minLength: 1 - required: - - correctingUser - - reason - BaseWalletAddress: - title: BaseWalletAddress - type: object - properties: - id: + 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: Platform public ID for an address + description: The Id of the User who is the primary contact example: 59cd72485007a239fb00282ed480da1f pattern: ^[0-9a-f]{32}$ - address: - $ref: '#/components/schemas/AddressString' - balance: - $ref: '#/components/schemas/TrimmedBalance' - 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: + emergencyPhone: type: string - lastConsolidatedTime: + description: Phone number for emergencies + example: '+11234567890' + pricingPlan: type: string - format: date - title: Date String - needsConsolidation: - type: boolean - tokenConsolidationState: {} - tokenAddress: {} - BeraDelegateIntent: - title: Bera Delegate Intent - allOf: - - type: object - properties: - intentType: - type: string - enum: - - delegate - 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 - - $ref: '#/components/schemas/BaseStakeIntent' - BeraStakingDelegation: - title: BERA - allOf: - - $ref: '#/components/schemas/StakingDelegation' - type: object - properties: - subType: - description: The staking type. + 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 - enum: - - NATIVE_STAKE - - INFRARED_LIQUID_STAKE - operator: - description: The operator address. + description: The public portion of the ethererum key generated for the enterprise fee address + ethFeeAddress: type: string - BeraStakingRequest: - title: BERA - allOf: - - $ref: '#/components/schemas/StakingRequest' - type: object - properties: - delegations: + 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 - minItems: 1 - maxItems: 1 items: - $ref: '#/components/schemas/BeraStakingDelegation' - transactions: + type: string + labels: type: array - minItems: 1 - maxItems: 500 items: - $ref: '#/components/schemas/StakingTransaction' - amount: - description: Amount to stake in base units. - type: string - gasPrice: - type: string - description: User overridden gas price to apply for the generated transactions for this request. - subType: - description: The staking type (NATIVE_STAKE, INFRARED_LIQUID_STAKE). - type: string - enum: - - NATIVE_STAKE - - INFRARED_LIQUID_STAKE - operator: - description: The operator address. - type: string - BeraStakingRequestPOSTBody: - title: BERA stake - allOf: - - $ref: '#/components/schemas/StakingRequestPOSTBody' - type: object - properties: - amount: - description: Amount to stake in base units. - type: string - example: '1000000000000000000' - type: - description: Staking Request type = 'STAKE'. - type: string - example: STAKE - validator: - description: The validator pubkey. - type: string - gasPrice: - description: User overridden gas price to apply for the generated transactions for this request. GasPrice is in base units. - type: string - subType: - description: The staking type (NATIVE_STAKE, INFRARED_LIQUID_STAKE). - type: string - enum: - - NATIVE_STAKE - - INFRARED_LIQUID_STAKE - default: INFRARED_LIQUID_STAKE - operator: - description: The operator address. - type: string - withdrawCredentials: - description: The withdraw credentials. - type: string - depositSignature: - description: The deposit signature. - type: string - required: - - amount - - type - BeraUnStakingRequestPOSTBody: - title: BERA 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: '1000000000000000000' - required: - - type - - delegationId - Birthdate: - type: object - properties: - month: + type: string + publicLabels: + type: array + items: + type: string + description: Subset of labels that are OK to return back to client in GetEnterpriseResponse + 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: birthdate month - day: + 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 - description: birthdate day - year: + bitgoVaspId: type: string - description: birthdate year - required: - - month - - day - - year - title: Birthdate - description: Birthdate - Bitcoin: - type: string - enum: - - btc - - tbtc4 - description: This route is only available for Bitcoin. - BitcoinCashAddress: - title: Bitcoin Cash Address - allOf: - - type: object + coinSpecific: + type: object + additionalProperties: {} + walletCounts: + type: object + description: Number of wallets per coin properties: - format: - $ref: '#/components/schemas/SupportedAddressFormat' - - $ref: '#/components/schemas/UtxoAddress' - BitgoOrg: - title: BitgoOrg - type: string - enum: - - BitGo Trust - - BitGo New York - - BitGo Germany - - BitGo Switzerland - - BitGo Europe ApS - - Frankfurt DE Trust - - BitGo Singapore - - BitGo Korea - - BitGo Custody MENA FZE - - BitGo India - - BitGo Sister Trust 1 - - BitGo Inc - 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 - BldClaimRewardsRequestPOSTBody: - title: Agoric (BLD) Claim Rewards Request - type: object - description: Request to claim staking rewards for Agoric (BLD). - required: - - type - - delegationId - properties: - clientId: - type: string - description: Optional client defined identifier. - type: - type: string - enum: - - CLAIM_REWARDS - description: Type of request. - delegationId: - type: string - description: Identifier of the delegation. - BldStakingDelegation: - allOf: - - $ref: '#/components/schemas/StakingDelegation' - type: object - BldStakingRequest: - title: BLD - allOf: - - $ref: '#/components/schemas/StakingRequest' - type: object - properties: - delegations: + 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 - minItems: 1 - maxItems: 1 items: - $ref: '#/components/schemas/BldStakingDelegation' - transactions: + 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 + sourceConfig: type: array - minItems: 1 - maxItems: 500 items: - $ref: '#/components/schemas/BldStakingTransaction' - amount: - description: Amount to stake in base units. - type: string - BldStakingRequestPOSTBody: - title: BLD stake - allOf: - - $ref: '#/components/schemas/StakingRequestPOSTBody' - type: object - BldStakingTransaction: - allOf: - - $ref: '#/components/schemas/StakingTransaction' - type: object - BldSwitchValidatorsRequestPOSTBody: - title: Agoric (BLD) Switch Validators Request - type: object - description: Request to switch staking delegation to a new validator for Agoric (BLD). - required: - - type - - delegationId - - validator - properties: - clientId: - type: string - description: Optional client defined identifier. - type: - type: string - enum: - - SWITCH_VALIDATORS - description: Type of request. - delegationId: - type: string - description: Identifier of the existing delegation to switch from. - validator: - type: string - description: Address of the new validator to delegate to. - BldUnStakingRequestPOSTBody: - title: BLD unstake - allOf: - - $ref: '#/components/schemas/UnStakingRequestPOSTBody' - type: object - properties: - amount: - description: Amount to unstake in base units. - type: string - example: '10000000000' - required: - - amount - BlincAccountResponseProps: - title: BlincAccountResponseProps - type: object - properties: - type: - type: string - enum: - - blinc - accountType: - $ref: '#/components/schemas/OptionalAccountType' - externalId: - type: string - minLength: 1 - required: - - type - - accountType - - externalId - BlincBankAccountRequest: - title: BlincBankAccountRequest - description: Request schema for creating a Blinc bank account - allOf: - - type: object - properties: - type: - type: string - enum: - - blinc - description: Must be 'blinc' for Blinc accounts - externalId: - type: string - description: External identifier for the Blinc account - required: - - type - - externalId - - $ref: '#/components/schemas/BankAccountRequest1' - BlincBankAccountResponse: - title: BlincBankAccountResponse - allOf: - - type: object - properties: {} - - $ref: '#/components/schemas/BlincAccountResponseProps' - - $ref: '#/components/schemas/BankAccountResponseProps' - BlockHash: - type: string - example: 0000000000000296ed56abee6cb78e40b00c47a03d92e71dd92c4862ca636b95 - 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' - BscStakingDelegation: - allOf: - - $ref: '#/components/schemas/StakingDelegation' - type: object - BscStakingRequest: - title: BSC - allOf: - - $ref: '#/components/schemas/StakingRequest' - type: object - properties: - delegations: + type: object + properties: + source: + $ref: '#/components/schemas/AggregatorSourceType' + metadata: + type: object + description: 'The following fields: source, showBanner, readyForDistribution, showVideoIdBanner, ftxCreditorId were added for FTX insitutional distribution. Reference: https://bitgoinc.atlassian.net/browse/COPS-2695' + properties: + showBanner: + type: boolean + readyForDistribution: + type: boolean + showVideoIdBanner: + type: boolean + ftxCreditorId: + type: string + ftxHost: + $ref: '#/components/schemas/FtxHostType' + creditorId: + type: string + required: + - source + description: Array to store configs, upon which certain actions are taken, per source + videoIdRequired: + type: boolean + description: Check for video ID Users + contract: + allOf: + - $ref: '#/components/schemas/EnterpriseContract' + description: Contract information + referralCode: + allOf: + - $ref: '#/components/schemas/ReferralCodeString' + description: Referral code + oauthSetting: + allOf: + - $ref: '#/components/schemas/OAuthSetting' + description: oauth setting of the enterprise * + optOutOfPoints: + type: boolean + description: Opt Out of Points System Flag + requestedBitgoOrg: + allOf: + - $ref: '#/components/schemas/BitgoOrg' + description: Requested BitGo Org + requestedProducts: type: array - minItems: 1 - maxItems: 1 items: - $ref: '#/components/schemas/BscStakingDelegation' - transactions: + type: string + enum: + - BitGo MMI + - BitGo Qualified Custody + - BitGo Qualified Custody & Hot Wallet + - Borrowing + - Borrowing / Lending + - Lending + - NFTs + - Self Custody + - 'Go Network: Off Exchange Settlement' + - Staking + - Trade + - Transactional / Hot Wallet + - Wrapped Asset Services + - Escrow + - Distributed Custody Wallet + - Token Management (HZ) + - Platform Integration (B2B2C) + - BitGo Wealth Management (HZ) + - BitGo Concierge + - Coincover Referral + - 'Go Network: Fiat currency Settlement' + - Fiat Currency Custody + - Excess Insurance + - Setup + - Lightning + - Liquidity Provider + - Alliance Agreement + - BitGo Custody + - BitGo MMI (Inc) + - Coincover Referral (Inc) + - Custom Project + - NFTs (Inc) + - Other (Inc) + - Partial Signature + - Portfolio & Tax + - Professional Services + - Setup (Inc) + - Staking (Inc) + - Platform Integration (B2B2C) (Inc) + description: Requested Products + requestedBitgoProducts: type: array - minItems: 1 - maxItems: 500 items: - $ref: '#/components/schemas/BscStakingTransaction' - amount: - description: Amount to stake in base units. - type: string - BscStakingRequestPOSTBody: - title: BSC stake - allOf: - - $ref: '#/components/schemas/StakingRequestPOSTBody' - type: object - BscStakingTransaction: - allOf: - - $ref: '#/components/schemas/StakingTransaction' - type: object - BscUnDelegateIntent: - title: BSC UnDelegate Intent + type: string + enum: + - Instant Fee Wallets + - Go Account + - Settlement + - Tax + - Trade API + - Margin Trading + - Elliptic + - CryptoCompare + - MetaMask + - Custody + - Borrowing + - Lending + - DeFi + - Cold Self-Custody + - Go Network + - Staking + - Trade + - Hot Self-Custody + - Escrow + - Distributed Custody + - Advanced Wallets + - Stablecoins + description: Requested BitGo Products + isContractedClient: + type: boolean + description: True, if the enterprise has been onboarded by Salesforce + required: + - id + - name + - additionalEnterpriseInfo + - bitgoOrg + - kycState + - legalIdentifiers + - type + - latestSAVersionSigned + - travelRule + - productLicenses + - canAccessBorrowing + - canAccessLending + - canAccessSettlement + - canAccessTrading + - canCreateColdWallet + - canCreateHotWallet + - canCreateCustodialWallet + - canCreateOffchainWallet + - oneTimeFees + - upfrontPaymentStatus + - ethAlwaysUseHop + - usersViewAllWallets + - videoIdWaived + BaseGoStakeIntent: + title: BaseGoStakeIntent allOf: - type: object properties: - intentType: - type: string - enum: - - undelegate - validatorAddress: - type: string - amount: - $ref: '#/components/schemas/Amount' - relayerFee: + goStakingRequestId: type: string required: - - intentType - - validatorAddress - - amount - - $ref: '#/components/schemas/BaseStakeIntent' - BscUnStakingRequestPOSTBody: - title: BSC unstake - allOf: - - $ref: '#/components/schemas/UnStakingRequestPOSTBody' + - goStakingRequestId + - $ref: '#/components/schemas/BaseIntent' + BaseIntent: + title: Intent type: object properties: - amount: - description: Amount to unstake in base units. - type: string - example: '10000000000' + intentType: + $ref: '#/components/schemas/IntentType' + sequenceId: + $ref: '#/components/schemas/optionalString' + comment: + $ref: '#/components/schemas/optionalString' + nonce: + oneOf: + - type: string + - type: number required: - - amount - BscWithdrawUndelegateIntent: - title: BSC Withdraw Intent - allOf: - - type: object - properties: - validatorAddress: - type: string - requestNumber: - type: number - required: - - validatorAddress - - requestNumber - - $ref: '#/components/schemas/WithdrawIntent' - BtcStakingDelegation: - title: BTC - allOf: - - $ref: '#/components/schemas/StakingDelegation' - type: object - BtcStakingRequest: - title: BTC - allOf: - - $ref: '#/components/schemas/StakingRequest' + - intentType + BaseIntent1: + title: Intent type: object properties: - delegations: - type: array - minItems: 1 - maxItems: 1 - items: - $ref: '#/components/schemas/BtcStakingDelegation' - transactions: - type: array - minItems: 1 - maxItems: 500 - items: - $ref: '#/components/schemas/StakingTransaction' - amount: - description: Amount to stake in base units. + intentType: + $ref: '#/components/schemas/IntentType1' + sequenceId: + $ref: '#/components/schemas/optionalString' + comment: + $ref: '#/components/schemas/optionalString' + nonce: + oneOf: + - type: string + - type: number + required: + - intentType + BaseIntent2: + type: object + properties: + intentType: type: string - BtcStakingRequestPOSTBody: - title: BTC stake - allOf: - - $ref: '#/components/schemas/StakingRequestPOSTBody' + 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 + BaseIntentWithoutNonce: + title: BaseIntentWithoutNonce type: object properties: - amount: - description: Amount to stake in base units. + intentType: + $ref: '#/components/schemas/IntentType' + sequenceId: + $ref: '#/components/schemas/optionalString' + comment: + $ref: '#/components/schemas/optionalString' + required: + - intentType + BasePermissionAttributes: + description: Base attributes for all permission types. + type: object + properties: + enabled: + description: True if the permission is enabled. + type: boolean + disabledReason: + description: Reason why the permission is disabled, if applicable. type: string - example: '10000000000' - type: - description: Staking Request type = 'STAKE'. + nullable: true + required: + - enabled + 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 - example: STAKE - validator: - description: The validator address or other identifier. + description: The commitment share. + required: + - from + - to + - share + BaseSpendableAttributes: + type: object + properties: + max: + description: The maximum spendable amount. type: string - coredao: - type: object + min: + description: The minimum spendable amount. + type: string + multiplier: + description: The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation. + type: string + fee: + description: The blockchain fee to submit the transactions. + type: string + BaseStakeIntent: + title: BaseStakeIntent + allOf: + - type: object properties: - expireAt: - description: The expiration date of the staking. + stakingRequestId: type: string - format: date-time - example: 2025-01-01T00:00:00.000Z - rewardAddress: - description: The address where rewards will be sent. + required: + - stakingRequestId + - $ref: '#/components/schemas/BaseIntent' + BaseStakeIntent1: + title: BaseStakeIntent + allOf: + - type: object + properties: + stakingRequestId: type: string - example: '0x1234567890abcdef1234567890abcdef12345678' - babylon: - type: object + required: + - stakingRequestId + - $ref: '#/components/schemas/BaseIntent1' + BaseStakeIntent2: + allOf: + - $ref: '#/components/schemas/BaseIntent2' + - type: object properties: - duration: - description: The duration of staking in seconds. - type: integer - format: int64 - example: 2592000 - rewardAddress: - description: The address where rewards will be sent. + stakingRequestId: type: string - example: '0x1234567890abcdef1234567890abcdef12345678' - required: - - amount - - type - BtcUnStakingRequestPOSTBody: - title: BTC unstake + required: + - stakingRequestId + BaseStakeIntentWithCalldata: + title: Base Stake Intent with Calldata allOf: - - $ref: '#/components/schemas/UnStakingRequestPOSTBody' + - type: object + properties: + calldata: + type: string + required: + - calldata + - $ref: '#/components/schemas/BaseStakeIntent' + BaseTradeCorrectionMetadata: + title: BaseTradeCorrectionMetadata type: object properties: - type: - description: Staking Request type = 'UNSTAKE'. + correctingUser: type: string - example: UNSTAKE - delegationId: - description: The delegation ID representing the delegation to unstake. + minLength: 1 + reason: type: string + minLength: 1 required: - - type - - delegationId - BuildParams: + - correctingUser + - reason + BaseWalletAddress: + title: BaseWalletAddress type: object properties: - type: + id: 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. - messages: - description: '[UTXO only] An array of messages that you sign with the wallet keys using the BIP322 format. If passed, the `recipients` array must be empty.' - type: array - items: - type: object - properties: - address: - type: string - description: The address for which you're proving ownership. This address must belong to the wallet. - message: - type: string - description: Message that is being signed. - example: BIP322 test message. - numBlocks: - type: integer - description: | - (BTC only) The number of blocks required to confirm a transaction. You can use `numBlocks` to estimate the fee rate by targeting confirmation within a given number of blocks. If both `feeRate` and `numBlocks` are absent, the transaction defaults to 2 blocks for confirmation. - - Note: The `maxFeeRate` limits the fee rate generated by `numBlocks`. - minimum: 2 - maximum: 1000 - feeRate: - allOf: - - $ref: '#/components/schemas/IntegerOrString' - - example: 10000 - description: | - Custom fee rate (in base units) per kilobyte (or virtual kilobyte). For example, satoshis per kvByte. - - If the `feeRate` is less than the minimum required network fee, then the minimum fee applies. For example, 1000 sat/kvByte, a flat 1000 microAlgos, or a flat 10 drops of xrp. For XRP, the actual fee is usually 4.5 times the open ledger fee. - - Note: The `feeRate` overrides the `maxFeeRate` and `minFeeRate`. - maxFeeRate: - allOf: - - $ref: '#/components/schemas/IntegerOrIntegerString' - - example: 20000 - description: | - (BTC only) The maximum fee rate (in base units) per kilobyte (or virtual kilobyte). For example, satoshis per kvByte. The `maxFeeRate` limits the fee rate generated by both `feeMultiplier` and `numBlocks`. - - Note: The `feeRate` overrides the `maxFeeRate`. - feeMultiplier: - allOf: - - $ref: '#/components/schemas/NumberOrString' - - example: 1.5 - description: | - (UTXO only) Custom multiplier to the `feeRate`. The resulting fee rate is limited by the `maxFeeRate`. For replace-by-fee (RBF) transactions (that include `rbfTxIds`), the `feeMultiplier` must be greater than 1, since it's an absolute fee multiplier to the transaction being replaced. - - Note: The `maxFeeRate` limits the fee rate generated by `feeMultiplier`. - 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: + description: Platform public ID for an address + example: 59cd72485007a239fb00282ed480da1f + pattern: ^[0-9a-f]{32}$ + address: + $ref: '#/components/schemas/AddressString' + balance: + $ref: '#/components/schemas/TrimmedBalance' + coinSpecific: 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: | - Extra transaction information for CSPR, EOS, HBAR, RUNE, STX, TON, XLM, and XRP. Required for XLM transactions. - - Note: For XRP this is the destination tag (DT). For CSPR this is the transfer ID. - 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: + - $ref: '#/components/schemas/AddressSubdocument' + description: Properties specific to certain coin types + label: + $ref: '#/components/schemas/AddressLabelString' + lastNonce: + type: number + default: -1 + token: type: string - description: (AVAXC and AVAXP only) Destination chain for an AVAX import/export transaction. One of [P, C]. - sourceChain: + proof: type: string - description: (AVAXC and AVAXP only) Source chain for an AVAX import/export transaction. One of [P, C]. - addressType: + signature: 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: + lastConsolidatedTime: 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: + format: date + title: Date String + needsConsolidation: 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 + tokenConsolidationState: {} + tokenAddress: {} + BeraDelegateIntent: + title: Bera Delegate Intent + allOf: + - type: object properties: - expireTime: + intentType: 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. - BuildTokenApprovalResponse: - title: BuildTokenApprovalResponse + enum: + - delegate + 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 + - $ref: '#/components/schemas/BaseStakeIntent' + BeraStakingDelegation: + title: BERA + allOf: + - $ref: '#/components/schemas/StakingDelegation' type: object properties: - txHex: + subType: + description: The staking type. type: string - txInfo: - type: object - properties: - amount: - type: string - contractAddress: - type: string - spender: - type: string - required: - - amount - - contractAddress - - spender - recipients: - type: array - items: - type: object - properties: - address: - type: string - amount: - type: string - data: - type: string - required: - - address - - amount - - data - eip1559: - type: object - properties: - maxFeePerGas: - type: string - maxPriorityFeePerGas: - type: string - required: - - maxFeePerGas - - maxPriorityFeePerGas - nextContractSequenceId: - type: number - required: - - txHex - - txInfo - - recipients - - nextContractSequenceId - BulkUpdateResponse: - title: BulkUpdateResponse + enum: + - NATIVE_STAKE + - INFRARED_LIQUID_STAKE + operator: + description: The operator address. + type: string + BeraStakingRequest: + title: BERA + allOf: + - $ref: '#/components/schemas/StakingRequest' type: object - description: Response type for bulk update properties: - results: + delegations: type: array + minItems: 1 + maxItems: 1 items: - oneOf: - - type: object - properties: - paId: - type: string - description: Pending approval ID - status: - type: string - enum: - - success - description: Result status - required: - - paId - - status - - type: object - properties: - message: - type: string - description: Error message - paId: - type: string - description: Pending approval ID - status: - type: string - enum: - - error - description: Result status - required: - - message - - paId - - status - description: Individual approval result item - required: - - results - Business: + $ref: '#/components/schemas/BeraStakingDelegation' + transactions: + type: array + minItems: 1 + maxItems: 500 + items: + $ref: '#/components/schemas/StakingTransaction' + amount: + description: Amount to stake in base units. + type: string + gasPrice: + type: string + description: User overridden gas price to apply for the generated transactions for this request. + subType: + description: The staking type (NATIVE_STAKE, INFRARED_LIQUID_STAKE). + type: string + enum: + - NATIVE_STAKE + - INFRARED_LIQUID_STAKE + operator: + description: The operator address. + type: string + BeraStakingRequestPOSTBody: + title: BERA stake + allOf: + - $ref: '#/components/schemas/StakingRequestPOSTBody' type: object properties: - businessName: + amount: + description: Amount to stake in base units. type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ - description: Legal name of the business - incorporationCountryCode: - description: Country of incorporation (ISO 3166-1 alpha-3) - primaryOperationsCountryCode: - description: Primary country of operations (ISO 3166-1 alpha-3) - einTinIdentificationNumber: + example: '1000000000000000000' + type: + description: Staking Request type = 'STAKE'. type: string - description: EIN/TIN of the business - otherEntityId: + example: STAKE + validator: + description: The validator pubkey. type: string - description: Any additional entity identifier - physicalBusinessAddress: - type: object - properties: - street1: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ - description: Street address line 1 - street2: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ - description: Street address line 2 - city: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ - description: City name - subdivision: - type: string - minLength: 1 - maxLength: 3 - description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) - zip: - type: string - description: ZIP or postal code - country: - description: Country (formatted as ISO 3166-1 alpha-3) - required: - - street1 - - city - - subdivision - - zip - - country - mailingAddress: - type: object - properties: - street1: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ - description: Street address line 1 - street2: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ - description: Street address line 2 - city: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ - description: City name - subdivision: - type: string - minLength: 1 - maxLength: 3 - description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) - zip: - type: string - description: ZIP or postal code - country: - description: Country (formatted as ISO 3166-1 alpha-3) - required: - - street1 - - city - - subdivision - - zip - - country - billingAddress: - type: object - properties: - street1: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ - description: Street address line 1 - street2: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ - description: Street address line 2 - city: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ - description: City name - subdivision: - type: string - minLength: 1 - maxLength: 3 - description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) - zip: - type: string - description: ZIP or postal code - country: - description: Country (formatted as ISO 3166-1 alpha-3) - required: - - street1 - - city - - subdivision - - zip - - country - legalEntityStructure: + gasPrice: + description: User overridden gas price to apply for the generated transactions for this request. GasPrice is in base units. + type: string + subType: + description: The staking type (NATIVE_STAKE, INFRARED_LIQUID_STAKE). type: string enum: - - llc - - corporationCAndS - - partnershipLimitedAndLLP - - generalPartnership - - trusts - - privateInvestmentOrFoundation - - unincorporatedBusiness - - soleProprietorship - - governmentOwned - - publiclyTraded - - supranationalBodies - - specialPurposeVehicle - - segregatedPortfolioCompany - description: Business entity legal structure used to filter requirements (enum). - formationDate: + - NATIVE_STAKE + - INFRARED_LIQUID_STAKE + default: INFRARED_LIQUID_STAKE + operator: + description: The operator address. type: string - description: Business formation date (YYYY-MM-DD) - dbaName: + withdrawCredentials: + description: The withdraw credentials. type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ - description: DBA (Doing Business As) name - companyWebsiteAddress: + depositSignature: + description: The deposit signature. type: string - format: uri - description: Official company website - primaryBusinessType: - $ref: '#/components/schemas/PrimaryBusinessType' - primaryBusinessTypeInstitutional: - type: boolean - description: Whether the business is institutional - descriptionBusinessActivities: + required: + - amount + - type + BeraUnStakingRequestPOSTBody: + title: BERA unstake + allOf: + - $ref: '#/components/schemas/UnStakingRequestPOSTBody' + type: object + properties: + type: + description: Staking Request type = 'UNSTAKE'. type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ - description: Short description of the business - billingContact: - type: object - properties: - nameFirst: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ - description: First name - nameLast: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ - description: Last name - emailAddress: - type: string - format: email - description: Email address - phoneNumber: - type: object - properties: - countryCode: - type: string - pattern: ^[0-9]+$ - description: Country code of the phone number - phoneNumber: - type: string - pattern: ^[0-9]+$ - description: Phone number (without country code) - required: - - countryCode - - phoneNumber - required: - - nameFirst - - nameLast - - emailAddress - - phoneNumber - authorizedSigner: - type: object - properties: - nameFirst: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ - description: First name - nameLast: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ - description: Last name - emailAddress: - type: string - format: email - description: Email address - phoneNumber: - type: object - properties: - countryCode: - type: string - pattern: ^[0-9]+$ - description: Country code of the phone number - phoneNumber: - type: string - pattern: ^[0-9]+$ - description: Phone number (without country code) - required: - - countryCode - - phoneNumber - required: - - nameFirst - - nameLast - - emailAddress - - phoneNumber - tradeStrategy: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ - description: Trading strategy of the business - activeCoinTokens: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ - description: Active cryptocurrencies traded - tradeVolumeUsd: - type: string - description: Estimated trade volume in USD - activeExchanges: - type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ - description: List of active exchanges - diligenceRetailInstitutional: + example: UNSTAKE + delegationId: + description: The delegation ID representing the delegation to unstake. type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ - description: Diligence level required (retail or institutional) - customerBaseLocations: + amount: + description: Amount to unstake in base units. type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ - description: Locations of customer base - sanctionAffiliates: - type: boolean - description: Whether the business has sanctioned affiliates - hasAuditor: - type: boolean - description: Whether the business has an auditor - firmAuditor: + example: '1000000000000000000' + required: + - type + - delegationId + Birthdate: + type: object + properties: + month: type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ - description: Name of audit firm (if applicable) - hasLegalCounsel: - type: boolean - description: Whether the business has legal counsel - diligenceCounselName: + description: birthdate month + day: type: string - pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ - description: Name of legal counsel (if applicable) - walletAddress: + description: birthdate day + year: type: string - description: Business wallet address - title: Business - BusinessModel: - title: BusinessModel + description: birthdate year + required: + - month + - day + - year + title: Birthdate + description: Birthdate + Bitcoin: type: string enum: - - bitgoAsAService - - cryptoAsAServiceParent - - cryptoAsAServiceChild - CBITBankAccount: - title: CBIT Bank Account + - btc + - tbtc4 + description: This route is only available for Bitcoin. + BitcoinCashAddress: + title: Bitcoin Cash Address + allOf: + - type: object + properties: + format: + $ref: '#/components/schemas/SupportedAddressFormat' + - $ref: '#/components/schemas/UtxoAddress' + BitgoOrg: + title: BitgoOrg + type: string + enum: + - BitGo Trust + - BitGo New York + - BitGo Germany + - BitGo Switzerland + - BitGo Europe ApS + - Frankfurt DE Trust + - BitGo Singapore + - BitGo Korea + - BitGo Custody MENA FZE + - BitGo India + - BitGo Sister Trust 1 + - BitGo Inc + BitgoTSSPublicKeyResponse: + title: BitgoTSSPublicKeyResponse 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: '' + description: Enterprise id for the intended operation (if present in the request) name: type: string - example: America California Bank - ownerName: + description: Name of the key, used for simple identification. Matches MPC key namess in client constants + publicKey: type: string - example: Donald E. Knuth - ownerAddress: + description: BitGo MPC public key + mpcv2PublicKey: 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. + description: BitGo MPCv2 public key + required: + - name + BldClaimRewardsRequestPOSTBody: + title: Agoric (BLD) Claim Rewards Request + type: object + description: Request to claim staking rewards for Agoric (BLD). + required: + - type + - delegationId + properties: + clientId: type: string - example: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6 - shortCountryCode: - $ref: '#/components/schemas/ShortCountryCode' + description: Optional client defined identifier. 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: + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: type: string - example: 59cd72485007a239fb00282ed480da1f - required: - - accountNumber - - address1 - - shortCountryCode - - name - - owner - - enterpriseId - - externalId - CSPRStakingOptions: - title: CSPR + description: Identifier of the delegation. + BldStakingDelegation: + allOf: + - $ref: '#/components/schemas/StakingDelegation' + type: object + BldStakingRequest: + title: BLD + allOf: + - $ref: '#/components/schemas/StakingRequest' type: object properties: + delegations: + type: array + minItems: 1 + maxItems: 1 + items: + $ref: '#/components/schemas/BldStakingDelegation' + transactions: + type: array + minItems: 1 + maxItems: 500 + items: + $ref: '#/components/schemas/BldStakingTransaction' 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 + description: Amount to stake in base units. + type: string + BldStakingRequestPOSTBody: + title: BLD stake 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 - CasperAddress: - title: Casper Address + - $ref: '#/components/schemas/StakingRequestPOSTBody' + type: object + BldStakingTransaction: + allOf: + - $ref: '#/components/schemas/StakingTransaction' + type: object + BldSwitchValidatorsRequestPOSTBody: + title: Agoric (BLD) Switch Validators Request type: object + description: Request to switch staking delegation to a new validator for Agoric (BLD). + required: + - type + - delegationId + - validator properties: - accountHash: + clientId: type: string - rootAddress: + description: Optional client defined identifier. + type: type: string - transferId: + enum: + - SWITCH_VALIDATORS + description: Type of request. + delegationId: type: string - required: - - accountHash - - rootAddress - - transferId - CasperWallet: - title: Casper Wallet + description: Identifier of the existing delegation to switch from. + validator: + type: string + description: Address of the new validator to delegate to. + BldUnStakingRequestPOSTBody: + title: BLD unstake + allOf: + - $ref: '#/components/schemas/UnStakingRequestPOSTBody' type: object properties: - accountHash: - type: string - creationFailure: - type: array - items: - type: string - lastTransferId: - type: string - pendingChainInitialization: - type: boolean - rootAddress: + amount: + description: Amount to unstake in base units. type: string + example: '10000000000' required: - - accountHash - - creationFailure - - lastTransferId - - pendingChainInitialization - - rootAddress - CategoriesResponse: - required: - - categories - type: object - properties: - categories: - type: array - items: - type: string - CbitAccountResponseProps: - title: CbitAccountResponseProps + - amount + BlincAccountResponseProps: + title: BlincAccountResponseProps type: object properties: type: type: string enum: - - cbit + - blinc accountType: $ref: '#/components/schemas/OptionalAccountType' externalId: - $ref: '#/components/schemas/NullableString' + type: string + minLength: 1 required: - type - accountType - CbitBankAccountRequest: - title: CbitBankAccountRequest - description: Request schema for creating a CBIT bank account + - externalId + BlincBankAccountRequest: + title: BlincBankAccountRequest + description: Request schema for creating a Blinc bank account allOf: - type: object properties: type: type: string enum: - - cbit - description: Must be 'cbit' for CBIT accounts + - blinc + description: Must be 'blinc' for Blinc accounts externalId: type: string - description: External identifier for the CBIT account + description: External identifier for the Blinc account required: - type + - externalId - $ref: '#/components/schemas/BankAccountRequest1' - CbitBankAccountResponse: - title: CbitBankAccountResponse + BlincBankAccountResponse: + title: BlincBankAccountResponse allOf: - type: object properties: {} - - $ref: '#/components/schemas/CbitAccountResponseProps' + - $ref: '#/components/schemas/BlincAccountResponseProps' - $ref: '#/components/schemas/BankAccountResponseProps' - Chain: - type: integer - example: 1 - enum: - - 0 - - 1 - - 10 - - 11 - - 20 - - 21 - - 30 - - 31 - - 40 - - 41 - 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 - 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 - 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 - 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`. - 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}$ - ChangeType: - title: ChangeType + BlockHash: type: string - enum: - - create - - update - - delete - - unlock - - bulkUnlock - - bulkArchive - ClaimRewardsDisclaimerAttributes: + example: 0000000000000296ed56abee6cb78e40b00c47a03d92e71dd92c4862ca636b95 + BscDelegateIntent: + title: BSC Delegate Intent allOf: - - $ref: '#/components/schemas/BaseDisclaimer' - type: object - description: Disclaimer information for claiming rewards. - ClaimRewardsPermissionAttributes: + - 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' + BscStakingDelegation: allOf: - - $ref: '#/components/schemas/BasePermissionAttributes' + - $ref: '#/components/schemas/StakingDelegation' type: object - description: Permission attributes specific to claiming staking rewards. - ClaimRewardsSpendableAttributes: + BscStakingRequest: + title: BSC allOf: - - $ref: '#/components/schemas/BaseSpendableAttributes' + - $ref: '#/components/schemas/StakingRequest' type: object - description: Spendable attributes specific to claiming staking rewards. properties: - breakdown: - $ref: '#/components/schemas/ClaimRewardsSpendableBreakdown' - requiresDelegationId: - type: boolean - description: True if a delegation ID must be specified when claiming rewards. - rewardCoin: - description: The coin in which rewards are distributed. - type: string - rewardPairs: + delegations: type: array - description: Optional list of reward pairs (e.g., multiple tokens being rewarded). + minItems: 1 + maxItems: 1 items: - $ref: '#/components/schemas/RewardPairs' - ClaimRewardsSpendableBreakdown: + $ref: '#/components/schemas/BscStakingDelegation' + transactions: + type: array + minItems: 1 + maxItems: 500 + items: + $ref: '#/components/schemas/BscStakingTransaction' + amount: + description: Amount to stake in base units. + type: string + BscStakingRequestPOSTBody: + title: BSC stake + allOf: + - $ref: '#/components/schemas/StakingRequestPOSTBody' + type: object + BscStakingTransaction: + allOf: + - $ref: '#/components/schemas/StakingTransaction' + type: object + 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' + BscUnStakingRequestPOSTBody: + title: BSC unstake + allOf: + - $ref: '#/components/schemas/UnStakingRequestPOSTBody' type: object - description: Breakdown of rewards available for claiming. properties: - totalRewards: - type: string - description: Total accumulated rewards (claimable + pending). - claimableRewards: - type: string - description: Rewards that are immediately available for claiming. - pendingClaimRewards: - type: string - description: Rewards that are pending and not yet claimable. - claimFee: + amount: + description: Amount to unstake in base units. type: string - description: Estimated fee required to claim rewards. - Clause: + example: '10000000000' + required: + - amount + BscWithdrawUndelegateIntent: + title: BSC Withdraw Intent + allOf: + - type: object + properties: + validatorAddress: + type: string + requestNumber: + type: number + required: + - validatorAddress + - requestNumber + - $ref: '#/components/schemas/WithdrawIntent' + BtcStakingDelegation: + title: BTC + allOf: + - $ref: '#/components/schemas/StakingDelegation' + type: object + BtcStakingRequest: + title: BTC + allOf: + - $ref: '#/components/schemas/StakingRequest' type: object - description: | - A combination of Conditions and Actions. properties: - actions: + delegations: type: array + minItems: 1 + maxItems: 1 items: - anyOf: - - $ref: '#/components/schemas/AlwaysDenyActionRequest' - - $ref: '#/components/schemas/EnterpriseAdminActionRequest' - - $ref: '#/components/schemas/WalletAdminActionRequest' - - $ref: '#/components/schemas/FinalApprovalActionRequest' - - $ref: '#/components/schemas/EnterpriseUsersActionRequest' - conditions: + $ref: '#/components/schemas/BtcStakingDelegation' + transactions: type: array + minItems: 1 + maxItems: 500 items: - anyOf: - - $ref: '#/components/schemas/TransferAmountConditionRequest' - - $ref: '#/components/schemas/TransferVelocityLimitConditionRequest' - - $ref: '#/components/schemas/TransferDestinationTypeConditionRequest' - - $ref: '#/components/schemas/TransferInitiatorsConditionRequest' - ClearLoopConnectionKey: - title: ClearLoopConnectionKey + $ref: '#/components/schemas/StakingTransaction' + amount: + description: Amount to stake in base units. + type: string + BtcStakingRequestPOSTBody: + title: BTC stake + allOf: + - $ref: '#/components/schemas/StakingRequestPOSTBody' type: object properties: - schema: - type: string - enum: - - clearloop - apiKey: - type: string - minLength: 1 - apiSecret: + amount: + description: Amount to stake in base units. type: string - minLength: 1 - clientAccountId: + example: '10000000000' + type: + description: Staking Request type = 'STAKE'. type: string - minLength: 1 - companyRegistrationNumber: + example: STAKE + validator: + description: The validator address or other identifier. type: string - minLength: 1 + coredao: + type: object + properties: + expireAt: + description: The expiration date of the staking. + type: string + format: date-time + example: 2025-01-01T00:00:00.000Z + rewardAddress: + description: The address where rewards will be sent. + type: string + example: '0x1234567890abcdef1234567890abcdef12345678' + babylon: + type: object + properties: + duration: + description: The duration of staking in seconds. + type: integer + format: int64 + example: 2592000 + rewardAddress: + description: The address where rewards will be sent. + type: string + example: '0x1234567890abcdef1234567890abcdef12345678' required: - - schema - - apiKey - - apiSecret - - clientAccountId - - companyRegistrationNumber - ClosePositionOrderResponse: + - amount + - type + BtcUnStakingRequestPOSTBody: + title: BTC unstake + allOf: + - $ref: '#/components/schemas/UnStakingRequestPOSTBody' type: object - required: - - orderId - - closePositionsRequestId - - currency - - side - - quantity - - status - - createdAt properties: - orderId: - type: string - format: uuid - description: Unique identifier for the close position order - closePositionsRequestId: - type: string - format: uuid - description: Associated close position request ID - currency: - type: string - description: Currency symbol for the order - side: - $ref: '#/components/schemas/Side' - quantity: - type: string - format: decimal - description: Order quantity - filledQuantity: - type: string - format: decimal - description: Filled quantity - averagePrice: - type: string - format: decimal - description: Average fill price - status: - $ref: '#/components/schemas/OrderStatus' - createdAt: - type: string - format: date-time - description: Timestamp when the order was created - completedAt: + type: + description: Staking Request type = 'UNSTAKE'. type: string - format: date-time - description: Timestamp when the order was completed - clientOrderId: + example: UNSTAKE + delegationId: + description: The delegation ID representing the delegation to unstake. type: string - format: uuid - description: Optional client order ID if the close position order is associated with a client order - nullable: true - example: - orderId: c3d4e5f6-g7h8-9012-cdef-345678901234 - closePositionsRequestId: b2c3d4e5-f6g7-8901-bcde-f23456789012 - currency: BTC - side: sell - quantity: '0.5' - filledQuantity: '0.5' - averagePrice: '45000.00' - status: completed - createdAt: 2024-01-15T11:05:00.000Z - completedAt: 2024-01-15T11:06:00.000Z - ClosePositionRequestOrdersResponse: - type: object required: - - data + - type + - delegationId + BuildParams: + type: object properties: - data: + 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. + messages: + description: '[UTXO only] An array of messages that you sign with the wallet keys using the BIP322 format. If passed, the `recipients` array must be empty.' type: array items: - $ref: '#/components/schemas/ClosePositionOrderResponse' - ClosePositionRequestResponse: - type: object - required: - - closePositionsRequestId - - accountId - - enterpriseId - - status - - bitgoUserId - - creationDate - properties: - closePositionsRequestId: + type: object + properties: + address: + type: string + description: The address for which you're proving ownership. This address must belong to the wallet. + message: + type: string + description: Message that is being signed. + example: BIP322 test message. + numBlocks: + type: integer + description: | + (BTC only) The number of blocks required to confirm a transaction. You can use `numBlocks` to estimate the fee rate by targeting confirmation within a given number of blocks. If both `feeRate` and `numBlocks` are absent, the transaction defaults to 2 blocks for confirmation. + + Note: The `maxFeeRate` limits the fee rate generated by `numBlocks`. + minimum: 2 + maximum: 1000 + feeRate: + allOf: + - $ref: '#/components/schemas/IntegerOrString' + - example: 10000 + description: | + Custom fee rate (in base units) per kilobyte (or virtual kilobyte). For example, satoshis per kvByte. + + If the `feeRate` is less than the minimum required network fee, then the minimum fee applies. For example, 1000 sat/kvByte, a flat 1000 microAlgos, or a flat 10 drops of xrp. For XRP, the actual fee is usually 4.5 times the open ledger fee. + + Note: The `feeRate` overrides the `maxFeeRate` and `minFeeRate`. + maxFeeRate: + allOf: + - $ref: '#/components/schemas/IntegerOrIntegerString' + - example: 20000 + description: | + (BTC only) The maximum fee rate (in base units) per kilobyte (or virtual kilobyte). For example, satoshis per kvByte. The `maxFeeRate` limits the fee rate generated by both `feeMultiplier` and `numBlocks`. + + Note: The `feeRate` overrides the `maxFeeRate`. + feeMultiplier: + allOf: + - $ref: '#/components/schemas/NumberOrString' + - example: 1.5 + description: | + (UTXO only) Custom multiplier to the `feeRate`. The resulting fee rate is limited by the `maxFeeRate`. For replace-by-fee (RBF) transactions (that include `rbfTxIds`), the `feeMultiplier` must be greater than 1, since it's an absolute fee multiplier to the transaction being replaced. + + Note: The `maxFeeRate` limits the fee rate generated by `feeMultiplier`. + 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 - format: uuid - description: Unique identifier for the close position request - accountId: + 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: | + Extra transaction information for CSPR, EOS, HBAR, RUNE, STX, TON, XLM, and XRP. Required for XLM transactions. + + Note: For XRP this is the destination tag (DT). For CSPR this is the transfer ID. + comment: type: string - description: Account ID associated with the request - enterpriseId: + 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: Enterprise ID associated with the request - status: + description: (AVAXC and AVAXP only) Destination chain for an AVAX import/export transaction. One of [P, C]. + sourceChain: type: string - enum: - - pending - - in_progress - - completed - - failed - - cancelled - description: Current status of the close position request - bitgoUserId: + description: (AVAXC and AVAXP only) Source chain for an AVAX import/export transaction. One of [P, C]. + addressType: type: string - description: BitGo user ID who initiated the request - creationDate: + 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 - format: date-time - description: Timestamp when the request was created - example: - closePositionsRequestId: b2c3d4e5-f6g7-8901-bcde-f23456789012 - accountId: f230fdebfa084ffebc7e00515f54603f - enterpriseId: a130kjebfa084ffebc7e00515f54603f - status: pending - bitgoUserId: user123 - creationDate: 2024-01-15T11:00:00.000Z - ClosePositionRequestsResponse: - type: object - required: - - data - properties: - data: + 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: - $ref: '#/components/schemas/ClosePositionRequestResponse' - example: - data: - - closePositionsRequestId: b2c3d4e5-f6g7-8901-bcde-f23456789012 - accountId: f230fdebfa084ffebc7e00515f54603f - enterpriseId: a130kjebfa084ffebc7e00515f54603f - status: pending - bitgoUserId: user123 - creationDate: 2024-01-15T11:00:00.000Z - - closePositionsRequestId: c3d4e5f6-g7h8-9012-cdef-345678901234 - accountId: a980fdebfa084ffebc7e00515f54603f - enterpriseId: c109kjebfa084ffebc7e00515f54603f - status: completed - bitgoUserId: user456 - creationDate: 2024-01-15T10:30:00.000Z - ClosedByUnion: - title: ClosedByUnion - type: string - enum: - - client - - admin - Coin: - title: Coin - description: A cryptocurrency or token ticker symbol. - type: string - example: btc - Coin1: - type: string - description: The staking asset. - enum: - - ADA - - ASI - - ATOM - - AVAXC - - AVAXP - - BABY - - BERA - - BLD - - BSC - - BTC - - COREDAO - - COREUM - - CRONOS - - CSPR - - DOT - - EIGEN - - ETH - - HASH - - INJECTIVE - - MATIC - - NEAR - - OSMO - - POL - - POLYX - - RETH-ROCKET - - SEI - - SOMI - - SOL - - STX - - SUI - - SUI:WAL - - TAO - - TIA - - TON - - TRX - - WETH - - WCT - - WFLR - - ZETA - 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: 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: 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' - CoinNonEmptyString: - title: CoinNonEmptyString - type: string - description: A cryptocurrency symbol or token ticker symbol - example: btc - minLength: 1 - CoinString: - title: CoinString - type: string - description: A cryptocurrency symbol or token ticker symbol - example: btc - CoinsUnauthorizedError: - type: object - properties: - error: - type: string - errorName: - type: string - reqId: + 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 - context: + 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: - errorName: + expireTime: type: string - ColdValue: - title: Self-managed cold wallet + 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. + BuildTokenApprovalResponse: + title: BuildTokenApprovalResponse type: object - description: Self-managed cold wallet. - required: - - value - - label - - description properties: - value: + txHex: type: string - enum: - - cold - description: The actual value. - label: + txInfo: + type: object + properties: + amount: + type: string + contractAddress: + type: string + spender: + type: string + required: + - amount + - contractAddress + - spender + recipients: + type: array + items: + type: object + properties: + address: + type: string + amount: + type: string + data: + type: string + required: + - address + - amount + - data + eip1559: + type: object + properties: + maxFeePerGas: + type: string + maxPriorityFeePerGas: + type: string + required: + - maxFeePerGas + - maxPriorityFeePerGas + nextContractSequenceId: + type: number + coin: type: string - description: A label for the condition parameter Value which can be shown to an end user. - example: Cold Wallet - description: + walletId: type: string - description: A description for the condition parameter Value which can be shown to an end user. - example: A cold wallet - CollateralWithdrawalRequestResponse: - type: object required: - - requestId - - currency - - quantity - - status - - createdAt - properties: - requestId: - type: string - format: uuid - description: Unique identifier for the withdrawal request - currency: - type: string - description: Currency symbol for the withdrawal - quantity: - type: string - format: decimal - description: Amount requested for withdrawal - status: - type: string - enum: - - pending - - approved - - rejected - - completed - - cancelled - description: Current status of the withdrawal request - createdAt: - type: string - format: date-time - description: Timestamp when the request was created - updatedAt: - type: string - format: date-time - description: Timestamp when the request was last updated - approvedAt: - type: string - format: date-time - description: Timestamp when the request was approved - completedAt: - type: string - format: date-time - description: Timestamp when the request was completed - rejectionReason: - type: string - description: Reason for rejection if status is rejected - example: - requestId: a1b2c3d4-e5f6-7890-abcd-ef1234567890 - currency: BTC - quantity: '0.5' - status: pending - createdAt: 2024-01-15T10:30:00.000Z - updatedAt: 2024-01-15T10:30:00.000Z - CollateralWithdrawalRequestsResponse: + - txHex + - txInfo + - recipients + - nextContractSequenceId + - coin + - walletId + BulkUpdateResponse: + title: BulkUpdateResponse type: object - required: - - data + description: Response type for bulk update properties: - data: + results: type: array items: - $ref: '#/components/schemas/CollateralWithdrawalRequestResponse' - pagination: - type: object - properties: - offset: - type: integer - description: Current offset for pagination - limit: - type: integer - description: Number of items per page - total: - type: integer - description: Total number of withdrawal requests - CommitmentShare: + oneOf: + - type: object + properties: + paId: + type: string + description: Pending approval ID + status: + type: string + enum: + - success + description: Result status + required: + - paId + - status + - type: object + properties: + message: + type: string + description: Error message + paId: + type: string + description: Pending approval ID + status: + type: string + enum: + - error + description: Result status + required: + - message + - paId + - status + description: Individual approval result item + required: + - results + Business: 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: + businessName: 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 - CommitmentShare1: - title: CommitmentShare - allOf: - - type: object + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Legal name of the business + incorporationCountryCode: + description: Country of incorporation (ISO 3166-1 alpha-3) + primaryOperationsCountryCode: + description: Primary country of operations (ISO 3166-1 alpha-3) + einTinIdentificationNumber: + type: string + description: EIN/TIN of the business + otherEntityId: + type: string + description: Any additional entity identifier + physicalBusinessAddress: + type: object properties: - type: + street1: type: string - enum: - - commitment - description: The type of the commitment share - required: - - type - - $ref: '#/components/schemas/BaseShare' - CommitmentType: - type: string - enum: - - commitment - example: commitment - 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' - 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' - ConfigFeeInformation: - title: ConfigFeeInformation - allOf: - - type: object - properties: - bank: - $ref: '#/components/schemas/BankId' + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 1 + street2: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 2 + city: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: City name + subdivision: + type: string + minLength: 1 + maxLength: 3 + description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) + zip: + type: string + description: ZIP or postal code + country: + description: Country (formatted as ISO 3166-1 alpha-3) required: - - bank - - oneOf: - - $ref: '#/components/schemas/StaticFee' - - $ref: '#/components/schemas/VariableFee' - ConnectionKey: - title: ConnectionKey - oneOf: - - $ref: '#/components/schemas/TokenConnectionKey' - - $ref: '#/components/schemas/TokenAndSignatureConnectionKey' - - $ref: '#/components/schemas/ApiKeyAndSecretConnectionKey' - - $ref: '#/components/schemas/ClearLoopConnectionKey' - ConnectionStatus: - title: ConnectionStatus - type: string - enum: - - PENDING_DEACTIVATION - - PENDING_ACTIVATION - - ACTIVE - - INACTIVE - - UNDER_REVIEW - - REQUESTED - description: codec for valid connection statuses - ConnectionType: - title: ConnectionType - type: string - enum: - - DVP - - WHITELIST - description: codec for valid connection statuses - 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 + - street1 + - city + - subdivision + - zip + - country + mailingAddress: + type: object properties: - intentType: + street1: type: string - enum: - - consolidateToken - recipients: - type: array - items: - $ref: '#/components/schemas/RecipientEntry1' - consolidateId: + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 1 + street2: type: string - description: Consolidation ID of this consolidation transaction - keepAlive: + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 2 + city: type: string - description: True, if excluding the minimum-funding amounts in an address during consolidation. + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: City name + subdivision: + type: string + minLength: 1 + maxLength: 3 + description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) + zip: + type: string + description: ZIP or postal code + country: + description: Country (formatted as ISO 3166-1 alpha-3) required: - - intentType - - recipients - ConsolidateUnspentsRequest: - type: object - properties: - feeRate: - allOf: - - $ref: '#/components/schemas/IntegerOrString' - - example: 10000 - description: | - Custom fee rate (in base units) per kilobyte (or virtual kilobyte). For example, satoshis per kvByte. - - If the `feeRate` is less than the minimum required network fee, then the minimum fee applies. For example, 1000 sat/kvByte, a flat 1000 microAlgos, or a flat 10 drops of xrp. For XRP, the actual fee is usually 4.5 times the open ledger fee. - - Note: The `feeRate` overrides the `maxFeeRate` and `minFeeRate`. - maxFeeRate: - allOf: - - $ref: '#/components/schemas/IntegerOrIntegerString' - - example: 20000 - description: | - (BTC only) The maximum fee rate (in base units) per kilobyte (or virtual kilobyte). For example, satoshis per kvByte. The `maxFeeRate` limits the fee rate generated by both `feeMultiplier` and `numBlocks`. - - Note: The `feeRate` overrides the `maxFeeRate`. - 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. - ContractType: - title: ContractType - type: string - enum: - - csa - - mpa - - mic - - wvr - ContractTypes: - title: ContractTypes - type: array - items: - type: string - enum: - - csa - - mpa - - mic - - wvr - CoreDaoClaimIntent: - title: CoreDAO Claim Rewards Intent - allOf: - - type: object + - street1 + - city + - subdivision + - zip + - country + billingAddress: + type: object properties: - intentType: + street1: type: string - enum: - - stakeClaimRewards - required: - - intentType - - $ref: '#/components/schemas/BaseStakeIntentWithCalldata' - CoreDaoDelegateIntent: - title: CoreDAO Delegate Intent - allOf: - - type: object - properties: - intentType: + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 1 + street2: type: string - enum: - - delegate - validatorAddress: + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: Street address line 2 + city: type: string - amount: - $ref: '#/components/schemas/Amount' - required: - - intentType - - validatorAddress - - amount - - $ref: '#/components/schemas/BaseStakeIntentWithCalldata' - CoreDaoUndelegateIntent: - title: CoreDAO Undelegate Intent - allOf: - - type: object - properties: - intentType: + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ0-9\s'\-\.,#\/( )&]+$ + description: City name + subdivision: type: string - enum: - - undelegate - validatorAddress: + minLength: 1 + maxLength: 3 + description: State, province, or region (formatted as subdivision section of ISO 3166-2, excludes country code) + zip: type: string - amount: - $ref: '#/components/schemas/Amount' + description: ZIP or postal code + country: + description: Country (formatted as ISO 3166-1 alpha-3) required: - - intentType - - validatorAddress - - amount - - $ref: '#/components/schemas/BaseStakeIntentWithCalldata' - CoredaoStakingDelegation: - allOf: - - $ref: '#/components/schemas/StakingDelegation' - type: object - CoredaoStakingRequest: - title: CoreDAO - 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/CoredaoStakingDelegation' - transactions: - type: array - minItems: 1 - maxItems: 500 - items: - $ref: '#/components/schemas/CoredaoStakingTransaction' - amount: - description: Amount to stake in base units (i.e. Wei for CoreDAO) - type: string - CoredaoStakingRequestPOSTBody: - title: COREDAO 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. - CoredaoStakingTransaction: - allOf: - - $ref: '#/components/schemas/StakingTransaction' - type: object - properties: - gasPrice: - description: The gas limit in base units. + - street1 + - city + - subdivision + - zip + - country + legalEntityStructure: type: string - CoredaoUnStakingRequestPOSTBody: - title: COREDAO unstake - allOf: - - $ref: '#/components/schemas/UnStakingRequestPOSTBody' - type: object - properties: - gasPrice: + enum: + - llc + - corporationCAndS + - partnershipLimitedAndLLP + - generalPartnership + - trusts + - privateInvestmentOrFoundation + - unincorporatedBusiness + - soleProprietorship + - governmentOwned + - publiclyTraded + - supranationalBodies + - specialPurposeVehicle + - segregatedPortfolioCompany + description: Business entity legal structure used to filter requirements (enum). + formationDate: type: string - description: User overridden gas price to apply for the generated transactions for this request. GasPrice is in base units. - CoreumClaimRewardsRequestPOSTBody: - title: Coreum Claim Rewards Request - type: object - description: Request to claim staking rewards for Coreum. - required: - - type - - delegationId - properties: - clientId: + description: Business formation date (YYYY-MM-DD) + dbaName: type: string - description: Optional client defined identifier. - type: + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: DBA (Doing Business As) name + companyWebsiteAddress: type: string - enum: - - CLAIM_REWARDS - description: Type of request. - delegationId: + format: uri + description: Official company website + primaryBusinessType: + $ref: '#/components/schemas/PrimaryBusinessType' + primaryBusinessTypeInstitutional: + type: boolean + description: Whether the business is institutional + descriptionBusinessActivities: type: string - description: Identifier of the delegation. - CoreumStakingDelegation: - allOf: - - $ref: '#/components/schemas/StakingDelegation' - type: object - CoreumStakingRequest: - title: COREUM - allOf: - - $ref: '#/components/schemas/StakingRequest' - type: object - properties: - delegations: - type: array - minItems: 1 - maxItems: 1 - items: - $ref: '#/components/schemas/CoreumStakingDelegation' - transactions: - type: array - minItems: 1 - maxItems: 500 - items: - $ref: '#/components/schemas/CoreumStakingTransaction' - amount: - description: Amount to stake in base units. + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Short description of the business + billingContact: + type: object + properties: + nameFirst: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: First name + nameLast: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: Last name + emailAddress: + type: string + format: email + description: Email address + phoneNumber: + type: object + properties: + countryCode: + type: string + pattern: ^[0-9]+$ + description: Country code of the phone number + phoneNumber: + type: string + pattern: ^[0-9]+$ + description: Phone number (without country code) + required: + - countryCode + - phoneNumber + required: + - nameFirst + - nameLast + - emailAddress + - phoneNumber + authorizedSigner: + type: object + properties: + nameFirst: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: First name + nameLast: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-]+$ + description: Last name + emailAddress: + type: string + format: email + description: Email address + phoneNumber: + type: object + properties: + countryCode: + type: string + pattern: ^[0-9]+$ + description: Country code of the phone number + phoneNumber: + type: string + pattern: ^[0-9]+$ + description: Phone number (without country code) + required: + - countryCode + - phoneNumber + required: + - nameFirst + - nameLast + - emailAddress + - phoneNumber + tradeStrategy: type: string - CoreumStakingRequestPOSTBody: - title: COREUM stake - allOf: - - $ref: '#/components/schemas/StakingRequestPOSTBody' - type: object - CoreumStakingTransaction: - allOf: - - $ref: '#/components/schemas/StakingTransaction' - type: object - CoreumSwitchValidatorsRequestPOSTBody: - title: Coreum Switch Validators Request - type: object - description: Request to switch staking delegation to a new validator for Coreum. - required: - - type - - delegationId - - validator - properties: - clientId: + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Trading strategy of the business + activeCoinTokens: type: string - description: Optional client defined identifier. - type: + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Active cryptocurrencies traded + tradeVolumeUsd: type: string - enum: - - SWITCH_VALIDATORS - description: Type of request. - delegationId: + description: Estimated trade volume in USD + activeExchanges: type: string - description: Identifier of the existing delegation to switch from. - validator: + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: List of active exchanges + diligenceRetailInstitutional: type: string - description: Address of the new validator to delegate to. - CoreumUnStakingRequestPOSTBody: - title: COREUM unstake - allOf: - - $ref: '#/components/schemas/UnStakingRequestPOSTBody' + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Diligence level required (retail or institutional) + customerBaseLocations: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Locations of customer base + sanctionAffiliates: + type: boolean + description: Whether the business has sanctioned affiliates + hasAuditor: + type: boolean + description: Whether the business has an auditor + firmAuditor: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Name of audit firm (if applicable) + hasLegalCounsel: + type: boolean + description: Whether the business has legal counsel + diligenceCounselName: + type: string + pattern: ^[A-Za-zÀ-ÿĀ-ſƀ-ɏ\s'\-\.,]+$ + description: Name of legal counsel (if applicable) + walletAddress: + type: string + description: Business wallet address + title: Business + BusinessModel: + title: BusinessModel + type: string + enum: + - bitgoAsAService + - cryptoAsAServiceParent + - cryptoAsAServiceChild + 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: - amount: - description: Amount to unstake in base units. + accountNumber: + description: Bank account number or IBAN. type: string - example: '10000000000' - required: - - amount - CosmosContractCallIntent: - title: Cosmos Contract Call - allOf: - - $ref: '#/components/schemas/BaseIntent2' - - type: object + 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: - intentType: + name: type: string - enum: - - contractCall - contract: + example: Donald E. Knuth + address1: type: string - description: The address of the contract to call. - msgHex: + example: Computer Science Department + address2: type: string - description: The binary message data to send to the contract in hex format. + example: Stanford University + address3: + type: string + example: Stanford, CA 94305-9045 required: - - intentType - - contract - - msgHex - CosmosLikeStakingDelegation: - title: ATOM like - allOf: - - $ref: '#/components/schemas/StakingDelegation' - type: object - 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 - CosmosLikeStakingRequestPOSTBody: - title: ATOM-like stake - allOf: - - $ref: '#/components/schemas/StakingRequestPOSTBody' + - 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: - description: The validator to delegate to. - type: string - example: 017234b285929170324e1051ccd887dc08adf049650ecf5d383985b0b0048ab39b - required: - - validator - CosmosLikeStakingTransaction: + 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/StakingTransaction' + - $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 + CasperAddress: + title: Casper Address type: object - CosmosLikeUnStakingRequestPOSTBody: - title: ATOM-like unstake - allOf: - - $ref: '#/components/schemas/UnStakingRequestPOSTBody' + properties: + accountHash: + type: string + rootAddress: + type: string + transferId: + type: string + required: + - accountHash + - rootAddress + - transferId + CasperWallet: + title: Casper Wallet type: object properties: - delegationId: - description: Optional delegation ID representing the delegation to unstake. + accountHash: type: string - amount: - description: Amount to unstake in base units. + creationFailure: + type: array + items: + type: string + lastTransferId: + type: string + pendingChainInitialization: + type: boolean + rootAddress: type: string - example: '10000000000' required: - - amount - CosmosPaymentIntent: - title: Cosmos Payment Intent - allOf: - - type: object - properties: - memo: - $ref: '#/components/schemas/optionalString' - required: - - memo - - $ref: '#/components/schemas/PaymentIntent' - 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' - CosmosSwitchValidatorIntent: - title: Cosmos Switch Validator Intent - allOf: - - $ref: '#/components/schemas/StakeSwitchValidatorIntent' - CosmosUnstakeIntent: - title: Cosmos Unstake Intent + - accountHash + - creationFailure + - lastTransferId + - pendingChainInitialization + - rootAddress + CategoriesResponse: + required: + - categories + type: object + properties: + categories: + type: array + items: + type: string + CbitAccountResponseProps: + title: CbitAccountResponseProps + type: object + properties: + type: + type: string + enum: + - cbit + accountType: + $ref: '#/components/schemas/OptionalAccountType' + externalId: + $ref: '#/components/schemas/NullableString' + required: + - type + - accountType + CbitBankAccountRequest: + title: CbitBankAccountRequest + description: Request schema for creating a CBIT bank account allOf: - type: object properties: - intentType: + type: type: string enum: - - undelegate - validatorAddress: + - cbit + description: Must be 'cbit' for CBIT accounts + externalId: 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 + description: External identifier for the CBIT account required: - - intentType - - validatorAddress - - amount - - $ref: '#/components/schemas/BaseStakeIntent' - CosmosWithdrawIntent: - title: Cosmos Withdraw Intent + - type + - $ref: '#/components/schemas/BankAccountRequest1' + CbitBankAccountResponse: + title: CbitBankAccountResponse allOf: - type: object - properties: - validatorAddress: - type: string - required: - - validatorAddress - - $ref: '#/components/schemas/WithdrawIntent' - CounterpartyPartySettlementAmountsRecord: - title: CounterpartyPartySettlementAmountsRecord - type: object - additionalProperties: - type: object - additionalProperties: - type: object - additionalProperties: - type: string - description: For mapped settlement amounts where the amount will always be a bigint. This ensures consistent handling of large monetary values in settlements. - description: Maps destination connection IDs to currency amounts for settlement. Record> Used for exchange-style settlements, where the exchange is always the source and client owned connections are the destination. Each entry maps a destination connection ID to the currency amounts being settled to that connection. - description: Maps source connection IDs to destination connections and their currency amounts. Record>> Used for broker-style settlements, where the source and destination are both client-owned connections. This structure allows specifying multiple source connections, each with multiple destination connections, and the currency amounts being settled between them. - CountryAddress: - title: CountryAddress - type: object - properties: - country: - type: string - minLength: 1 - address_line_1: - $ref: '#/components/schemas/AddressOptions' - address_line_2: - $ref: '#/components/schemas/AddressOptions' - city_locality: - $ref: '#/components/schemas/AddressOptions' - state_province: - $ref: '#/components/schemas/AddressOptions' - postal_code: - $ref: '#/components/schemas/AddressOptions' - required: - - country - - address_line_1 - - address_line_2 - CountryAddressFormatResponse: - title: CountryAddressFormatResponse - description: Response when requesting address format for a specific country - type: object - properties: - rules: - $ref: '#/components/schemas/CountryAddress' - required: - - rules - CountryListResponse: - title: CountryListResponse - description: Response when requesting all available countries - type: object - properties: - countries: - type: object - description: Dictionary mapping ISO 3166-1 alpha-2 country codes to their full country names - example: - US: United States of America - CA: Canada - GB: United Kingdom - DE: Germany - additionalProperties: - type: string - description: Full country name - required: - - countries - CreateBankAccountRequest: - title: CreateBankAccountRequest - description: Schema for creating any type of bank account - oneOf: - - $ref: '#/components/schemas/DomesticWireBankAccountRequest' - - $ref: '#/components/schemas/InternationalWireBankAccountRequest' - - $ref: '#/components/schemas/AchBankAccountRequest' - - $ref: '#/components/schemas/SepaBankAccountRequest' - - $ref: '#/components/schemas/CbitBankAccountRequest' - - $ref: '#/components/schemas/BlincBankAccountRequest' - CreateBitgoChallengeResponse: - title: CreateBitgoChallengeResponse + properties: {} + - $ref: '#/components/schemas/CbitAccountResponseProps' + - $ref: '#/components/schemas/BankAccountResponseProps' + Chain: + type: integer + example: 1 + enum: + - 0 + - 1 + - 10 + - 11 + - 20 + - 21 + - 30 + - 31 + - 40 + - 41 + Challenge: + title: Challenge 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 - CreateBlockWebhook: + ChallengePartyConfig: + title: ChallengePartyConfig 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: + enterprise: + $ref: '#/components/schemas/TssConfigPartyChallenge' + bitgoNitroHsm: + $ref: '#/components/schemas/TssConfigPartyChallenge' + bitgoInstitutionalHsm: + $ref: '#/components/schemas/TssConfigPartyChallenge' + createdBy: 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. + description: The ID of the user who created and verified the config + example: 5d1a3e4d2f7f9b7c0e3b7e4d2f7f9b7c required: - - type - - url - CreateDocumentRequest: + - enterprise + - bitgoNitroHsm + - bitgoInstitutionalHsm + - createdBy + ChallengeVerifiers: + title: ChallengeVerifiers type: object properties: - documentType: - $ref: '#/components/schemas/DocumentType' - subType: - $ref: '#/components/schemas/DocumentSubType' - metadata: - $ref: '#/components/schemas/Metadata' + 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: - - documentType - title: CreateDocumentRequest - description: Request body for creating a new document - CreateDocumentResponse: + - adminSignature + 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`. + ChangeFeeResponse: + title: ChangeFeeResponse type: object properties: - documentId: + txid: type: string - description: Unique identifier for the created document - documentType: + description: Transaction ID of the newly created transaction with increased fee rate. + example: 59cd72485007a239fb00282ed480da1f + pattern: ^[0-9a-f]{32}$ + ChangeType: + title: ChangeType + type: string + enum: + - create + - update + - delete + - unlock + - bulkUnlock + - bulkArchive + ClaimRewardsDisclaimerAttributes: + allOf: + - $ref: '#/components/schemas/BaseDisclaimer' + type: object + description: Disclaimer information for claiming rewards. + ClaimRewardsPermissionAttributes: + allOf: + - $ref: '#/components/schemas/BasePermissionAttributes' + type: object + description: Permission attributes specific to claiming staking rewards. + ClaimRewardsSpendableAttributes: + allOf: + - $ref: '#/components/schemas/BaseSpendableAttributes' + type: object + description: Spendable attributes specific to claiming staking rewards. + properties: + breakdown: + $ref: '#/components/schemas/ClaimRewardsSpendableBreakdown' + requiresDelegationId: + type: boolean + description: True if a delegation ID must be specified when claiming rewards. + rewardCoin: + description: The coin in which rewards are distributed. type: string - description: Type of the document - documentTypeLabel: + rewardPairs: + type: array + description: Optional list of reward pairs (e.g., multiple tokens being rewarded). + items: + $ref: '#/components/schemas/RewardPairs' + ClaimRewardsSpendableBreakdown: + type: object + description: Breakdown of rewards available for claiming. + properties: + totalRewards: type: string - description: Human-readable label for the document type - subType: + description: Total accumulated rewards (claimable + pending). + claimableRewards: type: string - description: Subtype of the document - status: - $ref: '#/components/schemas/DocumentStatus' - files: + description: Rewards that are immediately available for claiming. + pendingClaimRewards: + type: string + description: Rewards that are pending and not yet claimable. + claimFee: + type: string + description: Estimated fee required to claim rewards. + Clause: + type: object + description: | + A combination of Conditions and Actions. + properties: + actions: type: array items: - $ref: '#/components/schemas/DocumentFileDetail' - description: List of files to be uploaded + 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' + 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: - - documentId - - documentType - - documentTypeLabel - - status - - files - title: CreateDocumentResponse - description: Response after creating a new document - CreateIdentityBody: - discriminator: - propertyName: type - oneOf: - - type: object - properties: - type: - type: string - enum: - - individual - description: Identity type - userId: - type: string - description: The ID of the user - individual: - $ref: '#/components/schemas/Individual' - requestedProducts: - type: array - items: - type: object - properties: - name: - type: string - description: Name of the permission - bitgoOrg: - type: string - description: The entity granting the permission - required: - - name - - bitgoOrg - description: List of requested bitgo products (can be empty for associated people) - finalizeSubmission: - default: false - type: boolean - description: Whether identity is ready for final submission and requirements validation - required: - - type - - userId - - requestedProducts - - type: object - properties: - type: - type: string - enum: - - business - description: Identity type - organizationId: - type: string - description: The ID of the organization - enterpriseId: - type: string - description: The ID of the enterprise - business: - $ref: '#/components/schemas/Business' - associatedPeople: - type: array - items: - $ref: '#/components/schemas/AssociatedPersonInput' - description: List of associated people - requestedProducts: - type: array - items: - type: object - properties: - name: - type: string - description: Name of the permission - bitgoOrg: - type: string - description: The entity granting the permission - required: - - name - - bitgoOrg - minItems: 1 - description: List of requested bitgo products (business entities require at least one product) - finalizeSubmission: - default: false - type: boolean - description: Whether identity is ready for final submission and requirements validation - required: - - type - - organizationId - - enterpriseId - - requestedProducts - title: CreateIdentityBody - CreateKey: + - schema + - apiKey + - apiSecret + - clientAccountId + - companyRegistrationNumber + ClosePositionOrderResponse: type: object + required: + - orderId + - closePositionsRequestId + - currency + - side + - quantity + - status + - createdAt 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: + orderId: 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: + format: uuid + description: Unique identifier for the close position order + closePositionsRequestId: 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: + format: uuid + description: Associated close position request ID + currency: type: string - description: User's public key in ASCII armored format. Only required for BitGo MPC keys. - backupGPGPublicKey: + description: Currency symbol for the order + side: + $ref: '#/components/schemas/Side' + quantity: type: string - description: Backup public key in ASCII armored format (may be managed by user or KRS). Only required for BitGo MPC keys. - isMPCv2: - type: boolean - description: Whether a key or wallet is using the Multi-Party Computation version 2 protocol. Optional field. - CreateOrganizationEnterpriseResponse: - title: CreateOrganizationEnterpriseResponse - type: object - properties: - enterpriseId: - $ref: '#/components/schemas/EnterpriseIdNonEmptyString' - userId: + format: decimal + description: Order quantity + filledQuantity: type: string - example: 59cd72485007a239fb00282ed480da1f - minLength: 1 - pattern: ^[a-f0-9]{32}$ - required: - - enterpriseId - - userId - CreatePolicyRule: - type: object - properties: - coin: + format: decimal + description: Filled quantity + averagePrice: 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: + format: decimal + description: Average fill price + status: + $ref: '#/components/schemas/OrderStatus' + createdAt: 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' - lockDate: + format: date-time + description: Timestamp when the order was created + completedAt: type: string - description: The time at which this rule becomes immutable format: date-time - generatePolicy: - type: boolean - description: When undefined or set to true, generates a policy enforcing the whitelist (if one has not been generated already) after the whitelist is created. If set to false, no policy will be generated. - required: - - id - - type - - action - CreatePolicyRuleRequest: + description: Timestamp when the order was completed + clientOrderId: + type: string + format: uuid + description: Optional client order ID if the close position order is associated with a client order + nullable: true + example: + orderId: c3d4e5f6-g7h8-9012-cdef-345678901234 + closePositionsRequestId: b2c3d4e5-f6g7-8901-bcde-f23456789012 + currency: BTC + side: sell + quantity: '0.5' + filledQuantity: '0.5' + averagePrice: '45000.00' + status: completed + createdAt: 2024-01-15T11:05:00.000Z + completedAt: 2024-01-15T11:06:00.000Z + ClosePositionRequestOrdersResponse: type: object - description: Create or Update policy rule Request. required: - - name - - adminOnly - - clauses - - filteringConditions + - data 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: + data: 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' - - $ref: '#/components/schemas/EnterpriseAdminsActionRequest' - - $ref: '#/components/schemas/LivenessVerificationFromEnterpriseAdminActionRequest' - - $ref: '#/components/schemas/LivenessVerificationFromRequestorActionRequest' - - $ref: '#/components/schemas/LivenessVerificationFromEnterpriseUsersActionRequest' - - $ref: '#/components/schemas/NoneActionRequest' - 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' - - $ref: '#/components/schemas/RuleAllFilteringCondition' - 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' - CreatePolicyRuleTriggers: - type: string - enum: - - advancedWhitelist - - allTx - - allTxNoFiat - - coinAddressWhitelist - - coinAddressBlacklist - - velocityLimit - - webhook - description: What causes this rule to trigger - CreateSendLabel: + $ref: '#/components/schemas/ClosePositionOrderResponse' + ClosePositionRequestResponse: 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 + - closePositionsRequestId + - accountId - enterpriseId - - label - CreateSignatureShareRequest: - type: object + - status + - bitgoUserId + - creationDate 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: + closePositionsRequestId: 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: + format: uuid + description: Unique identifier for the close position request + accountId: type: string - description: User’s public key of the gpg key. - CreateTransactionRequest: - type: object - properties: - idempotencyKey: + description: Account ID associated with the request + enterpriseId: 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: + description: Enterprise ID associated with the request + status: 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 - 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 - evmKeyRingReferenceWalletId: + - pending + - in_progress + - completed + - failed + - cancelled + description: Current status of the close position request + bitgoUserId: type: string - description: Optional reference wallet ID for EVM keyring child wallets. When provided, child wallets inherit properties from the parent wallet. - anyOf: - - not: - required: - - evmKeyRingReferenceWalletId - required: - - label - - required: - - evmKeyRingReferenceWalletId - CreateWebhookSecretResponse: - title: CreateWebhookSecretResponse - type: object - properties: - secret: + description: BitGo user ID who initiated the request + creationDate: type: string - required: - - secret - CronosClaimRewardsRequestPOSTBody: - title: Cronos Claim Rewards Request + format: date-time + description: Timestamp when the request was created + example: + closePositionsRequestId: b2c3d4e5-f6g7-8901-bcde-f23456789012 + accountId: f230fdebfa084ffebc7e00515f54603f + enterpriseId: a130kjebfa084ffebc7e00515f54603f + status: pending + bitgoUserId: user123 + creationDate: 2024-01-15T11:00:00.000Z + ClosePositionRequestsResponse: type: object - description: Request to claim staking rewards for Cronos. required: - - type - - delegationId - properties: - clientId: - type: string - description: Optional client defined identifier. - type: - type: string - enum: - - CLAIM_REWARDS - description: Type of request. - delegationId: - type: string - description: Identifier of the delegation. - CronosStakingDelegation: - allOf: - - $ref: '#/components/schemas/StakingDelegation' - type: object - CronosStakingRequest: - title: CRONOS - allOf: - - $ref: '#/components/schemas/StakingRequest' - type: object + - data properties: - delegations: + data: type: array - minItems: 1 - maxItems: 1 items: - $ref: '#/components/schemas/CronosStakingDelegation' - transactions: - type: array - minItems: 1 - maxItems: 500 - items: - $ref: '#/components/schemas/CronosStakingTransaction' - amount: - description: Amount to stake in base units. - type: string - CronosStakingRequestPOSTBody: - title: CRONOS stake - allOf: - - $ref: '#/components/schemas/StakingRequestPOSTBody' - type: object - CronosStakingTransaction: - allOf: - - $ref: '#/components/schemas/StakingTransaction' - type: object - CronosSwitchValidatorsRequestPOSTBody: - title: Cronos Switch Validators Request + $ref: '#/components/schemas/ClosePositionRequestResponse' + example: + data: + - closePositionsRequestId: b2c3d4e5-f6g7-8901-bcde-f23456789012 + accountId: f230fdebfa084ffebc7e00515f54603f + enterpriseId: a130kjebfa084ffebc7e00515f54603f + status: pending + bitgoUserId: user123 + creationDate: 2024-01-15T11:00:00.000Z + - closePositionsRequestId: c3d4e5f6-g7h8-9012-cdef-345678901234 + accountId: a980fdebfa084ffebc7e00515f54603f + enterpriseId: c109kjebfa084ffebc7e00515f54603f + status: completed + bitgoUserId: user456 + creationDate: 2024-01-15T10:30:00.000Z + ClosedByUnion: + title: ClosedByUnion + type: string + enum: + - client + - admin + Coin: + title: Coin + description: A cryptocurrency or token ticker symbol. + type: string + example: btc + Coin1: + type: string + description: The staking asset. + enum: + - ADA + - ASI + - ATOM + - AVAXC + - AVAXP + - BABY + - BERA + - BLD + - BSC + - BTC + - COREDAO + - COREUM + - CRONOS + - CSPR + - DOT + - EIGEN + - ETH + - HASH + - INJECTIVE + - MATIC + - NEAR + - OSMO + - POL + - POLYX + - RETH-ROCKET + - SEI + - SOMI + - SOL + - STX + - SUI + - SUI:WAL + - TAO + - TIA + - TON + - TRX + - WETH + - WCT + - WFLR + - ZETA + CoinConditionParameter: + title: Coin type: object - description: Request to switch staking delegation to a new validator for Cronos. + description: The asset the amount is expressed in. required: + - name + - label + - description - type - - delegationId - - validator + - required + - allowMultiple properties: - clientId: - type: string - description: Optional client defined identifier. - type: + name: type: string + description: The name of the condition parameter. enum: - - SWITCH_VALIDATORS - description: Type of request. - delegationId: - type: string - description: Identifier of the existing delegation to switch from. - validator: + - coin + example: coin + label: type: string - description: Address of the new validator to delegate to. - CronosUnStakingRequestPOSTBody: - title: CRONOS unstake - allOf: - - $ref: '#/components/schemas/UnStakingRequestPOSTBody' - type: object - properties: - amount: - description: Amount to unstake in base units. + description: A description for the condition parameter which can be shown to an end user. + example: Currency + description: type: string - example: '10000000000' - required: - - amount - CsprStakingDelegation: - allOf: - - $ref: '#/components/schemas/StakingDelegation' - type: object - CsprStakingRequest: - title: CSPR - allOf: - - $ref: '#/components/schemas/StakingRequest' - type: object - properties: - delegations: - type: array - minItems: 1 - maxItems: 1 - items: - $ref: '#/components/schemas/CsprStakingDelegation' - transactions: - type: array - minItems: 1 - maxItems: 500 - items: - $ref: '#/components/schemas/CsprStakingTransaction' - amount: - description: Amount to stake in base units. + 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 - CsprStakingRequestPOSTBody: - title: CSPR stake - allOf: - - $ref: '#/components/schemas/StakingRequestPOSTBody' - type: object - CsprStakingTransaction: - allOf: - - $ref: '#/components/schemas/StakingTransaction' - type: object - CsprUnStakingRequestPOSTBody: - title: CSPR unstake - allOf: - - $ref: '#/components/schemas/UnStakingRequestPOSTBody' - type: object - properties: - amount: - description: Amount to unstake in base units. + description: The type of acceptable values for this condition parameter. + enum: + - COIN_OR_USD + example: COIN_OR_USD + required: type: string - example: '10000000000' - required: - - amount - Currencies: - type: array - items: - $ref: '#/components/schemas/Currency' - Currency: - required: - - id - - name - - symbol + 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' + CoinNonEmptyString: + title: CoinNonEmptyString + type: string + description: A cryptocurrency symbol or token ticker symbol + example: btc + minLength: 1 + CoinString: + title: CoinString + type: string + description: A cryptocurrency symbol or token ticker symbol + example: btc + CoinsUnauthorizedError: type: object properties: - id: - type: string - format: uuid - description: ID of the currency - symbol: - type: string - description: Symbol of the currency - name: + error: type: string - description: Name of the currency - example: - id: 6016e0a9-545a-45fb-8370-caab1680956a - symbol: BTC - name: Bitcoin - Currency1: - title: Currency - type: object - properties: - bitcoinUnit: + errorName: type: string - currency: + reqId: type: string - required: - - bitcoinUnit - - currency - CustodialPairedValue: - title: Custodial-paired wallet + context: + type: object + properties: + errorName: + type: string + ColdValue: + title: Self-managed cold wallet type: object - description: Custodial-paired wallet. + description: Self-managed cold wallet. required: - value - label @@ -47497,988 +46483,655 @@ components: value: type: string enum: - - custodialPaired + - 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: Custodial Paired Wallet + example: Cold 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 - CustodialValue: - title: Custodial cold wallet - type: object - description: Custodial cold wallet. + example: A cold wallet + CollateralWithdrawalRequestResponse: + type: object required: - - value - - label - - description + - requestId + - currency + - quantity + - status + - createdAt properties: - value: + requestId: + type: string + format: uuid + description: Unique identifier for the withdrawal request + currency: + type: string + description: Currency symbol for the withdrawal + quantity: + type: string + format: decimal + description: Amount requested for withdrawal + status: type: string enum: - - custodial - description: The actual value. - label: + - pending + - approved + - rejected + - completed + - cancelled + description: Current status of the withdrawal request + createdAt: type: string - description: A label for the condition parameter Value which can be shown to an end user. - example: Custodial Wallet - description: + format: date-time + description: Timestamp when the request was created + updatedAt: type: string - description: A description for the condition parameter Value which can be shown to an end user. - example: A custodial wallet - CustodialWalletSubType: - title: CustodialWalletSubType - type: string - enum: - - custodialCold - - custodialHot - CustomChangeKeySignatures: - type: object - properties: - user: + format: date-time + description: Timestamp when the request was last updated + approvedAt: type: string - backup: + format: date-time + description: Timestamp when the request was approved + completedAt: type: string - bitgo: + format: date-time + description: Timestamp when the request was completed + rejectionReason: 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. - DOTBuildOptions: - allOf: - - $ref: '#/components/schemas/AccountBaseBuildOptions2' - - type: object + description: Reason for rejection if status is rejected + example: + requestId: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + currency: BTC + quantity: '0.5' + status: pending + createdAt: 2024-01-15T10:30:00.000Z + updatedAt: 2024-01-15T10:30:00.000Z + CollateralWithdrawalRequestsResponse: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CollateralWithdrawalRequestResponse' + pagination: + type: object properties: - fee: - $ref: '#/components/schemas/DOTFeeOptions' - DOTClaimIntent: - title: Dot Claim Unstake - allOf: - - $ref: '#/components/schemas/DOTBuildOptions' - - $ref: '#/components/schemas/WithdrawIntent2' - DOTFeeOptions: + offset: + type: integer + description: Current offset for pagination + limit: + type: integer + description: Number of items per page + total: + type: integer + description: Total number of withdrawal requests + CommitmentShare: type: object properties: - amount: - type: string - unit: - type: string - enum: - - baseUnit - - cpu - - ram - formula: + 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 - enum: - - fixed - - feeRate - - perKB - - custom + description: The commitment share. type: - type: string - enum: - - base - - max - - tip + allOf: + - $ref: '#/components/schemas/CommitmentType' + - default: commitment + description: The type of the commitment share. required: - - amount - DateTime: - type: string - format: date-time - example: {} - DefaultChangeAddressType: + - from + - to + - share + - type + 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' + CommitmentType: 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`. - DelegationAccrual: - type: object - properties: - delegationId: - description: The delegation ID. - type: string - coin: - $ref: '#/components/schemas/Coin1' - enterpriseId: - description: The enterprise ID. - type: string - withdrawalAddress: - description: The withdrawal address. - type: string - delegationAddress: - description: The delegation address. - type: string - delegated: - description: The total amount delegated (staked). - type: string - pendingDelegated: - description: The total amount pending to be delegated (staked). - type: string - pendingUndelegated: - description: The total amount pending to be undelegated (unstaked). - type: string - rewardsReceived: - description: The total rewards received over the lifetime of the delegation. - type: string - locked: - description: The total amount locked but not delegated (staked). Example is staking rewards not re-staked/compounding. - type: string - date: - description: The date and time of the accrual record. - type: string - format: date-time - wallet: - $ref: '#/components/schemas/WalletAccrual' - 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. - DelegationResults: + - commitment + example: commitment + 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' + Conditions: type: object + description: | + Wrapper object for a list of Conditions. Not paginated. properties: - delegations: + conditions: type: array - minItems: 1 - maxItems: 500 items: - oneOf: - - $ref: '#/components/schemas/AdaStakingDelegation' - - $ref: '#/components/schemas/AsiStakingDelegation' - - $ref: '#/components/schemas/AtomStakingDelegation' - - $ref: '#/components/schemas/AvaxcStakingDelegation' - - $ref: '#/components/schemas/AvaxPStakingDelegation' - - $ref: '#/components/schemas/BabyStakingDelegation' - - $ref: '#/components/schemas/BeraStakingDelegation' - - $ref: '#/components/schemas/BldStakingDelegation' - - $ref: '#/components/schemas/BscStakingDelegation' - - $ref: '#/components/schemas/BtcStakingDelegation' - - $ref: '#/components/schemas/CoredaoStakingDelegation' - - $ref: '#/components/schemas/CoreumStakingDelegation' - - $ref: '#/components/schemas/CronosStakingDelegation' - - $ref: '#/components/schemas/CsprStakingDelegation' - - $ref: '#/components/schemas/CosmosLikeStakingDelegation' - - $ref: '#/components/schemas/DotStakingDelegation' - - $ref: '#/components/schemas/EigenStakingDelegation' - - $ref: '#/components/schemas/EthStakingDelegation' - - $ref: '#/components/schemas/HashStakingDelegation' - - $ref: '#/components/schemas/InjectiveStakingDelegation' - - $ref: '#/components/schemas/MaticStakingDelegation' - - $ref: '#/components/schemas/NearStakingDelegation' - - $ref: '#/components/schemas/OsmoStakingDelegation' - - $ref: '#/components/schemas/PolStakingDelegation' - - $ref: '#/components/schemas/PolyxStakingDelegation' - - $ref: '#/components/schemas/RethRocketStakingDelegation' - - $ref: '#/components/schemas/SeiStakingDelegation' - - $ref: '#/components/schemas/SolStakingDelegation' - - $ref: '#/components/schemas/StxStakingDelegation' - - $ref: '#/components/schemas/SuiStakingDelegation' - - $ref: '#/components/schemas/SuiWalStakingDelegation' - - $ref: '#/components/schemas/TaoStakingDelegation' - - $ref: '#/components/schemas/TiaStakingDelegation' - - $ref: '#/components/schemas/TonStakingDelegation' - - $ref: '#/components/schemas/TrxStakingDelegation' - - $ref: '#/components/schemas/WethStakingDelegation' - - $ref: '#/components/schemas/WctStakingDelegation' - - $ref: '#/components/schemas/WflrStakingDelegation' - - $ref: '#/components/schemas/ZetaStakingDelegation' - 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. - DelegationStatus: - description: The status of the delegation. + anyOf: + - $ref: '#/components/schemas/TransferDestinationTypeCondition' + - $ref: '#/components/schemas/TransferVelocityLimitCondition' + - $ref: '#/components/schemas/TransferAmountCondition' + - $ref: '#/components/schemas/TransferInitiatorsCondition' + - $ref: '#/components/schemas/TransferWebhookCondition' + ConfigFeeInformation: + title: ConfigFeeInformation + allOf: + - type: object + properties: + bank: + $ref: '#/components/schemas/BankId' + required: + - bank + - oneOf: + - $ref: '#/components/schemas/StaticFee' + - $ref: '#/components/schemas/VariableFee' + ConnectionKey: + title: ConnectionKey + oneOf: + - $ref: '#/components/schemas/TokenConnectionKey' + - $ref: '#/components/schemas/TokenAndSignatureConnectionKey' + - $ref: '#/components/schemas/ApiKeyAndSecretConnectionKey' + - $ref: '#/components/schemas/ClearLoopConnectionKey' + ConnectionStatus: + title: ConnectionStatus type: string enum: - - PENDING - - FAILED - - REJECTED + - PENDING_DEACTIVATION + - PENDING_ACTIVATION - ACTIVE - - COMPLETE - DeleteDeviceTokenResponse: - required: - - bitgoUserId - - deviceToken - - message - type: object - properties: - deviceToken: - type: string - bitgoUserId: - type: string - message: - type: string - DeleteEnterpriseUser: - type: object - properties: - username: - type: string - required: - - username - DeployAddressAndForwardTokenResponse: - title: DeployAddressAndForwardTokenResponse - type: object - properties: - txId: - type: string - required: - - txId - Deposit: - type: object - properties: - toAddress: - type: string - description: The address the deposit will be received at - example: 1234567890ABCDEF-XJBCOEF - valueString: - allOf: - - $ref: '#/components/schemas/IntegerString' - description: The value (in cents/base units) of the deposit - token: - type: string - description: If this is a token entry, the token's symbol - example: ousd - toBankAccount: - $ref: '#/components/schemas/BankAccountRequest' - required: - - toAddress - - token - DestinationTypeCoinConditionParameter: - title: Asset + - INACTIVE + - UNDER_REVIEW + - REQUESTED + description: codec for valid connection statuses + ConnectionType: + title: ConnectionType + type: string + enum: + - DVP + - WHITELIST + description: codec for valid connection statuses + ConsolidateAccountBuildRequest: 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: + 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 - description: A value is not required. enum: - - OPTIONAL - example: OPTIONAL - allowMultiple: - type: boolean - description: Only one value can be provided. - example: 'false' - DestinationTypeTypeConditionParameter: - title: Destination + - full + - lite + ConsolidateAccountBuildResponse: 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: + keyDerivationPath: 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' - DisclaimerAttributes: - type: object - properties: - staking: - type: object + ConsolidateTokenIntent1: + title: Consolidate Token + allOf: + - $ref: '#/components/schemas/BaseIntent2' + - $ref: '#/components/schemas/EthBuildOptions' + - type: object properties: - info: + intentType: + type: string + enum: + - consolidateToken + recipients: type: array items: - type: string - transactionsNeeded: - type: number - stakeWarmupPeriodDesc: + $ref: '#/components/schemas/RecipientEntry1' + consolidateId: type: string - rewardPercentageRate: + description: Consolidation ID of this consolidation transaction + keepAlive: type: string - rewardsCompounding: - type: boolean - unstaking: - type: object + 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 fee rate (in base units) per kilobyte (or virtual kilobyte). For example, satoshis per kvByte. + + If the `feeRate` is less than the minimum required network fee, then the minimum fee applies. For example, 1000 sat/kvByte, a flat 1000 microAlgos, or a flat 10 drops of xrp. For XRP, the actual fee is usually 4.5 times the open ledger fee. + + Note: The `feeRate` overrides the `maxFeeRate` and `minFeeRate`. + maxFeeRate: + allOf: + - $ref: '#/components/schemas/IntegerOrIntegerString' + - example: 20000 + description: | + (BTC only) The maximum fee rate (in base units) per kilobyte (or virtual kilobyte). For example, satoshis per kvByte. The `maxFeeRate` limits the fee rate generated by both `feeMultiplier` and `numBlocks`. + + Note: The `feeRate` overrides the `maxFeeRate`. + 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. + ContractType: + title: ContractType + type: string + enum: + - csa + - mpa + - mic + - wvr + ContractTypes: + title: ContractTypes + type: array + items: + type: string + enum: + - csa + - mpa + - mic + - wvr + CoreDaoClaimIntent: + title: CoreDAO Claim Rewards Intent + allOf: + - type: object properties: - info: - type: array - items: - type: string - transactionsNeeded: - type: number - unStakeCooldownPeriodDesc: + intentType: type: string - DisputeClosure: - title: DisputeClosure + enum: + - stakeClaimRewards + required: + - intentType + - $ref: '#/components/schemas/BaseStakeIntentWithCalldata' + CoreDaoDelegateIntent: + title: CoreDAO 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/BaseStakeIntentWithCalldata' + CoreDaoUndelegateIntent: + title: CoreDAO Undelegate Intent + allOf: + - type: object + properties: + intentType: + type: string + enum: + - undelegate + validatorAddress: + type: string + amount: + $ref: '#/components/schemas/Amount' + required: + - intentType + - validatorAddress + - amount + - $ref: '#/components/schemas/BaseStakeIntentWithCalldata' + CoredaoStakingDelegation: + allOf: + - $ref: '#/components/schemas/StakingDelegation' + type: object + CoredaoStakingRequest: + title: CoreDAO + allOf: + - $ref: '#/components/schemas/StakingRequest' type: object properties: - id: + gasPrice: type: string - title: uuid - createdAt: - oneOf: - - type: string - - {} - updatedAt: - oneOf: - - type: string - - {} - closedBy: - $ref: '#/components/schemas/ClosedByUnion' - userId: + 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/CoredaoStakingDelegation' + transactions: + type: array + minItems: 1 + maxItems: 500 + items: + $ref: '#/components/schemas/CoredaoStakingTransaction' + amount: + description: Amount to stake in base units (i.e. Wei for CoreDAO) type: string - minLength: 1 - notes: + CoredaoStakingRequestPOSTBody: + title: COREDAO stake + allOf: + - $ref: '#/components/schemas/StakingRequestPOSTBody' + type: object + properties: + gasPrice: type: string - minLength: 1 - payload: + description: User overridden gas price to apply for the generated transactions for this request. GasPrice is in base units. + CoredaoStakingTransaction: + allOf: + - $ref: '#/components/schemas/StakingTransaction' + type: object + properties: + gasPrice: + description: The gas limit in base units. type: string - signature: + CoredaoUnStakingRequestPOSTBody: + title: COREDAO unstake + allOf: + - $ref: '#/components/schemas/UnStakingRequestPOSTBody' + type: object + properties: + gasPrice: type: string - required: - - id - - createdAt - - updatedAt - - closedBy - - userId - - notes - DisputeClosureOutput: - title: DisputeClosureOutput + description: User overridden gas price to apply for the generated transactions for this request. GasPrice is in base units. + CoreumClaimRewardsRequestPOSTBody: + title: Coreum Claim Rewards Request type: object + description: Request to claim staking rewards for Coreum. + required: + - type + - delegationId properties: - id: + clientId: type: string - description: The unique identifier of the dispute closure. - title: uuid - closedBy: - allOf: - - $ref: '#/components/schemas/ClosedByUnion' - description: Who closed the dispute. - `admin` - The dispute was closed by an admin. - `client` - The dispute was closed by a client. - userId: + description: Optional client defined identifier. + type: type: string - description: The id of the user who closed the dispute. - minLength: 1 - notes: + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: type: string - description: notes entered by the user when closing the dispute. - minLength: 1 - adjustedSettlementTransfers: - allOf: - - $ref: '#/components/schemas/DisputedSettlementTransfersOutput' - description: The resulting settlement transfers generated when the dispute was closed - createdAt: - type: string - description: The date and time when the dispute closure was created. - format: date-time - title: ISO Date String - required: - - id - - closedBy - - userId - - notes - - adjustedSettlementTransfers - - createdAt - DisputedSettlementTransfersOutput: - title: DisputedSettlementTransfersOutput - type: array - items: - type: object - properties: - id: - type: string - description: The unique identifier of the settlement transfer. - title: uuid - sourceTradingAccountId: - type: string - description: The go account id of the source party. - minLength: 1 - destinationTradingAccountId: - type: string - description: The go account id of the destination party. - minLength: 1 - destinationNetworkAccountId: - type: string - description: The network account id of the destination party. - title: uuid - disputeClosureId: - type: string - description: The unique identifier of the dispute closure the settlement transfer was created from. This is a UUID that uniquely identifies dispute closure if the transfer was created as a result of closing a dispute. - title: uuid - currency: - type: string - description: The currency involved in the settlement movement. - minLength: 1 - quantity: - allOf: - - $ref: '#/components/schemas/NonZeroBigAmount' - description: The amount of currency being transferred in the settlement transfer. This is a non-zero value represented as a string. If the value is positive, that means funds were moved from the source account to the destination account. If the value is negative, that means funds were moved from the destination account to the source account. - status: - allOf: - - $ref: '#/components/schemas/SettlementTransferStatus' - description: 'The status of the settlement transfer. Possible values and implications are: - pending: The transfer is pending and has not yet been processed. - pending_onchain: The transfer is pending on-chain movement (only relevant to on-chain settlements). - onchain_initiated: The transfer has been initiated on-chain (only relevant to on-chain settlements). - onchain_failed: The on-chain transfer has failed (only relevant to on-chain settlements). - completed: The transfer has been completed successfully. - failed: The transfer has failed. - rejected: The transfer has been rejected. - disputed: The transfer is disputed.' - createdAt: - type: string - description: The date and time when the settlement transfer was created. Represented as an ISO 8601 formatted date string. - format: date-time - title: ISO Date String - updatedAt: - type: string - description: The date and time when the settlement transfer was last updated. Represented as an ISO 8601 formatted date string. - format: date-time - title: ISO Date String - settlementId: - type: string - description: The unique identifier of the settlement the settlement transfer is associated with. This is a UUID that uniquely identifies the settlement. Will only be undefined if the settlement transfer is in `pending_settlement_assignment` status. - title: uuid - sourceNetworkAccountId: - type: string - description: The network account id of the source party. - title: uuid - required: - - id - - sourceTradingAccountId - - destinationTradingAccountId - - destinationNetworkAccountId - - disputeClosureId - - currency - - quantity - - status - - createdAt - - updatedAt - DistributedCustody: - title: DistributedCustody + description: Identifier of the delegation. + CoreumStakingDelegation: + allOf: + - $ref: '#/components/schemas/StakingDelegation' type: object - properties: - signingBitgoOrg: - $ref: '#/components/schemas/BitgoOrg' - DistributedCustodyUpdateEnterprise: + CoreumStakingRequest: + title: COREUM + allOf: + - $ref: '#/components/schemas/StakingRequest' type: object - description: Parameters associated with distributed custody enterprises. If you want to remove 'signingBitgoOrg', set it to null. properties: - signingBitgoOrg: + delegations: + type: array + minItems: 1 + maxItems: 1 + items: + $ref: '#/components/schemas/CoreumStakingDelegation' + transactions: + type: array + minItems: 1 + maxItems: 500 + items: + $ref: '#/components/schemas/CoreumStakingTransaction' + amount: + description: Amount to stake in base units. 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 - Document: + CoreumStakingRequestPOSTBody: + title: COREUM stake + allOf: + - $ref: '#/components/schemas/StakingRequestPOSTBody' + type: object + CoreumStakingTransaction: + allOf: + - $ref: '#/components/schemas/StakingTransaction' + type: object + CoreumSwitchValidatorsRequestPOSTBody: + title: Coreum Switch Validators Request type: object + description: Request to switch staking delegation to a new validator for Coreum. + required: + - type + - delegationId + - validator properties: - id: - type: string - description: Internal ID for the document association - documentId: + clientId: type: string - description: External document service ID - documentType: + description: Optional client defined identifier. + type: type: string enum: - - governmentId - - commercialRegister - - articlesOfAssociation - - certificateOfIncorporation - - certificateOfTrust - - certificateOfIncumbency - - certificateOfIncumbencyOrShareRegister - - proofOfPrincipalPlaceOfBusiness - - activeTradeLicense - - resolutionToOpenBitgoUaeAccount - - resolutionToOpenBitgoSingaporeAccount - - proofOfAuthorizedSignatories - - memorandumOfAssociation - - memorandumAndArticlesOfAssociation - - bylawsOrOperatingAgreement - - operatingAgreement - - w8 - - w9 - - evidenceOfLegalStatus - - evidenceOfActiveStatus - - proofOfJfsaLicense - - proofOfGamingLicense - - organizationDocument - - partnershipAgreement - - articlesOfOrganization - - businessLicenseOrRegistration - - evidenceOfGovernmentOrStateOwnership - - secFilingsAsEvidenceOfPublicTradingStatus - - foundingTreatyOrEquivalent - description: Type of document - status: + - SWITCH_VALIDATORS + description: Type of request. + delegationId: type: string - enum: - - missing - - countExceeded - - submitted - - inReview - - verified - description: Verification status - required: - - id - - documentId - - documentType - - status - title: Document - DocumentFileDetail: + description: Identifier of the existing delegation to switch from. + validator: + type: string + description: Address of the new validator to delegate to. + CoreumUnStakingRequestPOSTBody: + title: COREUM unstake + allOf: + - $ref: '#/components/schemas/UnStakingRequestPOSTBody' type: object properties: - fileId: - type: string - description: Unique identifier for the file - fileView: - type: string - description: View or side of the document file - label: - type: string - description: Human-readable label for the file - required: - type: boolean - description: Whether this file is required for the document - uploadUrl: - type: string - format: uri - description: Presigned URL for file upload - expiresAt: + amount: + description: Amount to unstake in base units. type: string - format: date-time - description: When the upload URL expires + example: '10000000000' required: - - fileId - - fileView - - label - - required - - uploadUrl - - expiresAt - title: DocumentFileDetail - description: Detailed file information for document creation response - DocumentFileInfo: + - amount + 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 + CosmosLikeStakingDelegation: + title: ATOM like + allOf: + - $ref: '#/components/schemas/StakingDelegation' type: object - properties: - id: - type: string - description: Unique identifier for the file - view: - $ref: '#/components/schemas/FileView' - status: - $ref: '#/components/schemas/FileStatus' - fileName: - type: string - description: Original filename of the uploaded file - fileType: - type: string - description: MIME type of the file - fileSize: - type: number - description: Size of the file in bytes - uploadUrl: - type: string - format: uri - description: Presigned URL for file upload - downloadUrl: - type: string - format: uri - description: Presigned URL for file download - uploadUrlExpiresAt: - type: string - format: date-time - description: When the upload URL expires - createdAt: - type: string - format: date-time - description: When the file was created - updatedAt: + 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 - format: date-time - description: When the file was last updated - required: - - id - - status - - createdAt - - updatedAt - title: DocumentFileInfo - description: File information for document retrieval - DocumentStatus: - type: string - enum: - - awaitingUpload - - uploaded - title: DocumentStatus - description: Current status of the document - DocumentSubType: - 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 - title: DocumentSubType - description: Subtype of document (used for government ID documents) - DocumentType: - type: string - enum: - - governmentId - - commercialRegister - - articlesOfAssociation - - certificateOfIncorporation - - certificateOfTrust - - certificateOfIncumbency - - certificateOfIncumbencyOrShareRegister - - proofOfPrincipalPlaceOfBusiness - - activeTradeLicense - - resolutionToOpenBitgoUaeAccount - - resolutionToOpenBitgoSingaporeAccount - - proofOfAuthorizedSignatories - - memorandumOfAssociation - - memorandumAndArticlesOfAssociation - - bylawsOrOperatingAgreement - - operatingAgreement - - w8 - - w9 - - evidenceOfLegalStatus - - evidenceOfActiveStatus - - proofOfJfsaLicense - - proofOfGamingLicense - - organizationDocument - - partnershipAgreement - - articlesOfOrganization - - businessLicenseOrRegistration - - evidenceOfGovernmentOrStateOwnership - - secFilingsAsEvidenceOfPublicTradingStatus - - foundingTreatyOrEquivalent - title: DocumentType - description: Type of document being uploaded - DomesticWireAccountResponseProps: - title: DomesticWireAccountResponseProps + CosmosLikeStakingRequestPOSTBody: + title: ATOM-like stake + allOf: + - $ref: '#/components/schemas/StakingRequestPOSTBody' type: object properties: - type: + validator: + description: The validator to delegate to. type: string - enum: - - wire - routingNumber: - $ref: '#/components/schemas/RoutingNumberString' - accountType: - $ref: '#/components/schemas/OptionalAccountType' + example: 017234b285929170324e1051ccd887dc08adf049650ecf5d383985b0b0048ab39b required: - - type - - routingNumber - - accountType - DomesticWireBankAccount: - title: Domestic Wire Bank Account + - validator + CosmosLikeStakingTransaction: + allOf: + - $ref: '#/components/schemas/StakingTransaction' + type: object + CosmosLikeUnStakingRequestPOSTBody: + title: ATOM-like unstake + allOf: + - $ref: '#/components/schemas/UnStakingRequestPOSTBody' 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: + delegationId: + description: Optional delegation ID representing the delegation to unstake. type: string - example: America California Bank - intermediaryBankId: + amount: + description: Amount to unstake in base units. type: string - example: 59cd72485007a239fb00282ed480da1f + example: '10000000000' required: - - accountNumber - - address1 - - shortCountryCode - - name - - owner - - enterpriseId - - routingNumber - DomesticWireBankAccountRequest: - title: DomesticWireBankAccountRequest - description: Request schema for creating a domestic wire bank account + - amount + CosmosPaymentIntent: + title: Cosmos Payment Intent allOf: - type: object properties: - type: - type: string - enum: - - wire - description: Must be 'wire' for domestic wire accounts - routingNumber: - type: string - description: Routing number for the domestic wire account + memo: + $ref: '#/components/schemas/optionalString' required: - - type - - routingNumber - - $ref: '#/components/schemas/BankAccountRequest1' - DomesticWireBankAccountResponse: - title: DomesticWireBankAccountResponse - allOf: - - type: object - properties: {} - - $ref: '#/components/schemas/DomesticWireAccountResponseProps' - - $ref: '#/components/schemas/BankAccountResponseProps' - DotAccountBaseBuildOptions: - title: DotAccountBaseBuildOptions + - memo + - $ref: '#/components/schemas/PaymentIntent' + CosmosStakeIntent: + title: Cosmos Stake Intent 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' - 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: + intentType: + type: string + enum: + - delegate + validatorAddress: + type: string + amount: + $ref: '#/components/schemas/Amount' + recipients: type: array items: type: object properties: - nonce: - type: number - isNonceLocked: - type: boolean - nonceLockExpireTime: - type: string - format: date - title: Date String + address: + $ref: '#/components/schemas/Address' + amount: + $ref: '#/components/schemas/Amount' + data: + $ref: '#/components/schemas/optionalString' required: - - nonce - - isNonceLocked + - address + - amount required: - - lastReservedNonce - - lastExecutedNonce - - detectedMissingNonces - - detecMissingNoncesData - required: - - rootAddress - - nonceTracker - DotConsolidateIntent: - title: DOT Consolidate Intent + - intentType + - validatorAddress + - amount + - $ref: '#/components/schemas/BaseStakeIntent' + CosmosSwitchValidatorIntent: + title: Cosmos Switch Validator Intent allOf: - - $ref: '#/components/schemas/AccountBaseConsolidateIntent' - DotCreateAccountIntent: - title: DOT Create Account Intent + - $ref: '#/components/schemas/StakeSwitchValidatorIntent' + CosmosUnstakeIntent: + title: Cosmos Unstake Intent allOf: - type: object properties: - delayBlocks: + intentType: type: string - proxyType: + enum: + - undelegate + validatorAddress: type: string - index: - $ref: '#/components/schemas/optionalNumber' + amount: + $ref: '#/components/schemas/Amount' recipients: type: array items: @@ -48494,806 +47147,2170 @@ components: - address - amount required: - - delayBlocks - - proxyType - - $ref: '#/components/schemas/AccountBaseCreateAccountIntent' - - $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' - DotPaymentIntent1: - title: DOT Payment Intent + - intentType + - validatorAddress + - amount + - $ref: '#/components/schemas/BaseStakeIntent' + CosmosWithdrawIntent: + title: Cosmos Withdraw Intent allOf: - type: object properties: - proxy: - $ref: '#/components/schemas/DotProxy' - owner: - $ref: '#/components/schemas/optionalString' + validatorAddress: + type: string required: - - proxy - - owner - - $ref: '#/components/schemas/PaymentIntent1' - - $ref: '#/components/schemas/DotAccountBaseBuildOptions' - DotProxy: - title: DotProxy + - validatorAddress + - $ref: '#/components/schemas/WithdrawIntent' + CounterpartyPartySettlementAmountsRecord: + title: CounterpartyPartySettlementAmountsRecord + type: object + additionalProperties: + type: object + additionalProperties: + type: object + additionalProperties: + type: string + description: For mapped settlement amounts where the amount will always be a bigint. This ensures consistent handling of large monetary values in settlements. + description: Maps destination connection IDs to currency amounts for settlement. Record> Used for exchange-style settlements, where the exchange is always the source and client owned connections are the destination. Each entry maps a destination connection ID to the currency amounts being settled to that connection. + description: Maps source connection IDs to destination connections and their currency amounts. Record>> Used for broker-style settlements, where the source and destination are both client-owned connections. This structure allows specifying multiple source connections, each with multiple destination connections, and the currency amounts being settled between them. + CountryAddress: + title: CountryAddress type: object properties: - name: - $ref: '#/components/schemas/optionalString' - addressString: - $ref: '#/components/schemas/optionalString' - asset: - $ref: '#/components/schemas/optionalString' - amountString: - $ref: '#/components/schemas/optionalString' - DotStakingDelegation: - title: DOT - allOf: - - $ref: '#/components/schemas/StakingDelegation' + country: + type: string + minLength: 1 + address_line_1: + $ref: '#/components/schemas/AddressOptions' + address_line_2: + $ref: '#/components/schemas/AddressOptions' + city_locality: + $ref: '#/components/schemas/AddressOptions' + state_province: + $ref: '#/components/schemas/AddressOptions' + postal_code: + $ref: '#/components/schemas/AddressOptions' + required: + - country + - address_line_1 + - address_line_2 + CountryAddressFormatResponse: + title: CountryAddressFormatResponse + description: Response when requesting address format for a specific country type: object - 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' - DotStakingRequest: - title: DOT - allOf: - - $ref: '#/components/schemas/StakingRequest' + properties: + rules: + $ref: '#/components/schemas/CountryAddress' + required: + - rules + CountryListResponse: + title: CountryListResponse + description: Response when requesting all available countries + type: object + properties: + countries: + type: object + description: Dictionary mapping ISO 3166-1 alpha-2 country codes to their full country names + example: + US: United States of America + CA: Canada + GB: United Kingdom + DE: Germany + additionalProperties: + type: string + description: Full country name + required: + - countries + CreateBankAccountRequest: + title: CreateBankAccountRequest + description: Schema for creating any type of bank account + oneOf: + - $ref: '#/components/schemas/DomesticWireBankAccountRequest' + - $ref: '#/components/schemas/InternationalWireBankAccountRequest' + - $ref: '#/components/schemas/AchBankAccountRequest' + - $ref: '#/components/schemas/SepaBankAccountRequest' + - $ref: '#/components/schemas/CbitBankAccountRequest' + - $ref: '#/components/schemas/BlincBankAccountRequest' + 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 + 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 + CreateDocumentRequest: + type: object + properties: + documentType: + $ref: '#/components/schemas/DocumentType' + subType: + $ref: '#/components/schemas/DocumentSubType' + metadata: + $ref: '#/components/schemas/Metadata' + required: + - documentType + title: CreateDocumentRequest + description: Request body for creating a new document + CreateDocumentResponse: + type: object + properties: + documentId: + type: string + description: Unique identifier for the created document + documentType: + type: string + description: Type of the document + documentTypeLabel: + type: string + description: Human-readable label for the document type + subType: + type: string + description: Subtype of the document + status: + $ref: '#/components/schemas/DocumentStatus' + files: + type: array + items: + $ref: '#/components/schemas/DocumentFileDetail' + description: List of files to be uploaded + required: + - documentId + - documentType + - documentTypeLabel + - status + - files + title: CreateDocumentResponse + description: Response after creating a new document + CreateIdentityBody: + discriminator: + propertyName: type + oneOf: + - type: object + properties: + type: + type: string + enum: + - individual + description: Identity type + userId: + type: string + description: The ID of the user + individual: + $ref: '#/components/schemas/Individual' + requestedProducts: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the permission + bitgoOrg: + type: string + description: The entity granting the permission + required: + - name + - bitgoOrg + description: List of requested bitgo products (can be empty for associated people) + finalizeSubmission: + default: false + type: boolean + description: Whether identity is ready for final submission and requirements validation + required: + - type + - userId + - requestedProducts + - type: object + properties: + type: + type: string + enum: + - business + description: Identity type + organizationId: + type: string + description: The ID of the organization + enterpriseId: + type: string + description: The ID of the enterprise + business: + $ref: '#/components/schemas/Business' + associatedPeople: + type: array + items: + $ref: '#/components/schemas/AssociatedPersonInput' + description: List of associated people + requestedProducts: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the permission + bitgoOrg: + type: string + description: The entity granting the permission + required: + - name + - bitgoOrg + minItems: 1 + description: List of requested bitgo products (business entities require at least one product) + finalizeSubmission: + default: false + type: boolean + description: Whether identity is ready for final submission and requirements validation + required: + - type + - organizationId + - enterpriseId + - requestedProducts + title: CreateIdentityBody + 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. + isMPCv2: + type: boolean + description: Whether a key or wallet is using the Multi-Party Computation version 2 protocol. Optional field. + 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 + 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' + lockDate: + type: string + description: The time at which this rule becomes immutable + format: date-time + generatePolicy: + type: boolean + description: When undefined or set to true, generates a policy enforcing the whitelist (if one has not been generated already) after the whitelist is created. If set to false, no policy will be generated. + required: + - id + - type + - action + 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' + - $ref: '#/components/schemas/EnterpriseAdminsActionRequest' + - $ref: '#/components/schemas/LivenessVerificationFromEnterpriseAdminActionRequest' + - $ref: '#/components/schemas/LivenessVerificationFromRequestorActionRequest' + - $ref: '#/components/schemas/LivenessVerificationFromEnterpriseUsersActionRequest' + - $ref: '#/components/schemas/NoneActionRequest' + 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' + - $ref: '#/components/schemas/RuleAllFilteringCondition' + 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' + 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. + 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 + 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 + evmKeyRingReferenceWalletId: + type: string + description: Optional reference wallet ID for EVM keyring child wallets. When provided, child wallets inherit properties from the parent wallet. + anyOf: + - not: + required: + - evmKeyRingReferenceWalletId + required: + - label + - required: + - evmKeyRingReferenceWalletId + CreateWebhookSecretResponse: + title: CreateWebhookSecretResponse + type: object + properties: + secret: + type: string + required: + - secret + CronosClaimRewardsRequestPOSTBody: + title: Cronos Claim Rewards Request + type: object + description: Request to claim staking rewards for Cronos. + required: + - type + - delegationId + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - CLAIM_REWARDS + description: Type of request. + delegationId: + type: string + description: Identifier of the delegation. + CronosStakingDelegation: + allOf: + - $ref: '#/components/schemas/StakingDelegation' + type: object + CronosStakingRequest: + title: CRONOS + allOf: + - $ref: '#/components/schemas/StakingRequest' + type: object + properties: + delegations: + type: array + minItems: 1 + maxItems: 1 + items: + $ref: '#/components/schemas/CronosStakingDelegation' + transactions: + type: array + minItems: 1 + maxItems: 500 + items: + $ref: '#/components/schemas/CronosStakingTransaction' + amount: + description: Amount to stake in base units. + type: string + CronosStakingRequestPOSTBody: + title: CRONOS stake + allOf: + - $ref: '#/components/schemas/StakingRequestPOSTBody' + type: object + CronosStakingTransaction: + allOf: + - $ref: '#/components/schemas/StakingTransaction' + type: object + CronosSwitchValidatorsRequestPOSTBody: + title: Cronos Switch Validators Request + type: object + description: Request to switch staking delegation to a new validator for Cronos. + required: + - type + - delegationId + - validator + properties: + clientId: + type: string + description: Optional client defined identifier. + type: + type: string + enum: + - SWITCH_VALIDATORS + description: Type of request. + delegationId: + type: string + description: Identifier of the existing delegation to switch from. + validator: + type: string + description: Address of the new validator to delegate to. + CronosUnStakingRequestPOSTBody: + title: CRONOS unstake + allOf: + - $ref: '#/components/schemas/UnStakingRequestPOSTBody' + type: object + properties: + amount: + description: Amount to unstake in base units. + type: string + example: '10000000000' + required: + - amount + CsprStakingDelegation: + allOf: + - $ref: '#/components/schemas/StakingDelegation' + type: object + CsprStakingRequest: + title: CSPR + allOf: + - $ref: '#/components/schemas/StakingRequest' + type: object + properties: + delegations: + type: array + minItems: 1 + maxItems: 1 + items: + $ref: '#/components/schemas/CsprStakingDelegation' + transactions: + type: array + minItems: 1 + maxItems: 500 + items: + $ref: '#/components/schemas/CsprStakingTransaction' + amount: + description: Amount to stake in base units. + type: string + CsprStakingRequestPOSTBody: + title: CSPR stake + allOf: + - $ref: '#/components/schemas/StakingRequestPOSTBody' + type: object + CsprStakingTransaction: + allOf: + - $ref: '#/components/schemas/StakingTransaction' + type: object + CsprUnStakingRequestPOSTBody: + title: CSPR unstake + allOf: + - $ref: '#/components/schemas/UnStakingRequestPOSTBody' + type: object + properties: + amount: + description: Amount to unstake in base units. + type: string + example: '10000000000' + required: + - amount + Currencies: + type: array + items: + $ref: '#/components/schemas/Currency' + Currency: + required: + - id + - name + - symbol + type: object + properties: + id: + type: string + format: uuid + description: ID of the currency + symbol: + type: string + description: Symbol of the currency + name: + type: string + description: Name of the currency + example: + id: 6016e0a9-545a-45fb-8370-caab1680956a + symbol: BTC + name: Bitcoin + Currency1: + title: Currency + type: object + properties: + bitcoinUnit: + type: string + currency: + type: string + required: + - bitcoinUnit + - currency + 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 + 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 + CustodialWalletSubType: + title: CustodialWalletSubType + type: string + enum: + - custodialCold + - custodialHot + 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. + DOTBuildOptions: + allOf: + - $ref: '#/components/schemas/AccountBaseBuildOptions2' + - type: object + properties: + fee: + $ref: '#/components/schemas/DOTFeeOptions' + DOTClaimIntent: + title: Dot Claim Unstake + allOf: + - $ref: '#/components/schemas/DOTBuildOptions' + - $ref: '#/components/schemas/WithdrawIntent2' + 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 + DateTime: + type: string + format: date-time + example: {} + 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`. + DelegationAccrual: + type: object + properties: + delegationId: + description: The delegation ID. + type: string + coin: + $ref: '#/components/schemas/Coin1' + enterpriseId: + description: The enterprise ID. + type: string + withdrawalAddress: + description: The withdrawal address. + type: string + delegationAddress: + description: The delegation address. + type: string + delegated: + description: The total amount delegated (staked). + type: string + pendingDelegated: + description: The total amount pending to be delegated (staked). + type: string + pendingUndelegated: + description: The total amount pending to be undelegated (unstaked). + type: string + rewardsReceived: + description: The total rewards received over the lifetime of the delegation. + type: string + locked: + description: The total amount locked but not delegated (staked). Example is staking rewards not re-staked/compounding. + type: string + date: + description: The date and time of the accrual record. + type: string + format: date-time + wallet: + $ref: '#/components/schemas/WalletAccrual' + 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. + DelegationResults: + type: object + properties: + delegations: + type: array + minItems: 1 + maxItems: 500 + items: + oneOf: + - $ref: '#/components/schemas/AdaStakingDelegation' + - $ref: '#/components/schemas/AsiStakingDelegation' + - $ref: '#/components/schemas/AtomStakingDelegation' + - $ref: '#/components/schemas/AvaxcStakingDelegation' + - $ref: '#/components/schemas/AvaxPStakingDelegation' + - $ref: '#/components/schemas/BabyStakingDelegation' + - $ref: '#/components/schemas/BeraStakingDelegation' + - $ref: '#/components/schemas/BldStakingDelegation' + - $ref: '#/components/schemas/BscStakingDelegation' + - $ref: '#/components/schemas/BtcStakingDelegation' + - $ref: '#/components/schemas/CoredaoStakingDelegation' + - $ref: '#/components/schemas/CoreumStakingDelegation' + - $ref: '#/components/schemas/CronosStakingDelegation' + - $ref: '#/components/schemas/CsprStakingDelegation' + - $ref: '#/components/schemas/CosmosLikeStakingDelegation' + - $ref: '#/components/schemas/DotStakingDelegation' + - $ref: '#/components/schemas/EigenStakingDelegation' + - $ref: '#/components/schemas/EthStakingDelegation' + - $ref: '#/components/schemas/HashStakingDelegation' + - $ref: '#/components/schemas/InjectiveStakingDelegation' + - $ref: '#/components/schemas/MaticStakingDelegation' + - $ref: '#/components/schemas/NearStakingDelegation' + - $ref: '#/components/schemas/OsmoStakingDelegation' + - $ref: '#/components/schemas/PolStakingDelegation' + - $ref: '#/components/schemas/PolyxStakingDelegation' + - $ref: '#/components/schemas/RethRocketStakingDelegation' + - $ref: '#/components/schemas/SeiStakingDelegation' + - $ref: '#/components/schemas/SolStakingDelegation' + - $ref: '#/components/schemas/StxStakingDelegation' + - $ref: '#/components/schemas/SuiStakingDelegation' + - $ref: '#/components/schemas/SuiWalStakingDelegation' + - $ref: '#/components/schemas/TaoStakingDelegation' + - $ref: '#/components/schemas/TiaStakingDelegation' + - $ref: '#/components/schemas/TonStakingDelegation' + - $ref: '#/components/schemas/TrxStakingDelegation' + - $ref: '#/components/schemas/WethStakingDelegation' + - $ref: '#/components/schemas/WctStakingDelegation' + - $ref: '#/components/schemas/WflrStakingDelegation' + - $ref: '#/components/schemas/ZetaStakingDelegation' + 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. + DelegationStatus: + description: The status of the delegation. + type: string + enum: + - PENDING + - FAILED + - REJECTED + - ACTIVE + - COMPLETE + DeleteDeviceTokenResponse: + required: + - bitgoUserId + - deviceToken + - message + type: object + properties: + deviceToken: + type: string + bitgoUserId: + type: string + message: + type: string + DeleteEnterpriseUser: + type: object + properties: + username: + type: string + required: + - username + DeployAddressAndForwardTokenResponse: + title: DeployAddressAndForwardTokenResponse + type: object + properties: + txId: + type: string + required: + - txId + Deposit: + type: object + properties: + toAddress: + type: string + description: The address the deposit will be received at + example: 1234567890ABCDEF-XJBCOEF + valueString: + allOf: + - $ref: '#/components/schemas/IntegerString' + description: The value (in cents/base units) of the deposit + token: + type: string + description: If this is a token entry, the token's symbol + example: ousd + toBankAccount: + $ref: '#/components/schemas/BankAccountRequest' + required: + - toAddress + - token + 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' + 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' + DisclaimerAttributes: + type: object + properties: + staking: + type: object + properties: + info: + type: array + items: + type: string + transactionsNeeded: + type: number + stakeWarmupPeriodDesc: + type: string + rewardPercentageRate: + type: string + rewardsCompounding: + type: boolean + unstaking: + type: object + properties: + info: + type: array + items: + type: string + transactionsNeeded: + type: number + unStakeCooldownPeriodDesc: + type: string + DisputeClosure: + title: DisputeClosure + type: object + properties: + id: + type: string + title: uuid + createdAt: + oneOf: + - type: string + - {} + updatedAt: + oneOf: + - type: string + - {} + closedBy: + $ref: '#/components/schemas/ClosedByUnion' + userId: + type: string + minLength: 1 + notes: + type: string + minLength: 1 + payload: + type: string + signature: + type: string + required: + - id + - createdAt + - updatedAt + - closedBy + - userId + - notes + DisputeClosureOutput: + title: DisputeClosureOutput + type: object + properties: + id: + type: string + description: The unique identifier of the dispute closure. + title: uuid + closedBy: + allOf: + - $ref: '#/components/schemas/ClosedByUnion' + description: Who closed the dispute. - `admin` - The dispute was closed by an admin. - `client` - The dispute was closed by a client. + userId: + type: string + description: The id of the user who closed the dispute. + minLength: 1 + notes: + type: string + description: notes entered by the user when closing the dispute. + minLength: 1 + adjustedSettlementTransfers: + allOf: + - $ref: '#/components/schemas/DisputedSettlementTransfersOutput' + description: The resulting settlement transfers generated when the dispute was closed + createdAt: + type: string + description: The date and time when the dispute closure was created. + format: date-time + title: ISO Date String + required: + - id + - closedBy + - userId + - notes + - adjustedSettlementTransfers + - createdAt + DisputedSettlementTransfersOutput: + title: DisputedSettlementTransfersOutput + type: array + items: + type: object + properties: + id: + type: string + description: The unique identifier of the settlement transfer. + title: uuid + sourceTradingAccountId: + type: string + description: The go account id of the source party. + minLength: 1 + destinationTradingAccountId: + type: string + description: The go account id of the destination party. + minLength: 1 + destinationNetworkAccountId: + type: string + description: The network account id of the destination party. + title: uuid + disputeClosureId: + type: string + description: The unique identifier of the dispute closure the settlement transfer was created from. This is a UUID that uniquely identifies dispute closure if the transfer was created as a result of closing a dispute. + title: uuid + currency: + type: string + description: The currency involved in the settlement movement. + minLength: 1 + quantity: + allOf: + - $ref: '#/components/schemas/NonZeroBigAmount' + description: The amount of currency being transferred in the settlement transfer. This is a non-zero value represented as a string. If the value is positive, that means funds were moved from the source account to the destination account. If the value is negative, that means funds were moved from the destination account to the source account. + status: + allOf: + - $ref: '#/components/schemas/SettlementTransferStatus' + description: 'The status of the settlement transfer. Possible values and implications are: - pending: The transfer is pending and has not yet been processed. - pending_onchain: The transfer is pending on-chain movement (only relevant to on-chain settlements). - onchain_initiated: The transfer has been initiated on-chain (only relevant to on-chain settlements). - onchain_failed: The on-chain transfer has failed (only relevant to on-chain settlements). - completed: The transfer has been completed successfully. - failed: The transfer has failed. - rejected: The transfer has been rejected. - disputed: The transfer is disputed.' + createdAt: + type: string + description: The date and time when the settlement transfer was created. Represented as an ISO 8601 formatted date string. + format: date-time + title: ISO Date String + updatedAt: + type: string + description: The date and time when the settlement transfer was last updated. Represented as an ISO 8601 formatted date string. + format: date-time + title: ISO Date String + settlementId: + type: string + description: The unique identifier of the settlement the settlement transfer is associated with. This is a UUID that uniquely identifies the settlement. Will only be undefined if the settlement transfer is in `pending_settlement_assignment` status. + title: uuid + sourceNetworkAccountId: + type: string + description: The network account id of the source party. + title: uuid + required: + - id + - sourceTradingAccountId + - destinationTradingAccountId + - destinationNetworkAccountId + - disputeClosureId + - currency + - quantity + - status + - createdAt + - updatedAt + DistributedCustody: + title: DistributedCustody + type: object + properties: + signingBitgoOrg: + $ref: '#/components/schemas/BitgoOrg' + 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 + Document: + type: object + properties: + id: + type: string + description: Internal ID for the document association + documentId: + type: string + description: External document service ID + documentType: + type: string + enum: + - governmentId + - commercialRegister + - articlesOfAssociation + - certificateOfIncorporation + - certificateOfTrust + - certificateOfIncumbency + - certificateOfIncumbencyOrShareRegister + - proofOfPrincipalPlaceOfBusiness + - activeTradeLicense + - resolutionToOpenBitgoUaeAccount + - resolutionToOpenBitgoSingaporeAccount + - proofOfAuthorizedSignatories + - memorandumOfAssociation + - memorandumAndArticlesOfAssociation + - bylawsOrOperatingAgreement + - operatingAgreement + - w8 + - w9 + - evidenceOfLegalStatus + - evidenceOfActiveStatus + - proofOfJfsaLicense + - proofOfGamingLicense + - organizationDocument + - partnershipAgreement + - articlesOfOrganization + - businessLicenseOrRegistration + - evidenceOfGovernmentOrStateOwnership + - secFilingsAsEvidenceOfPublicTradingStatus + - foundingTreatyOrEquivalent + description: Type of document + status: + type: string + enum: + - missing + - countExceeded + - submitted + - inReview + - verified + description: Verification status + required: + - id + - documentId + - documentType + - status + title: Document + DocumentFileDetail: + type: object + properties: + fileId: + type: string + description: Unique identifier for the file + fileView: + type: string + description: View or side of the document file + label: + type: string + description: Human-readable label for the file + required: + type: boolean + description: Whether this file is required for the document + uploadUrl: + type: string + format: uri + description: Presigned URL for file upload + expiresAt: + type: string + format: date-time + description: When the upload URL expires + required: + - fileId + - fileView + - label + - required + - uploadUrl + - expiresAt + title: DocumentFileDetail + description: Detailed file information for document creation response + DocumentFileInfo: + type: object + properties: + id: + type: string + description: Unique identifier for the file + view: + $ref: '#/components/schemas/FileView' + status: + $ref: '#/components/schemas/FileStatus' + fileName: + type: string + description: Original filename of the uploaded file + fileType: + type: string + description: MIME type of the file + fileSize: + type: number + description: Size of the file in bytes + uploadUrl: + type: string + format: uri + description: Presigned URL for file upload + downloadUrl: + type: string + format: uri + description: Presigned URL for file download + uploadUrlExpiresAt: + type: string + format: date-time + description: When the upload URL expires + createdAt: + type: string + format: date-time + description: When the file was created + updatedAt: + type: string + format: date-time + description: When the file was last updated + required: + - id + - status + - createdAt + - updatedAt + title: DocumentFileInfo + description: File information for document retrieval + DocumentStatus: + type: string + enum: + - awaitingUpload + - uploaded + title: DocumentStatus + description: Current status of the document + DocumentSubType: + 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 + title: DocumentSubType + description: Subtype of document (used for government ID documents) + DocumentType: + type: string + enum: + - governmentId + - commercialRegister + - articlesOfAssociation + - certificateOfIncorporation + - certificateOfTrust + - certificateOfIncumbency + - certificateOfIncumbencyOrShareRegister + - proofOfPrincipalPlaceOfBusiness + - activeTradeLicense + - resolutionToOpenBitgoUaeAccount + - resolutionToOpenBitgoSingaporeAccount + - proofOfAuthorizedSignatories + - memorandumOfAssociation + - memorandumAndArticlesOfAssociation + - bylawsOrOperatingAgreement + - operatingAgreement + - w8 + - w9 + - evidenceOfLegalStatus + - evidenceOfActiveStatus + - proofOfJfsaLicense + - proofOfGamingLicense + - organizationDocument + - partnershipAgreement + - articlesOfOrganization + - businessLicenseOrRegistration + - evidenceOfGovernmentOrStateOwnership + - secFilingsAsEvidenceOfPublicTradingStatus + - foundingTreatyOrEquivalent + title: DocumentType + description: Type of document being uploaded + DomesticWireAccountResponseProps: + title: DomesticWireAccountResponseProps 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: type: string - DotStakingRequestPOSTBody: - title: DOT stake - allOf: - - $ref: '#/components/schemas/StakingRequestPOSTBody' + enum: + - wire + routingNumber: + $ref: '#/components/schemas/RoutingNumberString' + accountType: + $ref: '#/components/schemas/OptionalAccountType' + required: + - type + - routingNumber + - accountType + 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: - amount: - description: Amount to stake in base units. + accountNumber: + description: Bank account number or IBAN. type: string - example: '10000000000' - DotStakingTransaction: - allOf: - - $ref: '#/components/schemas/StakingTransaction' - type: object - DotUnStakingRequestPOSTBody: - title: DOT unstake - allOf: - - $ref: '#/components/schemas/UnStakingRequestPOSTBody' - type: object - properties: - type: - description: Staking Request type = 'UNSTAKE'. + minLength: 1 + maxLength: 34 + example: 114584906 + enterpriseId: + $ref: '#/components/schemas/Id' + address: type: string - example: UNSTAKE - delegationId: - description: The delegation ID representing the delegation to unstake. + example: 2390 El Camino Real, Palo Alto, CA 94306 + address1: type: string - amount: - description: Amount to unstake in base units. + example: 2390 El Camino Real + address2: type: string - example: '10000000000' - required: - - type - 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' - DotWallet: - title: Dot Wallet - type: object - properties: - rootAddress: + example: Palo Alto, CA 94306 + address3: type: string - pendingChainInitialization: - type: boolean - nonceAddress: + example: '' + name: type: string - required: - - rootAddress - - pendingChainInitialization - DotWalletStakingSpendableAttributes: - type: object - properties: - stakingSpendableAttributes: - $ref: '#/components/schemas/StakingSpendableAttributes' - unstakingSpendableAttributes: - $ref: '#/components/schemas/UnStakingSpendableAttributes' - DotWalletStakingStateAttributes: - type: object - properties: - spendableAttributes: - $ref: '#/components/schemas/DotWalletStakingSpendableAttributes' - permissionAttributes: - $ref: '#/components/schemas/WalletStakingPermissionAttributes' - disclaimerAttributes: - $ref: '#/components/schemas/WalletStakingDisclaimerAttributes' - DotWithdrawStakeIntent: - title: DOT Withdraw Stake Intent - allOf: - - type: object - properties: {} - - $ref: '#/components/schemas/WithdrawIntent' - - $ref: '#/components/schemas/DotAccountBaseBuildOptions' - DuplicateSequenceId: - title: Duplicate SequenceId - allOf: - - $ref: '#/components/schemas/PlatformPlatformError' - - properties: + 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 - description: Error code - enum: - - DuplicateSequenceId - required: - - name - DuplicateSequenceId1: - title: Duplicate SequenceId - allOf: - - $ref: '#/components/schemas/PlatformError3' - - properties: - name: + example: Donald E. Knuth + address1: type: string - description: Error code - enum: - - DuplicateSequenceId + example: Computer Science Department + address2: + type: string + example: Stanford University + address3: + type: string + example: Stanford, CA 94305-9045 required: - name - EIP1559FeeOptions: - title: EIP1559FeeOptions - type: object - properties: - gasLimit: - $ref: '#/components/schemas/optionalNumber' - maxFeePerGas: - $ref: '#/components/schemas/optionalNumber' - maxPriorityFeePerGas: - $ref: '#/components/schemas/optionalNumber' - 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 - ETHSignMessageIntent: - title: Eth sign message + - 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 + DomesticWireBankAccountRequest: + title: DomesticWireBankAccountRequest + description: Request schema for creating a domestic wire bank account allOf: - - $ref: '#/components/schemas/BaseIntent2' - type: object properties: - intentType: + type: type: string enum: - - signMessage + - wire + description: Must be 'wire' for domestic wire accounts + routingNumber: + type: string + description: Routing number for the domestic wire account required: - - intentType - EcdsaConfig: - title: EcdsaConfig - type: object - properties: - challenge: - $ref: '#/components/schemas/ChallengePartyConfig' - required: - - challenge - EigenStakingDelegation: + - type + - routingNumber + - $ref: '#/components/schemas/BankAccountRequest1' + DomesticWireBankAccountResponse: + title: DomesticWireBankAccountResponse allOf: - - $ref: '#/components/schemas/StakingDelegation' - type: object - EigenStakingRequest: - title: Eigen + - type: object + properties: {} + - $ref: '#/components/schemas/DomesticWireAccountResponseProps' + - $ref: '#/components/schemas/BankAccountResponseProps' + DotAccountBaseBuildOptions: + title: DotAccountBaseBuildOptions allOf: - - $ref: '#/components/schemas/StakingRequest' + - 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' + DotAddress: + title: Dot Address 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/EigenStakingDelegation' - transactions: - type: array - minItems: 1 - maxItems: 500 - items: - $ref: '#/components/schemas/EigenStakingTransaction' - amount: - description: Amount to stake in base units (i.e. Wei for Eigen) + rootAddress: type: string - EigenStakingRequestPOSTBody: - title: EIGEN stake + 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 + DotConsolidateIntent: + title: DOT Consolidate Intent 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. - EigenStakingTransaction: + - $ref: '#/components/schemas/AccountBaseConsolidateIntent' + DotCreateAccountIntent: + title: DOT Create Account Intent allOf: - - $ref: '#/components/schemas/StakingTransaction' - type: object - properties: - gasPrice: - description: The gas limit in base units. - type: string - EigenUnStakingRequestPOSTBody: - title: EIGEN unstake + - 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' + DotPaymentIntent: + title: DOT Payment Intent 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. - Eip1559Params: + - type: object + properties: + proxy: + $ref: '#/components/schemas/DotProxy' + owner: + $ref: '#/components/schemas/optionalString' + required: + - proxy + - owner + - $ref: '#/components/schemas/PaymentIntent' + - $ref: '#/components/schemas/DotAccountBaseBuildOptions' + DotPaymentIntent1: + title: DOT Payment Intent + allOf: + - type: object + properties: + proxy: + $ref: '#/components/schemas/DotProxy' + owner: + $ref: '#/components/schemas/optionalString' + required: + - proxy + - owner + - $ref: '#/components/schemas/PaymentIntent1' + - $ref: '#/components/schemas/DotAccountBaseBuildOptions' + DotProxy: + title: DotProxy type: object - required: - - maxPriorityFeePerGas - - maxFeePerGas properties: - maxPriorityFeePerGas: - type: string - description: Maximum priority fee per gas (in wei). - maxFeePerGas: - type: string - description: Maximum fee per gas (in wei). - Email: - type: string - format: email - example: user@example.com - Email1: - title: Email + name: + $ref: '#/components/schemas/optionalString' + addressString: + $ref: '#/components/schemas/optionalString' + asset: + $ref: '#/components/schemas/optionalString' + amountString: + $ref: '#/components/schemas/optionalString' + DotStakingDelegation: + title: DOT + allOf: + - $ref: '#/components/schemas/StakingDelegation' type: object - properties: - email: - type: string - example: user@email.com - format: email - verified: - type: boolean - example: true - required: - - email - - verified - EmergencyPhone: - type: string - description: Phone number for emergencies - example: '+11234567890' - EnableTokenIntent: - title: EnableTokenIntent + DotStakingIntent: + title: DOT Staking Intent allOf: - type: object properties: - intentType: + amount: + $ref: '#/components/schemas/Amount' + stakingProxy: type: string - enum: - - enableToken - enableTokens: - type: array - items: - type: object - properties: - name: - type: string - address: - $ref: '#/components/schemas/optionalString' - required: - - name + addToStake: + $ref: '#/components/schemas/optionalBoolean' + addProxy: + $ref: '#/components/schemas/optionalBoolean' required: - - intentType - - enableTokens - - $ref: '#/components/schemas/BaseIntent' - EncryptedShare: - title: EncryptedShare + - amount + - stakingProxy + - $ref: '#/components/schemas/StakeIntent' + - $ref: '#/components/schemas/DotAccountBaseBuildOptions' + DotStakingRequest: + title: DOT allOf: - - type: object - properties: - type: - $ref: '#/components/schemas/ShareType' - required: - - type - - $ref: '#/components/schemas/BaseShare' - Enterprise: - title: Enterprise + - $ref: '#/components/schemas/StakingRequest' 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' - stablecoinAgreement: - type: array - items: - type: object - description: Stablecoin agreement schema for enterprise users. - properties: - user: - type: string - description: User who accepted the agreement - date: - oneOf: - - type: string - - type: string - format: date-time - title: ISO Date String - - type: string - format: date - title: Date String - description: Date when the agreement was accepted - ip: - type: string - description: IP address of the user - version: - type: number - description: Version number of the agreement - required: - - user - - date - - version - 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 - 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 - publicLabels: + delegations: type: array + minItems: 1 + maxItems: 1 items: - type: string - description: Subset of labels that are OK to return back to client in GetEnterpriseResponse - licenses: + $ref: '#/components/schemas/DotStakingDelegation' + transactions: type: array + minItems: 1 + maxItems: 500 items: - type: string - description: New licences that are not stored as flags. Tax requires Portfolio Professional or Institutional - ellipticId: + $ref: '#/components/schemas/DotStakingTransaction' + amount: + description: Amount to stake in base units. 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: + DotStakingRequestPOSTBody: + title: DOT stake + allOf: + - $ref: '#/components/schemas/StakingRequestPOSTBody' + type: object + properties: + amount: + description: Amount to stake in base units. type: string - bitgoVaspId: + example: '10000000000' + DotStakingTransaction: + allOf: + - $ref: '#/components/schemas/StakingTransaction' + type: object + DotUnStakingRequestPOSTBody: + title: DOT unstake + allOf: + - $ref: '#/components/schemas/UnStakingRequestPOSTBody' + type: object + properties: + type: + description: Staking Request type = 'UNSTAKE'. type: string - coinSpecific: - type: object - additionalProperties: {} - walletCounts: - type: object - description: Number of wallets per coin + 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 + DotUnstakingIntent: + title: DOT Unstaking Intent + allOf: + - type: object properties: - enterpriseWallets: - type: object - additionalProperties: - type: number + amount: + $ref: '#/components/schemas/Amount' + stakingProxy: + type: string + stopStaking: + $ref: '#/components/schemas/optionalBoolean' 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 - sourceConfig: - type: array - items: - type: object - properties: - source: - $ref: '#/components/schemas/AggregatorSourceType' - metadata: - type: object - description: 'The following fields: source, showBanner, readyForDistribution, showVideoIdBanner, ftxCreditorId were added for FTX insitutional distribution. Reference: https://bitgoinc.atlassian.net/browse/COPS-2695' - properties: - showBanner: - type: boolean - readyForDistribution: - type: boolean - showVideoIdBanner: - type: boolean - ftxCreditorId: - type: string - ftxHost: - $ref: '#/components/schemas/FtxHostType' - creditorId: - type: string - required: - - source - description: Array to store configs, upon which certain actions are taken, per source - videoIdRequired: - type: boolean - description: Check for video ID Users - contract: - allOf: - - $ref: '#/components/schemas/EnterpriseContract' - description: Contract information - referralCode: - allOf: - - $ref: '#/components/schemas/ReferralCodeString' - description: Referral code - oauthSetting: - allOf: - - $ref: '#/components/schemas/OAuthSetting' - description: oauth setting of the enterprise * - optOutOfPoints: + - amount + - stakingProxy + - $ref: '#/components/schemas/UnstakeIntent' + - $ref: '#/components/schemas/DotAccountBaseBuildOptions' + DotWallet: + title: Dot Wallet + type: object + properties: + rootAddress: + type: string + pendingChainInitialization: type: boolean - description: Opt Out of Points System Flag - requestedBitgoOrg: - allOf: - - $ref: '#/components/schemas/BitgoOrg' - description: Requested BitGo Org - requestedProducts: + nonceAddress: + type: string + required: + - rootAddress + - pendingChainInitialization + DotWalletStakingSpendableAttributes: + type: object + properties: + stakingSpendableAttributes: + $ref: '#/components/schemas/StakingSpendableAttributes' + unstakingSpendableAttributes: + $ref: '#/components/schemas/UnStakingSpendableAttributes' + DotWalletStakingStateAttributes: + type: object + properties: + spendableAttributes: + $ref: '#/components/schemas/DotWalletStakingSpendableAttributes' + permissionAttributes: + $ref: '#/components/schemas/WalletStakingPermissionAttributes' + disclaimerAttributes: + $ref: '#/components/schemas/WalletStakingDisclaimerAttributes' + DotWithdrawStakeIntent: + title: DOT Withdraw Stake Intent + allOf: + - type: object + properties: {} + - $ref: '#/components/schemas/WithdrawIntent' + - $ref: '#/components/schemas/DotAccountBaseBuildOptions' + DuplicateSequenceId: + title: Duplicate SequenceId + allOf: + - $ref: '#/components/schemas/PlatformPlatformError' + - properties: + name: + type: string + description: Error code + enum: + - DuplicateSequenceId + required: + - name + DuplicateSequenceId1: + title: Duplicate SequenceId + allOf: + - $ref: '#/components/schemas/PlatformError3' + - properties: + name: + type: string + description: Error code + enum: + - DuplicateSequenceId + required: + - name + EIP1559FeeOptions: + title: EIP1559FeeOptions + type: object + properties: + gasLimit: + $ref: '#/components/schemas/optionalNumber' + maxFeePerGas: + $ref: '#/components/schemas/optionalNumber' + maxPriorityFeePerGas: + $ref: '#/components/schemas/optionalNumber' + 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 + ETHSignMessageIntent: + title: Eth sign message + allOf: + - $ref: '#/components/schemas/BaseIntent2' + - type: object + properties: + intentType: + type: string + enum: + - signMessage + required: + - intentType + EcdsaConfig: + title: EcdsaConfig + type: object + properties: + challenge: + $ref: '#/components/schemas/ChallengePartyConfig' + required: + - challenge + EigenStakingDelegation: + allOf: + - $ref: '#/components/schemas/StakingDelegation' + type: object + EigenStakingRequest: + title: Eigen + 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: - type: string - enum: - - BitGo MMI - - BitGo Qualified Custody - - BitGo Qualified Custody & Hot Wallet - - Borrowing - - Borrowing / Lending - - Lending - - NFTs - - Self Custody - - 'Go Network: Off Exchange Settlement' - - Staking - - Trade - - Transactional / Hot Wallet - - Wrapped Asset Services - - Escrow - - Distributed Custody Wallet - - Token Management (HZ) - - Platform Integration (B2B2C) - - BitGo Wealth Management (HZ) - - BitGo Concierge - - Coincover Referral - - 'Go Network: Fiat currency Settlement' - - Fiat Currency Custody - - Excess Insurance - - Setup - - Lightning - - Liquidity Provider - - Alliance Agreement - - BitGo Custody - - BitGo MMI (Inc) - - Coincover Referral (Inc) - - Custom Project - - NFTs (Inc) - - Other (Inc) - - Partial Signature - - Portfolio & Tax - - Professional Services - - Setup (Inc) - - Staking (Inc) - - Platform Integration (B2B2C) (Inc) - description: Requested Products - requestedBitgoProducts: + $ref: '#/components/schemas/EigenStakingDelegation' + transactions: type: array + minItems: 1 + maxItems: 500 items: - type: string - enum: - - Instant Fee Wallets - - Go Account - - Settlement - - Tax - - Trade API - - Margin Trading - - Elliptic - - CryptoCompare - - MetaMask - - Custody - - Borrowing - - Lending - - DeFi - - Cold Self-Custody - - Go Network - - Staking - - Trade - - Hot Self-Custody - - Escrow - - Distributed Custody - - Advanced Wallets - - Stablecoins - description: Requested BitGo Products + $ref: '#/components/schemas/EigenStakingTransaction' + amount: + description: Amount to stake in base units (i.e. Wei for Eigen) + type: string + EigenStakingRequestPOSTBody: + title: EIGEN 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. + EigenStakingTransaction: + allOf: + - $ref: '#/components/schemas/StakingTransaction' + type: object + properties: + gasPrice: + description: The gas limit in base units. + type: string + EigenUnStakingRequestPOSTBody: + title: EIGEN 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. + Eip1559Params: + type: object required: - - id - - name - - additionalEnterpriseInfo - - bitgoOrg - - kycState - - legalIdentifiers - - type - - latestSAVersionSigned - - travelRule - - productLicenses - - canAccessBorrowing - - canAccessLending - - canAccessSettlement - - canAccessTrading - - canCreateColdWallet - - canCreateHotWallet - - canCreateCustodialWallet - - canCreateOffchainWallet - - oneTimeFees - - upfrontPaymentStatus - - ethAlwaysUseHop - - usersViewAllWallets - - videoIdWaived + - maxPriorityFeePerGas + - maxFeePerGas + properties: + maxPriorityFeePerGas: + type: string + description: Maximum priority fee per gas (in wei). + maxFeePerGas: + type: string + description: Maximum fee per gas (in wei). + Email: + type: string + format: email + example: user@example.com + Email1: + title: Email + type: object + properties: + email: + type: string + example: user@email.com + format: email + verified: + type: boolean + example: true + required: + - email + - verified + EmergencyPhone: + type: string + description: Phone number for emergencies + example: '+11234567890' + 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' + EncryptedShare: + title: EncryptedShare + allOf: + - type: object + properties: + type: + $ref: '#/components/schemas/ShareType' + required: + - type + - $ref: '#/components/schemas/BaseShare' + Enterprise: + title: Enterprise + allOf: + - type: object + properties: + organization: + allOf: + - $ref: '#/components/schemas/OrganizationIdString' + description: Organization ID reference + - $ref: '#/components/schemas/BaseEnterprise' EnterpriseAccountType: type: string description: Indicates which type of KYC process the enterprise has to complete @@ -52426,6 +52443,9 @@ components: - id stablecoinAgreementLatestVersion: type: number + organizationId: + type: string + deprecated: true required: - wallets - tags From ceb420deef04c6cdf7ed6867f80fa7d52f52a832 Mon Sep 17 00:00:00 2001 From: "dev-portal-updater[bot]" <149019135+dev-portal-updater[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 21:44:44 +0000 Subject: [PATCH 20/20] feat: update `bitgo-api-docs` This commit updates the BitGo API. --- api.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/api.yaml b/api.yaml index 768c130..56029b1 100644 --- a/api.yaml +++ b/api.yaml @@ -4174,6 +4174,19 @@ paths: type: string title: uuid description: Filter by specific counterparty connection IDs. When provided, only settlements involving these connections as counterparties will be returned. + - name: statuses + description: Filter by settlement statuses. When provided, only settlements with these statuses will be returned. + in: query + schema: + type: array + items: + type: string + enum: + - failed + - completed + - pending + - rejected + description: Filter by settlement statuses. When provided, only settlements with these statuses will be returned. - name: enterpriseId description: The enterprise identifier of the client. This identifies the client enterprise making the API request. in: path