> ## 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.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://developers.fireblocks.com/feedback

```json
{
  "path": "/api-reference/webhooks-v2/create-a-new-webhook",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Create a new webhook

> Creates a new webhook, which will be triggered on the specified events

**Endpoint Permissions:** Owner, Admin, Non-Signing Admin.




## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml post /webhooks
openapi: 3.0.0
info:
  title: Fireblocks API
  description: >
    Fireblocks provides a suite of applications to manage digital asset
    operations and a complete development platform to build your business on the
    blockchain.


    - Visit our website for more information: [Fireblocks
    Website](https://fireblocks.com)

    - Visit our developer docs: [Fireblocks
    DevPortal](https://developers.fireblocks.com)
  version: 1.6.2
  contact:
    email: developers@fireblocks.com
servers:
  - url: https://api.fireblocks.io/v1
    description: Fireblocks Production Environment Base URL
  - url: https://sandbox-api.fireblocks.io/v1
    description: Fireblocks Sandbox Environment Base URL
security: []
paths:
  /webhooks:
    post:
      tags:
        - Webhooks V2
      summary: Create a new webhook
      description: |
        Creates a new webhook, which will be triggered on the specified events

        **Endpoint Permissions:** Owner, Admin, Non-Signing Admin.
      operationId: createWebhook
      parameters:
        - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebhookRequest'
      responses:
        '201':
          description: created new webhook successfully
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        default:
          $ref: '#/components/responses/Error'
      x-codeSamples:
        - lang: TypeScript
          source: >-
            const response: Promise<FireblocksResponse<Webhook>> =
            fireblocks.webhooksV2.createWebhook(webhooksV2ApiCreateWebhookRequest);
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<Webhook>> response =
            fireblocks.webhooksV2().createWebhook(createWebhookRequest,
            idempotencyKey);
        - lang: Python
          source: >-
            response =
            fireblocks.webhooks_v2.create_webhook(create_webhook_request,
            idempotency_key);
components:
  parameters:
    X-Idempotency-Key:
      name: Idempotency-Key
      in: header
      description: >-
        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.
      required: false
      schema:
        type: string
  schemas:
    CreateWebhookRequest:
      type: object
      properties:
        url:
          type: string
          description: >-
            The url of the webhook where notifications will be sent. URL must be
            valid, unique and https.
          example: https://example.com/webhook
          minLength: 1
        description:
          type: string
          description: description of the webhook. should not contain special characters.
          example: This webhook is used for transactions notifications
          minLength: 1
        events:
          type: array
          description: event types the webhook will subscribe to
          items:
            $ref: '#/components/schemas/WebhookEvent'
          example:
            - transaction.created
            - transaction.status.updated
        enabled:
          type: boolean
          description: >-
            The status of the webhook. If false, the webhook will not receive
            notifications.
          example: false
          default: true
      required:
        - url
        - events
    Webhook:
      type: object
      properties:
        id:
          type: string
          description: The id of the webhook
          example: 123e4567-e89b-12d3-a456-426614174000
          format: uuid
        url:
          type: string
          description: >-
            The url of the webhook where notifications will be sent. Must be a
            valid URL and https.
          example: https://example.com/webhook
          minLength: 1
        description:
          type: string
          description: description of the webhook of what it is used for
          example: This webhook is used for transactions notifications
          minLength: 1
        events:
          type: array
          description: The events that the webhook will be subscribed to
          example:
            - transaction.created
            - transaction.status.updated
          items:
            $ref: '#/components/schemas/WebhookEvent'
        status:
          enum:
            - DISABLED
            - ENABLED
            - SUSPENDED
          type: string
          description: The status of the webhook
          example: ENABLED
        createdAt:
          type: integer
          format: int64
          description: The date and time the webhook was created in milliseconds
          example: 1625126400000
        updatedAt:
          type: integer
          format: int64
          description: The date and time the webhook was last updated in milliseconds
          example: 1625126400000
      required:
        - id
        - url
        - events
        - status
        - createdAt
        - updatedAt
    WebhookEvent:
      type: string
      enum:
        - 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
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
  headers:
    X-Request-ID:
      schema:
        type: string
      description: >-
        Unique ID correlated to the API request. Please provide it in any
        support ticket you create or on Github issues related to Fireblocks SDKs
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'

````