B3

B3 Execution Webhooks API

The Execution Webhooks API from B3 — 9 operation(s) for execution webhooks.

Operations 10

GET /v1/execution-webhooks Get execution webhooks #
POST /v1/execution-webhooks Create execution webhooks #
GET /v1/execution-webhooks/deliveries Get execution webhooks deliveries #
GET /v1/execution-webhooks/deliveries/{id} Get execution webhooks deliveries by id #
POST /v1/execution-webhooks/deliveries/{id}/replay Create execution webhooks deliveries by id replay #
POST /v1/execution-webhooks/deliveries/{id}/retry Create execution webhooks deliveries by id retry #
GET /v1/execution-webhooks/{id} Get execution webhooks by id #
POST /v1/execution-webhooks/{id}/disable Create execution webhooks by id disable #
POST /v1/execution-webhooks/{id}/enable Create execution webhooks by id enable #
POST /v1/execution-webhooks/{id}/regenerate-secret Create execution webhooks by id regenerate secret #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/b3-execution-webhooks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

b3-execution-webhooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Workflow management API for B3OS
  title: B3OS Workflow Execution Webhooks API
  version: '1.0'
tags:
- name: Execution Webhooks
paths:
  /v1/execution-webhooks:
    get:
      description: List execution webhook endpoints for the current organization
      parameters:
      - description: Number of items (default 20, max 100)
        in: query
        name: limit
        schema:
          type: integer
      - description: Offset for pagination (default 0)
        in: query
        name: offset
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListExecutionWebhooksSuccessResponse'
          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
      tags:
      - Execution Webhooks
      summary: Get execution webhooks
      x-summary-source: derived
      operationId: getV1ExecutionWebhooks
      x-operation-id-source: derived
    post:
      description: Create an org-level execution webhook endpoint
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - type: object
              - $ref: '#/components/schemas/CreateExecutionWebhookParams'
                summary: request
                description: Execution webhook details
        description: Execution webhook details
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateExecutionWebhookSuccessResponse'
          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
      tags:
      - Execution Webhooks
      summary: Create execution webhooks
      x-summary-source: derived
      operationId: postV1ExecutionWebhooks
      x-operation-id-source: derived
  /v1/execution-webhooks/deliveries:
    get:
      description: List execution webhook deliveries for the current organization
      parameters:
      - description: Number of items (default 20, max 100)
        in: query
        name: limit
        schema:
          type: integer
      - description: Offset for pagination (default 0)
        in: query
        name: offset
        schema:
          type: integer
      - description: Filter by webhook endpoint ID
        in: query
        name: endpointId
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListExecutionWebhookDeliveriesSuccessResponse'
          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
      tags:
      - Execution Webhooks
      summary: Get execution webhooks deliveries
      x-summary-source: derived
      operationId: getV1ExecutionWebhooksDeliveries
      x-operation-id-source: derived
  /v1/execution-webhooks/deliveries/{id}:
    get:
      description: Get a single execution webhook delivery
      parameters:
      - description: Webhook delivery ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.SuccessResponse'
          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
      tags:
      - Execution Webhooks
      summary: Get execution webhooks deliveries by id
      x-summary-source: derived
      operationId: getV1ExecutionWebhooksDeliveriesById
      x-operation-id-source: derived
  /v1/execution-webhooks/deliveries/{id}/replay:
    post:
      description: Replay an execution webhook delivery by creating a new delivery record based on the original
      parameters:
      - description: Webhook delivery ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReplayExecutionWebhookDeliverySuccessResponse'
          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
      tags:
      - Execution Webhooks
      summary: Create execution webhooks deliveries by id replay
      x-summary-source: derived
      operationId: postV1ExecutionWebhooksDeliveriesByIdReplay
      x-operation-id-source: derived
  /v1/execution-webhooks/deliveries/{id}/retry:
    post:
      description: Retry a failed execution webhook delivery by requeueing the same delivery record
      parameters:
      - description: Webhook delivery ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetryExecutionWebhookDeliverySuccessResponse'
          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
      tags:
      - Execution Webhooks
      summary: Create execution webhooks deliveries by id retry
      x-summary-source: derived
      operationId: postV1ExecutionWebhooksDeliveriesByIdRetry
      x-operation-id-source: derived
  /v1/execution-webhooks/{id}:
    get:
      description: Get a single execution webhook endpoint
      parameters:
      - description: Webhook endpoint ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.SuccessResponse'
          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
      tags:
      - Execution Webhooks
      summary: Get execution webhooks by id
      x-summary-source: derived
      operationId: getV1ExecutionWebhooksById
      x-operation-id-source: derived
  /v1/execution-webhooks/{id}/disable:
    post:
      description: Disable an execution webhook endpoint
      parameters:
      - description: Webhook endpoint ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.SuccessResponse'
          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
      tags:
      - Execution Webhooks
      summary: Create execution webhooks by id disable
      x-summary-source: derived
      operationId: postV1ExecutionWebhooksByIdDisable
      x-operation-id-source: derived
  /v1/execution-webhooks/{id}/enable:
    post:
      description: Enable an execution webhook endpoint
      parameters:
      - description: Webhook endpoint ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.SuccessResponse'
          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
      tags:
      - Execution Webhooks
      summary: Create execution webhooks by id enable
      x-summary-source: derived
      operationId: postV1ExecutionWebhooksByIdEnable
      x-operation-id-source: derived
  /v1/execution-webhooks/{id}/regenerate-secret:
    post:
      description: Regenerate the signing secret for an execution webhook endpoint
      parameters:
      - description: Webhook endpoint ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.SuccessResponse'
          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
      tags:
      - Execution Webhooks
      summary: Create execution webhooks by id regenerate secret
      x-summary-source: derived
      operationId: postV1ExecutionWebhooksByIdRegenerateSecret
      x-operation-id-source: derived
components:
  schemas:
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.SuccessResponse:
      allOf:
      - $ref: '#/components/schemas/data'
      properties:
        code:
          type: integer
        data: {}
        message:
          type: string
        requestId:
          type: string
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TemplateVisibility:
      enum:
      - org
      - public
      - org
      - public
      type: string
      x-enum-comments:
        TemplateVisibilityOrg: Only visible to organization members
        TemplateVisibilityPublic: Visible to everyone
      x-enum-varnames:
      - TemplateVisibilityOrg
      - TemplateVisibilityPublic
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowUIMetadata:
      properties:
        comments:
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.Comment'
          type: array
          uniqueItems: false
        nodePositions:
          additionalProperties:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.NodePosition'
          type: object
        stickyNotes:
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.StickyNote'
          type: array
          uniqueItems: false
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.StickyNoteSize:
      properties:
        height:
          type: number
        width:
          type: number
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.Template:
      properties:
        archived:
          type: boolean
        category:
          description: 'Deprecated: Use Tags instead'
          type: string
        cooldownMs:
          type: integer
        createdAt:
          type: string
        createdBy:
          type: string
        definition:
          $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowDefinition'
        description:
          type: string
        forkCount:
          type: integer
        generatedAppId:
          description: 'Generated-app attachment (nil when the template ships no app). On

            adoption the referenced app is CLONED into the adopting org''s new

            workflow. GeneratedAppVersionID optionally pins a specific version

            whose manifest is used as the clone source.'
          type: string
        generatedAppVersionId:
          type: string
        id:
          type: string
        isPromoted:
          type: boolean
        maxRuns:
          type: integer
        moderationStatus:
          $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TemplateModerationStatus'
        name:
          type: string
        organizationDescription:
          type: string
        organizationId:
          description: Fields for user-generated templates (nil for built-in templates)
          type: string
        organizationName:
          type: string
        organizationPhoto:
          type: string
        promotedAt:
          type: string
        promotedBy:
          type: string
        promotedOrder:
          type: integer
        rejectionReason:
          type: string
        reviewedAt:
          type: string
        reviewedBy:
          type: string
        slug:
          type: string
        sourceWorkflowId:
          description: Source workflow link (nil for built-in or legacy templates)
          type: string
        submittedAt:
          type: string
        tableSchemas:
          additionalProperties:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TableSchema'
          type: object
        tags:
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.Tag'
          type: array
          uniqueItems: false
        templateProps:
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TemplateProp'
          type: array
          uniqueItems: false
        uiMetadata:
          $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowUIMetadata'
        updatedAt:
          type: string
        updatedBy:
          type: string
        version:
          type: integer
        visibility:
          $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TemplateVisibility'
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.BlockExpansionMeta:
      properties:
        blockId:
          type: string
        blockVersion:
          type: integer
        entryNodeIds:
          description: Subset of ExpandedIDs that are entry points
          items:
            type: string
          type: array
          uniqueItems: false
        expandedIds:
          description: All namespaced node IDs produced by expansion
          items:
            type: string
          type: array
          uniqueItems: false
        outputSchema:
          description: Block's output schema for reference
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.BlockOutput'
          type: array
          uniqueItems: false
      type: object
    ListExecutionWebhooksSuccessResponse:
      properties:
        code:
          example: 200
          type: integer
        data:
          $ref: '#/components/schemas/PaginatedData-github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity_ExecutionWebhookEndpoint'
        message:
          example: success
          type: string
        requestId:
          example: req_123
          type: string
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.StickyNoteUser:
      properties:
        clientId:
          type: string
        name:
          type: string
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ExecutionWebhookDelivery:
      properties:
        createdAt:
          type: string
        durationMs:
          type: integer
        endpointId:
          type: string
        errorMessage:
          type: string
        eventType:
          type: string
        executionId:
          type: string
        id:
          type: string
        maxRetries:
          type: integer
        nextRetryAt:
          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.ExecutionWebhookDeliveryStatus'
        updatedAt:
          type: string
        workflowId:
          type: string
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TableSchema:
      properties:
        columns:
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ColumnSchema'
          type: array
          uniqueItems: false
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.VariableType:
      enum:
      - number
      - text
      - boolean
      - list
      - object
      type: string
      x-enum-varnames:
      - VariableTypeNumber
      - VariableTypeText
      - VariableTypeBoolean
      - VariableTypeList
      - VariableTypeObject
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.Comment:
      properties:
        createdAt:
          type: string
        createdBy:
          $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.StickyNoteUser'
        id:
          type: string
        nodeId:
          type: string
        position:
          $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.NodePosition'
        replies:
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CommentReply'
          type: array
          uniqueItems: false
        resolved:
          type: boolean
        text:
          type: string
        updatedAt:
          type: string
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ConnectorReference:
      description: nil if action doesn't need connector
      properties:
        chainId:
          type: integer
        id:
          type: string
        type:
          type: string
        walletAddress:
          description: 'WalletAddress is the wallet''s on-chain address, only meaningful for

            type:"wallet" refs. Not used by ConnectorResolver (which resolves the

            address from the wallet DB record); exists for frontend round-trip fidelity.'
          type: string
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.Tag:
      properties:
        categories:
          description: e.g., ["blockchain", "finance"]
          items:
            type: string
          type: array
          uniqueItems: false
        count:
          description: 'Scope-dependent: template, action, trigger, or connector count'
          type: integer
        createdAt:
          type: string
        description:
          type: string
        id:
          type: string
        imageUrl:
          type: string
        name:
          type: string
        promotedTemplateCount:
          type: integer
        publicTemplateCount:
          type: integer
        slug:
          type: string
        updatedAt:
          type: string
        weight:
          description: Higher weight = more prominent
          type: integer
      type: object
    PaginatedData-github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity_ExecutionWebhookEndpoint:
      properties:
        hasMore:
          type: boolean
        items:
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ExecutionWebhookEndpoint'
          type: array
          uniqueItems: false
        limit:
          type: integer
        offset:
          type: integer
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowDefinition:
      description: 'Definition is the inline workflow graph to analyze. Same shape as a

        saved workflow''s definition. Unlike the ephemeral-run endpoint there

        is no trigger restriction — analysis is read-only and method-agnostic.'
      properties:
        blockExpansions:
          additionalProperties:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.BlockExpansionMeta'
          description: Set on run snapshots only (not workflow DB)
          type: object
        inputSchema:
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowInput'
          type: array
          uniqueItems: false
        nodes:
          additionalProperties:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowNode'
          type: object
        sensitivePropKeys:
          description: 'Legacy: kept for old runs; no longer populated for new workflows'
          items:
            type: string
          type: array
          uniqueItems: false
        triggerNodeIds:
          description: 'TriggerNodeIDs lists the node IDs that are trigger (root) nodes. Every

            workflow declares this — single-trigger workflows ship ["root"] (the

            legacy node id), multi-trigger workflows list every trigger node id.

            Treating single-trigger as a forest-of-1 removes the two-path branching

            throughout the BE + FE; older rows without the field are backfilled by

            migration 000282 and the field-missing path stays as a read-side safety

            net (see FindTriggerNodeIDs) but is no longer exercised by saves.


            "root" is also a runtime alias for "the trigger that fired this run" —

            {{root.X}} variable references resolve to the firing trigger regardless

            of which trigger fired. Don''t repurpose the literal "root" as a trigger

            id on a multi-trigger workflow.'
          items:
            type: string
          type: array
          uniqueItems: false
        variableDefs:
          description: 'VariableDefs is a snapshot of the workflow''s declared variables at run

            creation time. The canonical source lives on the workflows row

            (Workflow.VariableDefs column). Snapshotted into the run definition

            so the worker can resolve {{$vars.x}} lookups and route variable-action

            writes to the right scope without an extra DB round trip.'
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.VariableDef'
          type: array
          uniqueItems: false
      required:
      - nodes
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropSchema:
      properties:
        accountType:
          description: 'AccountType filters the wallet picker by account type on

            inputType="walletConnector" fields (e.g. "polymarket_deposit_wallet").'
          type: string
        allowWalletPicker:
          description: 'AllowWalletPicker controls the org-wallet picker on inputType="address"

            fields. When false, the frontend hides the inline "Wallets" badge and

            the org-wallet autocomplete popover. Use for third-party address fields

            (e.g. a deployer filter) where suggesting org wallets is misleading.

            Pointer so explicit false survives JSON round-trip (default true on FE).'
          type: boolean
        allowedChannels:
          description: 'AllowedChannels constrains the notification-channel picker

            (inputType: "notification-channel") to a subset of channels. Used by

            templates whose downstream nodes only work with one channel type

            (e.g. ["slack"] for a Slack-only approval flow). Frontend ignores

            unknown keys; a length-1 list auto-selects in the picker.'
          items:
            type: string
          type: array
          uniqueItems: false
        autoFillFromWallet:
          description: 'AutoFillFromWallet, when true, auto-fills this prop with the selected

            workflow wallet address and hides it from the form. Pointer so an

            explicit false survives the JSON round-trip (same rationale as

            AllowWalletPicker).'
          type: boolean
        bindsConnectorNodes:
          description: 'BindsConnectorNodes lists workflow node IDs whose wallet-type connector

            should be prefilled from this prop''s picked wallet (inputType:

            "walletConnector"). The connector stays a plain, editable connector —

            this is a prefill, not a permanent bind.'
          items:
            type: string
          type: array
          uniqueItems: false
        chainId:
          description: 'For tokenAmount: hardcoded chain ID'
          type: integer
        chainPropKey:
          description: 'For tokenSelector/tokenAmount: prop key providing chainId'
          type: string
        columns:
          description: 'Columns describes a csvTable prop (inputType: "csvTable"). The stored

            value is an object-of-columnar-arrays: {colKey: []value}. Payload

            templates reference each column via {{$props.<propKey>.<colKey>}}.'
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropColumn'
          type: array
          uniqueItems: false
        dex:
          description: 'For hyperliquidAsset: hardcoded DEX name (fallback when no dexPropKey)'
          type: string
        dexPropKey:
          description: 'For hyperliquidAsset: prop key providing HIP-3 DEX name'
          type: string
        enum:
          items: {}
          type: array
          uniqueItems: false
        enumLabels:
          items:
            type: string
          type: array
          uniqueItems: false
        excludeNative:
          description: 'For tokenSelector/multiTokenSelector: hide native tokens (field only accepts ERC-20 contract addresses)'
          type: boolean
        groupKey:
          description: Groups related props for unified UI rendering
          type: string
        inputType:
          description: 'InputType is a UI rendering hint. The frontend uses it to pick a rich

            selector component instead of a plain text input. Unknown values are

            silently ignored (falls back to default input).

            Valid values: chainSelector, tokenSelector, multiTokenSelector, tokenAmount,

            coinSelector, multiCoinSelector, address, contractAddress, recipientAddress,

            email, telegram-chat, slack-channel, pushover-recipient, pushbullet-device,

            webpush-subscription, textarea, password, polymarketUser, twitterUsername,

            storkAsset, hyperliquidAsset, morphoVault, morphoMarket, csvTable,

            notification-channel, googleSheetUrl, rrule, walletConnector'
          type: string
        maxRows:
          description: 'csvTable: maximum allowed rows (0 = no cap)'
          type: integer
        maximum:
          type: number
        minRows:
          description: 'csvTable: minimum required rows (0 = default 1)'
          type: integer
        minimum:
          type: number
        pattern:
          type: string
        placeholder:
          type: string
        showWalletBalances:
          description: 'For tokenSelector: show wallet balances (useful for "sell" tokens)'
          type: boolean
        sources:
          description: 'Sources lists the workflow node fields this prop was created from.

            Each entry identifies a node + field path so the frontend can

            reliably match props back to their source fields on reload.

            Multiple entries indicate the prop was merged from fields with

            identical values across different nodes.'
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropSource'
          type: array
          uniqueItems: false
        summary:
          $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropSchemaSummary'
        tokenAddress:
          description: 'For tokenAmount: hardcoded token address'
          type: string
        tokenAddressPropKey:
          description: 'For tokenAmount: prop key providing tokenAddress'
          type: string
        visibleWhen:
          $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropVisibleWhen'
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TemplateModerationStatus:
      description: 'Moderation fields (B3-4168). Only meaningful for public templates;

        org templates are always approved.'
      enum:
      - pending
      - approved
      - rejected
      type: string
      x-enum-varnames:
      - TemplateModerationStatusPending
      - TemplateModerationStatusApproved
      - TemplateModerationStatusRejected
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropVisibleWhen:
      description: 'VisibleWhen controls conditional visibility: show this prop only when

        the referenced prop has the specified value.'
      properties:
        propKey:
          type: string
        value: {}
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropSchemaSummary:
      description: 'Summary drives the csvTable footer summary. Nil means no summary is

        rendered. See PropSchemaSummary for details.'
      properties:
        aggregates:
          description: Aggregates declared in display order, left-to-right.
          items:
            $ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropSchemaSummaryAggregate'
          type: array
          uniqueItems: false
        position:
          description: 'Position in the grid. "footer" (default) renders inline under the

            table. "none" suppresses even when aggregates are declared — use to

            disable inherited summaries. Other values reserved.'
          type: string
      type: object
    github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.BlockNodeContext:
      description: 'BlockContext is set on nodes that were expanded from a block.

        It traces the node back to its source block and carries the inputMapping

        needed to resolve {{$inputs.key}} references at execution time.'
      properties:
        blockId:
          description: Block entity ID
          type: string
        blockNodeId:
          description: Original block node ID in the workflow
          type: string
        blockVersion:
          description: Pin

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