fireblocks Webhooks V2 API

The Webhooks V2 API from fireblocks — 9 operation(s) for webhooks v2.

OpenAPI Specification

fireblocks-webhooks-v2-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Fireblocks Blockchains and Assets Approval Requests Webhooks V2 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.8.0
  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: []
tags:
- name: Webhooks V2
paths:
  /webhooks:
    post:
      operationId: createWebhook
      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.

        '
      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'
      tags:
      - Webhooks V2
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<Webhook>> = fireblocks.webhooksV2.createWebhook(webhooksV2ApiCreateWebhookRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<Webhook>> response = fireblocks.webhooksV2().createWebhook(createWebhookRequest, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.webhooks_v2.create_webhook(create_webhook_request, idempotency_key);
          name: Fireblocks SDK Python example
      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);
    get:
      operationId: getWebhooks
      summary: Get all webhooks
      description: 'Get all webhooks (paginated).


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

        '
      parameters:
      - name: order
        required: false
        in: query
        description: ASC / DESC ordering (default DESC)
        schema:
          default: DESC
          example: ASC
          enum:
          - ASC
          - DESC
          type: string
      - name: pageCursor
        required: false
        in: query
        description: Cursor of the required page
        schema:
          type: string
      - name: pageSize
        required: false
        in: query
        description: Maximum number of items on the page
        schema:
          minimum: 1
          maximum: 100
          default: 10
          example: 10
          type: number
      responses:
        '200':
          description: A paginated response containing WebhookDto objects
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookPaginatedResponse'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Webhooks V2
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<WebhookPaginatedResponse>> = fireblocks.webhooksV2.getWebhooks(webhooksV2ApiGetWebhooksRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<WebhookPaginatedResponse>> response = fireblocks.webhooksV2().getWebhooks(order, pageCursor, pageSize);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.webhooks_v2.get_webhooks(order, page_cursor, page_size);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<WebhookPaginatedResponse>> = fireblocks.webhooksV2.getWebhooks(webhooksV2ApiGetWebhooksRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<WebhookPaginatedResponse>> response = fireblocks.webhooksV2().getWebhooks(order, pageCursor, pageSize);
      - lang: Python
        source: response = fireblocks.webhooks_v2.get_webhooks(order, page_cursor, page_size);
  /webhooks/{webhookId}:
    get:
      operationId: getWebhook
      summary: Get webhook by id
      description: 'Retrieve a webhook by its ID.


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

        '
      parameters:
      - name: webhookId
        required: true
        in: path
        description: The unique identifier of the webhook
        schema:
          format: uuid
          example: 44fcead0-7053-4831-a53a-df7fb90d440f
          type: string
      responses:
        '200':
          description: A webhook object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Webhooks V2
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<Webhook>> = fireblocks.webhooksV2.getWebhook(webhooksV2ApiGetWebhookRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<Webhook>> response = fireblocks.webhooksV2().getWebhook(webhookId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.webhooks_v2.get_webhook(webhook_id);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<Webhook>> = fireblocks.webhooksV2.getWebhook(webhooksV2ApiGetWebhookRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<Webhook>> response = fireblocks.webhooksV2().getWebhook(webhookId);
      - lang: Python
        source: response = fireblocks.webhooks_v2.get_webhook(webhook_id);
    patch:
      operationId: updateWebhook
      summary: Update webhook
      description: 'Update a webhook by its ID.


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

        '
      parameters:
      - name: webhookId
        required: true
        in: path
        description: The unique identifier of the webhook
        schema:
          format: uuid
          example: 44fcead0-7053-4831-a53a-df7fb90d440f
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWebhookRequest'
      responses:
        '200':
          description: Updated webhook object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Webhooks V2
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<Webhook>> = fireblocks.webhooksV2.updateWebhook(webhooksV2ApiUpdateWebhookRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<Webhook>> response = fireblocks.webhooksV2().updateWebhook(updateWebhookRequest, webhookId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.webhooks_v2.update_webhook(update_webhook_request, webhook_id);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<Webhook>> = fireblocks.webhooksV2.updateWebhook(webhooksV2ApiUpdateWebhookRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<Webhook>> response = fireblocks.webhooksV2().updateWebhook(updateWebhookRequest, webhookId);
      - lang: Python
        source: response = fireblocks.webhooks_v2.update_webhook(update_webhook_request, webhook_id);
    delete:
      operationId: deleteWebhook
      summary: Delete a webhook
      description: 'Delete a webhook by its ID.


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

        '
      parameters:
      - name: webhookId
        required: true
        in: path
        description: The unique identifier of the webhook
        schema:
          format: uuid
          example: 44fcead0-7053-4831-a53a-df7fb90d440f
          type: string
      responses:
        '200':
          description: Deleted webhook object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Webhooks V2
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<Webhook>> = fireblocks.webhooksV2.deleteWebhook(webhooksV2ApiDeleteWebhookRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<Webhook>> response = fireblocks.webhooksV2().deleteWebhook(webhookId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.webhooks_v2.delete_webhook(webhook_id);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<Webhook>> = fireblocks.webhooksV2.deleteWebhook(webhooksV2ApiDeleteWebhookRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<Webhook>> response = fireblocks.webhooksV2().deleteWebhook(webhookId);
      - lang: Python
        source: response = fireblocks.webhooks_v2.delete_webhook(webhook_id);
  /webhooks/{webhookId}/notifications:
    get:
      operationId: getNotifications
      summary: Get all notifications by webhook ID
      description: 'Get all notifications by webhook ID (paginated).


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

        '
      parameters:
      - name: webhookId
        required: true
        in: path
        schema:
          format: uuid
          example: 44fcead0-7053-4831-a53a-df7fb90d440f
          type: string
      - name: order
        required: false
        in: query
        description: ASC / DESC ordering (default DESC)
        schema:
          default: DESC
          example: ASC
          enum:
          - ASC
          - DESC
          type: string
      - name: sortBy
        required: false
        in: query
        description: Sort by field (id, createdAt, updatedAt, status, eventType, resourceId)
        schema:
          default: id
          example: id
          enum:
          - id
          - createdAt
          - updatedAt
          - status
          - eventType
          - resourceId
          type: string
      - name: pageCursor
        required: false
        in: query
        description: Cursor of the required page
        schema:
          type: string
      - name: pageSize
        required: false
        in: query
        description: Maximum number of items on the page
        schema:
          minimum: 1
          maximum: 100
          default: 100
          example: 10
          type: number
      - name: startTime
        required: false
        in: query
        description: Start time in milliseconds since epoch to filter by notifications created after this time (default 31 days ago)
        schema:
          example: '1625097600000'
          type: string
      - name: endTime
        required: false
        in: query
        description: End time in milliseconds since epoch to filter by notifications created before this time (default current time)
        schema:
          example: '1625017600000'
          type: string
      - name: statuses
        required: false
        in: query
        description: List of notification statuses to filter by
        schema:
          example: COMPLETED
          type: array
          items:
            $ref: '#/components/schemas/NotificationStatus'
      - name: events
        required: false
        in: query
        description: List of webhook event types to filter by
        schema:
          example:
          - transaction.created
          - transaction.status.updated
          type: array
          items:
            $ref: '#/components/schemas/WebhookEvent'
      - name: resourceId
        required: false
        in: query
        description: Resource ID to filter by
        schema:
          type: string
      responses:
        '200':
          description: A paginated response containing NotificationExternalDTO objects
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationPaginatedResponse'
      tags:
      - Webhooks V2
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<NotificationPaginatedResponse>> = fireblocks.webhooksV2.getNotifications(webhooksV2ApiGetNotificationsRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<NotificationPaginatedResponse>> response = fireblocks.webhooksV2().getNotifications(webhookId, order, pageCursor, pageSize, createdStartDate, createdEndDate, statuses, eventTypes, resourceId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.webhooks_v2.get_notifications(webhook_id, order, page_cursor, page_size, created_start_date, created_end_date, statuses, event_types, resource_id);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<NotificationPaginatedResponse>> = fireblocks.webhooksV2.getNotifications(webhooksV2ApiGetNotificationsRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<NotificationPaginatedResponse>> response = fireblocks.webhooksV2().getNotifications(webhookId, order, pageCursor, pageSize, createdStartDate, createdEndDate, statuses, eventTypes, resourceId);
      - lang: Python
        source: response = fireblocks.webhooks_v2.get_notifications(webhook_id, order, page_cursor, page_size, created_start_date, created_end_date, statuses, event_types, resource_id);
  /webhooks/{webhookId}/notifications/{notificationId}/resend:
    post:
      operationId: resendNotificationById
      summary: Resend notification by ID
      description: 'Resend a notification by its ID.


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

        '
      parameters:
      - name: webhookId
        description: The ID of the webhook
        required: true
        in: path
        schema:
          type: string
      - name: notificationId
        description: The ID of the notification
        required: true
        in: path
        schema:
          type: string
      - $ref: '#/components/parameters/X-Idempotency-Key'
      responses:
        '202':
          description: Resend notification request was accepted and is being processed
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Webhooks V2
  /webhooks/{webhookId}/notifications/resend_by_resource:
    post:
      operationId: resendNotificationsByResourceId
      summary: Resend notifications by resource ID
      description: 'Resend notifications by their resource ID.


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

        '
      parameters:
      - $ref: '#/components/parameters/X-Idempotency-Key'
      - name: webhookId
        description: The ID of the webhook
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResendNotificationsByResourceIdRequest'
      responses:
        '202':
          description: Resend notifications by resource request was accepted and is being processed
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Webhooks V2
  /webhooks/{webhookId}/notifications/{notificationId}:
    get:
      operationId: getNotification
      summary: Get notification by ID
      description: 'Get a notification by its notification ID.


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

        '
      parameters:
      - name: includeData
        description: Include the data of the notification
        required: false
        in: query
        schema:
          type: boolean
      - name: webhookId
        description: The ID of the webhook to fetch
        required: true
        in: path
        schema:
          type: string
      - name: notificationId
        description: The ID of the notification to fetch
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationWithData'
      tags:
      - Webhooks V2
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<NotificationWithData>> = fireblocks.webhooksV2.getNotification(webhooksV2ApiGetNotificationRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<NotificationWithData>> response = fireblocks.webhooksV2().getNotification(webhookId, notificationId, includeData);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.webhooks_v2.get_notification(webhook_id, notification_id, include_data);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<NotificationWithData>> = fireblocks.webhooksV2.getNotification(webhooksV2ApiGetNotificationRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<NotificationWithData>> response = fireblocks.webhooksV2().getNotification(webhookId, notificationId, includeData);
      - lang: Python
        source: response = fireblocks.webhooks_v2.get_notification(webhook_id, notification_id, include_data);
  /webhooks/{webhookId}/notifications/{notificationId}/attempts:
    get:
      operationId: getNotificationAttempts
      summary: Get notification attempts
      description: Get notification attempts by notification ID.
      parameters:
      - name: webhookId
        description: The ID of the webhook to fetch
        required: true
        in: path
        schema:
          type: string
      - name: notificationId
        description: The ID of the notification to fetch
        required: true
        in: path
        schema:
          type: string
      - name: pageCursor
        required: false
        in: query
        description: Cursor of the required page
        schema:
          type: string
      - name: pageSize
        required: false
        in: query
        description: Maximum number of items in the page
        schema:
          minimum: 1
          maximum: 100
          default: 10
          example: 10
          type: number
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationAttemptsPaginatedResponse'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Webhooks V2
  /webhooks/{webhookId}/notifications/resend_failed:
    post:
      operationId: resendFailedNotifications
      summary: Resend failed notifications
      description: 'Resend all failed notifications for a webhook in the last 24 hours.


        **Endpoint Permission:** Owner, Admin, Non-Signing Admin, Signer, Editor.

        '
      parameters:
      - $ref: '#/components/parameters/X-Idempotency-Key'
      - name: webhookId
        description: The ID of the webhook
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResendFailedNotificationsRequest'
      responses:
        '200':
          description: No failed notifications to resend
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendFailedNotificationsResponse'
        '202':
          description: Resend failed notifications request was accepted and is being processed
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
            Location:
              $ref: '#/components/headers/Location'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendFailedNotificationsResponse'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Webhooks V2
      x-rate-limit-category: high_compute
  /webhooks/{webhookId}/notifications/resend_failed/jobs/{jobId}:
    get:
      operationId: getResendJobStatus
      summary: Get resend job status
      description: Get the status of a resend job.
      parameters:
      - name: webhookId
        description: The ID of the webhook
        required: true
        in: path
        schema:
          type: string
      - name: jobId
        description: The ID of the resend job
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Job status
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendFailedNotificationsJobStatusResponse'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Webhooks V2
      x-rate-limit-category: read
components:
  schemas:
    Notification:
      type: object
      properties:
        id:
          type: string
          description: The id of the Notification
          example: 44fcead0-7053-4831-a53a-df7fb90d440f
          format: uuid
        createdAt:
          type: string
          description: The creation date of the notification
          example: '2021-07-01T00:00:00.000Z'
          format: date-time
        updatedAt:
          type: string
          description: The date when the notification was updated
          example: '2021-07-01T00:00:00.000Z'
          format: date-time
        status:
          $ref: '#/components/schemas/NotificationStatus'
        eventType:
          $ref: '#/components/schemas/WebhookEvent'
        eventVersion:
          type: number
          description: The event version of the Notification
          example: 1
        resourceId:
          type: string
          nullable: true
          default: null
          description: The resource id of the event which the Notification is listen to
          example: 44fcead0-7053-4831-a53a-df7fb90d440f
          format: uuid
        attempts:
          default: []
          description: The attempts related to Notification
          type: array
          items:
            type: string
      required:
      - id
      - createdAt
      - updatedAt
      - status
      - eventType
      - eventVersion
    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
          type: string
          description: The status of the webhook
          example: ENABLED
        createdAt:
          type: string
          description: The date and time the webhook was created
          example: '2021-09-01T12:00:00Z'
          format: date-time
        updatedAt:
          type: string
          description: The date and time the webhook was last updated
          example: '2021-09-05T15:00:00Z'
          format: date-time
    NotificationPaginatedResponse:
      type: object
      properties:
        data:
          type: array
          description: The data of the current page
          items:
            $ref: '#/components/schemas/Notification'
        next:
          type: string
          description: The ID of the next page
          example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
          nullable: true
      required:
      - data
    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
      - description
      - events
    NotificationStatus:
      type: string
      description: The status of the Notification
      example: COMPLETED
      enum:
      - COMPLETED
      - FAILED
      - IN_PROGRESS
      - ON_HOLD
    ResendFailedNotificationsResponse:
      type: object
      properties:
        total:
          type: number
          description: The total number of failed notifications that are scheduled to be resent.
          example: 10
    NotificationWithData:
      type: object
      properties:
        id:
          type: string
          example: 44fcead0-7053-4831-a53a-df7fb90d440f
          format: uuid
        createdAt:
          type: string
          description: The creation date of the notification
          example: '2021-07-01T00:00:00.000Z'
          format: date-time
        updatedAt:
          type: string
          description: The date when the notification was updated
          example: '2021-07-01T00:00:00.000Z'
          format: date-time
        status:
          $ref: '#/components/schemas/NotificationStatus'
        eventType:
          $ref: '#/components/schemas/WebhookEvent'
        eventVersion:
          type: number
          description: The event version which the Notification is listen to
          example: 1
        resourceId:
          type: string
          nullable: true
          default: null
          description: The resource id of the event which the Notification is listen to
          example: 44fcead0-7053-4831-a53a-df7fb90d440f
          format: uuid
        attempts:
          default: []
          description: The attempts related to Notification
          type: array
          items:
            type: string
        data:
          type: object
          description: notification data
      required:
      - id
      - createdAt
      - updatedAt
      - status
      - eventType
      - eventVersion
      - attempts
    NotificationAttempt:
      type: object
      properties:
        sentTime:
          type: integer
          format: int64
          description: The time when the attempt was sent in milliseconds.
          example: 1625126400000
        duration:
          type: integer
          description: The duration of the attempt in milliseconds.
          example: 130
        responseCode:
          type: integer
          description: The response code of the attempt, when missing refer to failureReason.
          example: 200
        failureReason:
          type: string
          enum:
          - TIMED_OUT
          - NO_RESPONSE
          description: The request failure reason in case responseCode is missing.
          example: TIMED_OUT
      required:
      - sentTime
      - duration
    NotificationAttemptsPaginatedResponse:
      type: object
      properties:
        data:
          type: array
          description: The data of the current page
          items:
            $ref: '#/components/schemas/NotificationAttempt'
        next:
          type: string
          description: The ID of the next Page
          example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
          nullable: true
      required:
      - data
    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
      - vault_account.nft.balance_updated
      - embedded_wallet.created
      - embedded_wallet.account.created
      - embedded_wallet.device.added
      - embedded_wallet.asset.added
      - embedded_wallet.status.updated
      - embedded_wallet.asset.balance_updated
      - onchain_data.updated
      - connection.added
      - connection.removed
      - connection.request.waiting_peer_approval
      - conne

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fireblocks/refs/heads/main/openapi/fireblocks-webhooks-v2-api-openapi.yml