---
title: "Create organization webhook"
method: POST
path: "/api/v2/organization/{organizationId}/webhook"
tags: ["Organization Webhooks"]
---

# Create organization webhook

`POST /api/v2/organization/{organizationId}/webhook`

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](/reference/userlogin#/) endpoint.

## Path parameters

- `organizationId` string, required

## Request body

- union
  - object
    - `allToken` boolean
    - `coin` string
    - `includeRbf` boolean
    - `label` string
    - `listenToFailureStates` boolean
    - `numConfirmations` number
    - `type` 'transfer', required
    - `url` string, required
  - object
    - `label` string
    - `txRequestStates` string[]
    - `type` 'txRequest', required
    - `url` string, required
  - object
    - `label` string
    - `txRequestTransactionStates` string[]
    - `type` 'txRequestTransaction', required
    - `url` string, required
  - object
    - `allToken` boolean
    - `coin` string
    - `label` string
    - `type` 'pendingapproval', required
    - `url` string, required
  - object
    - `label` string
    - `type` 'bankAccount', required
    - `url` string, required
  - object
    - `label` string
    - `status` string[]
    - `type` 'identityStatus', required
    - `url` string, required
  - object
    - `kycState` string[]
    - `label` string
    - `type` 'userKycState', required
    - `url` string, required
  - object
    - `kycState` string[]
    - `label` string
    - `type` 'enterpriseKycState', required
    - `url` string, required
  - object
    - `label` string
    - `type` 'reversal', required
    - `url` string, required
  - object
    - `label` string
    - `type` 'tradeOrder', required
    - `url` string, required
  - object
    - `label` string
    - `type` 'idvStatus', required
    - `url` string, required
  - object
    - `label` string
    - `type` 'whitelistApproved', required
    - `url` string, required
  - object
    - `label` string
    - `type` 'whitelistRejected', required
    - `url` string, required

## Response `200`

OK

- OrganizationWebhookResponse — Webhook response scoped to organization webhook types — `coin` is optional.
  - `id` string, required
  - `created` string, date-time, required
  - `url` string, uri, required
  - `version` number, required — 2 for coins running on API v2.
  - `scope` 'wallet' | 'enterprise' | 'organization' | 'safe', required
  - `state` 'active' | 'suspended', required — If 'active', indicates the webhook can trigger and send to the URL. If 'suspended', indicates the webhook can't trigger.
  - `successiveFailedAttempts` number, required
  - `listenToFailureStates` boolean, required — Whether or not to listen to failed transactions on chain.
  - `coin` string — A cryptocurrency or token ticker symbol.
  - `label` string — Label of the new webhook.
  - `walletId` string
  - `enterpriseId` string
  - `organizationId` string
  - `userId` string
  - `type` 'transfer' | 'txRequest' | 'pendingapproval' | 'txRequestTransaction' | 'bankAccount' | 'identityStatus' | 'idvStatus' | 'userKycState' | 'enterpriseKycState' | 'accessToken' | 'reversal' | 'tradeOrder' | 'whitelistApproved' | 'whitelistRejected'
  - `numConfirmations` number
  - `lastAttempt` string, date-time
  - `failingSince` string, date-time
  - `allToken` boolean
  - `txRequestStates` string[]
  - `txRequestTransactionStates` string[]

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

---

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