Skip to main content
POST
/
webhooks
TypeScript
const response: Promise<FireblocksResponse<Webhook>> = fireblocks.webhooksV2.createWebhook(webhooksV2ApiCreateWebhookRequest);
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "url": "https://example.com/webhook",
  "events": [
    "transaction.created",
    "transaction.status.updated"
  ],
  "status": "ENABLED",
  "createdAt": 1625126400000,
  "updatedAt": 1625126400000,
  "description": "This webhook is used for transactions notifications"
}

Documentation Index

Fetch the complete documentation index at: https://developers.fireblocks.com/llms.txt

Use this file to discover all available pages before exploring further.

Headers

Idempotency-Key
string

A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.

Body

application/json
url
string
required

The url of the webhook where notifications will be sent. URL must be valid, unique and https.

Minimum string length: 1
Example:

"https://example.com/webhook"

events
enum<string>[]
required

event types the webhook will subscribe to

Available options:
transaction.created,
transaction.status.updated,
transaction.approval_status.updated,
transaction.network_records.processing_completed,
external_wallet.asset.added,
external_wallet.asset.removed,
internal_wallet.asset.added,
internal_wallet.asset.removed,
contract_wallet.asset.added,
contract_wallet.asset.removed,
vault_account.created,
vault_account.asset.added,
vault_account.asset.balance_updated,
embedded_wallet.status.updated,
embedded_wallet.created,
embedded_wallet.asset.balance_updated,
embedded_wallet.asset.added,
embedded_wallet.account.created,
embedded_wallet.device.added,
onchain_data.updated,
connection.added,
connection.removed,
connection.request.waiting_peer_approval,
connection.request.rejected_by_peer
Example:
[
  "transaction.created",
  "transaction.status.updated"
]
description
string

description of the webhook. should not contain special characters.

Minimum string length: 1
Example:

"This webhook is used for transactions notifications"

enabled
boolean
default:true

The status of the webhook. If false, the webhook will not receive notifications.

Example:

false

Response

created new webhook successfully

id
string<uuid>
required

The id of the webhook

Example:

"123e4567-e89b-12d3-a456-426614174000"

url
string
required

The url of the webhook where notifications will be sent. Must be a valid URL and https.

Minimum string length: 1
Example:

"https://example.com/webhook"

events
enum<string>[]
required

The events that the webhook will be subscribed to

Available options:
transaction.created,
transaction.status.updated,
transaction.approval_status.updated,
transaction.network_records.processing_completed,
external_wallet.asset.added,
external_wallet.asset.removed,
internal_wallet.asset.added,
internal_wallet.asset.removed,
contract_wallet.asset.added,
contract_wallet.asset.removed,
vault_account.created,
vault_account.asset.added,
vault_account.asset.balance_updated,
embedded_wallet.status.updated,
embedded_wallet.created,
embedded_wallet.asset.balance_updated,
embedded_wallet.asset.added,
embedded_wallet.account.created,
embedded_wallet.device.added,
onchain_data.updated,
connection.added,
connection.removed,
connection.request.waiting_peer_approval,
connection.request.rejected_by_peer
Example:
[
  "transaction.created",
  "transaction.status.updated"
]
status
enum<string>
required

The status of the webhook

Available options:
DISABLED,
ENABLED,
SUSPENDED
Example:

"ENABLED"

createdAt
integer<int64>
required

The date and time the webhook was created in milliseconds

Example:

1625126400000

updatedAt
integer<int64>
required

The date and time the webhook was last updated in milliseconds

Example:

1625126400000

description
string

description of the webhook of what it is used for

Minimum string length: 1
Example:

"This webhook is used for transactions notifications"