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

# Simulate organization webhook

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

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

## Path parameters

- `organizationId` string, required
- `webhookId` string, required

## Request body

- union
  - object
    - `transferId` string, required
  - object
    - `txRequestId` string, uuid, required
  - object
    - `pendingApprovalId` string, required
  - object
    - `bankAccountId` string, required
  - object
    - `enterpriseId` string, required
    - `kycState` 'approved' | 'rejected' | 'pending', required
  - object
    - `kycState` 'approved' | 'rejected' | 'pending', required
    - `userId` string, required
  - object
    - `identityId` string, UUID, required
    - `identityStatus` 'created' | 'approved' | 'declined' | 'needs review' | 'input error' | 'ssn error' | 'taxid error' | 'gov id error' | 'ssn verified' | 'gov id verified' | 'evaluating submission' | 'enrichment' | 'awaiting document upload' | 'records uploaded' | 'in review' | 'incomplete verifications' | 'records uploaded 2' | 'awaiting signature' | 'signature submitted' | 'initiating' | 'additional information submitted' | 'productRequestApproved' | 'productRequestRejected', required
  - object
    - `transferId` string, required
  - object
    - `orderId` string, UUID, required
  - object
    - `idvId` string, UUID, required

## Response `200`

OK

- SimulateOrganizationWebhookResponseBody
  - `webhookNotifications` object[], required
    - `id` string, required
    - `type` 'txRequest' | 'txRequestTransaction' | 'transfer' | 'transaction' | 'transactionRemoved' | 'transactionExpire' | 'pendingapproval' | 'block' | 'admin' | 'address_confirmation' | 'lowFee' | 'circuitBreaker' | 'lowFeeAddressBalance' | 'wallet_confirmation' | 'bankAccount' | 'userKycState' | 'enterpriseKycState' | 'identityStatus' | 'idvStatus' | 'accessToken' | 'accountCreated' | 'contractSigned' | 'kycResult' | 'policyBalanceChange' | 'reversal' | 'mintOrder' | 'transaction_finality_on_l1' | 'stuckTx' | 'tradeOrder' | 'unspentExpiry' | 'twoStepTransfer' | 'twoStepDeposit' | 'twoStepWithdrawal' | 'endInvestorOnboardingInvite' | 'endInvestorOnboardingAccepted' | 'pendingDecryption' | 'whitelistApproved' | 'whitelistRejected'
    - `wallet` string
    - `safeId` string — Safe ID — populated only on safe-scoped webhook subscriptions.
    - `url` string
    - `hash` string
    - `coin` string — A cryptocurrency or token ticker symbol.
    - `coinChain` string
    - `transfer` string
    - `state` 'unconfirmed' | 'new' | 'pending' | 'processed' | 'failed'
    - `simulation` boolean
    - `retries` number
    - `webhook` string
    - `updatedAt` string, date-time
    - `nextAttempt` string, date-time
    - `version` number
    - `allowBlockedHosts` boolean
    - `heightToConfirm` number
    - `payload` string
    - `response` object
      - `code` union
        - number
        - string
      - `type` string
      - `body` string
      - `error` 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)
