B3

B3 Outbound Webhook API

The Outbound Webhook API from B3 — 4 operation(s) for outbound webhook.

OpenAPI Specification

b3-outbound-webhook-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  description: Workflow management API for B3OS
  title: B3OS Workflow Action Outbound Webhook API
  version: '1.0'
tags:
- name: Outbound Webhook
paths:
  /v1/outbound-webhook/deliveries:
    get:
      description: List outbound webhook deliveries with optional workflow filter and pagination
      parameters:
      - description: Filter by workflow ID
        in: query
        name: workflowId
        schema:
          type: string
      - description: Max results per page (1-100)
        in: query
        name: limit
        schema:
          default: 20
          type: integer
      - description: Pagination offset
        in: query
        name: offset
        schema:
          default: 0
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOutboundWebhookDeliveriesSuccessResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
          description: Forbidden
      summary: List outbound webhook deliveries
      tags:
      - Outbound Webhook
  /v1/outbound-webhook/deliveries/{id}:
    get:
      description: Get a single outbound webhook delivery by ID
      parameters:
      - description: Delivery ID
        in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOutboundWebhookDeliverySuccessResponse'
          description: OK
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
          description: Not Found
      summary: Get outbound webhook delivery
      tags:
      - Outbound Webhook
  /v1/outbound-webhook/deliveries/{id}/replay:
    post:
      description: Replay a webhook delivery by creating a new delivery based on the original. Unlike retry (which re-attempts a failed delivery), replay creates a NEW delivery record and can be used on any status.
      parameters:
      - description: Original Delivery ID to replay
        in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReplayOutboundWebhookDeliverySuccessResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
          description: Not Found
      summary: Replay outbound webhook delivery
      tags:
      - Outbound Webhook
  /v1/outbound-webhook/deliveries/{id}/retry:
    post:
      description: Manually retry a failed outbound webhook delivery
      parameters:
      - description: Delivery ID
        in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetryOutboundWebhookDeliverySuccessResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
          description: Not Found
      summary: Retry outbound webhook delivery
      tags:
      - Outbound Webhook
components:
  schemas:
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.OutboundWebhookDeliveryStatus:
      enum:
      - pending
      - success
      - failure
      - retrying
      type: string
      x-enum-varnames:
      - OutboundWebhookStatusPending
      - OutboundWebhookStatusSuccess
      - OutboundWebhookStatusFailure
      - OutboundWebhookStatusRetrying
    ListOutboundWebhookDeliveriesSuccessResponse:
      properties:
        code:
          example: 200
          type: integer
        data:
          $ref: '#/components/schemas/PaginatedData-github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity_OutboundWebhookDelivery'
        message:
          example: Success
          type: string
        requestId:
          example: req_abc123
          type: string
      type: object
    PaginatedData-github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity_OutboundWebhookDelivery:
      properties:
        hasMore:
          type: boolean
        items:
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.OutboundWebhookDelivery'
          type: array
          uniqueItems: false
        limit:
          type: integer
        offset:
          type: integer
      type: object
    ReplayOutboundWebhookDeliverySuccessResponse:
      properties:
        code:
          example: 200
          type: integer
        data:
          $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.OutboundWebhookDelivery'
        message:
          example: Success
          type: string
        requestId:
          example: req_abc123
          type: string
      type: object
    RetryOutboundWebhookDeliverySuccessResponse:
      properties:
        code:
          example: 200
          type: integer
        data:
          $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.OutboundWebhookDelivery'
        message:
          example: Success
          type: string
        requestId:
          example: req_abc123
          type: string
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.OutboundWebhookDelivery:
      properties:
        createdAt:
          type: string
        durationMs:
          type: integer
        errorMessage:
          type: string
        id:
          type: string
        maxRetries:
          type: integer
        method:
          type: string
        nextRetryAt:
          type: string
        nodeId:
          type: string
        organizationId:
          type: string
        requestBody:
          additionalProperties: {}
          type: object
        requestHeaders:
          additionalProperties: {}
          type: object
        responseBody:
          type: string
        responseHeaders:
          additionalProperties: {}
          type: object
        responseStatus:
          type: integer
        retryCount:
          type: integer
        runId:
          type: string
        status:
          $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.OutboundWebhookDeliveryStatus'
        updatedAt:
          type: string
        url:
          type: string
        workflowId:
          type: string
      type: object
    GetOutboundWebhookDeliverySuccessResponse:
      properties:
        code:
          example: 200
          type: integer
        data:
          $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.OutboundWebhookDelivery'
        message:
          example: Success
          type: string
        requestId:
          example: req_abc123
          type: string
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse:
      properties:
        code:
          type: integer
        details:
          items: {}
          type: array
          uniqueItems: false
        message:
          type: string
        requestId:
          type: string
      type: object