openapi: 3.0.1 info: title: BitGo Platform Addresses Webhooks API description: Representative specification of the BitGo Platform REST API v2 for institutional digital-asset custody. Covers wallets, addresses, transactions and transfers, keychains, webhooks, wallet policies, staking, trading and settlement over the Go Network, and enterprise / user surfaces. Most endpoints are namespaced under a coin (for example `btc`, `eth`, `hteth`) via the `{coin}` path parameter. Authentication uses a Bearer access token. Transaction-signing operations that require private-key material are typically issued against a self-hosted BitGo Express proxy. termsOfService: https://www.bitgo.com/legal/terms-of-service/ contact: name: BitGo Support url: https://developers.bitgo.com/ version: '2.0' servers: - url: https://app.bitgo.com/api/v2 description: BitGo production platform - url: https://app.bitgo-test.com/api/v2 description: BitGo test environment - url: http://localhost:3080/api/v2 description: Self-hosted BitGo Express signing proxy (default port) security: - accessToken: [] tags: - name: Webhooks paths: /{coin}/wallet/{walletId}/webhooks: get: operationId: listWalletWebhooks tags: - Webhooks summary: List wallet webhooks description: List the webhooks configured on a wallet. parameters: - $ref: '#/components/parameters/coin' - $ref: '#/components/parameters/walletId' responses: '200': description: A list of webhooks. content: application/json: schema: $ref: '#/components/schemas/WebhookList' post: operationId: addWalletWebhook tags: - Webhooks summary: Add wallet webhook description: Add a webhook to a wallet to receive HTTP callbacks for events such as `transfer`, `transaction`, `pendingapproval`, and `address_confirmation`. parameters: - $ref: '#/components/parameters/coin' - $ref: '#/components/parameters/walletId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateWebhookRequest' responses: '200': description: The created webhook. content: application/json: schema: $ref: '#/components/schemas/Webhook' components: parameters: walletId: name: walletId in: path required: true description: The wallet identifier. schema: type: string coin: name: coin in: path required: true description: The coin or token ticker (for example `btc`, `eth`, `hteth`, `sol`, `matic`). Testnet coins are prefixed with `t` (for example `tbtc`). schema: type: string example: btc schemas: Webhook: type: object properties: id: type: string type: type: string enum: - transfer - transaction - pendingapproval - address_confirmation url: type: string numConfirmations: type: integer state: type: string required: - id - type - url CreateWebhookRequest: type: object properties: type: type: string enum: - transfer - transaction - pendingapproval - address_confirmation url: type: string format: uri numConfirmations: type: integer default: 0 required: - type - url WebhookList: type: object properties: webhooks: type: array items: $ref: '#/components/schemas/Webhook' securitySchemes: accessToken: type: http scheme: bearer bearerFormat: accessToken description: 'BitGo access token passed as `Authorization: Bearer `.'