> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tetherai.ca/llms.txt
> Use this file to discover all available pages before exploring further.

# List every registered workflow node definition

> Returns the catalog of all node definitions registered in the workflow engine — trigger, action, condition, and transform nodes. Each entry carries the node `type`, `category`, human-readable `label`/`description`/`icon`, a JSON Schema for the node's `data` (config) shape, the declared `outputShape` keys (for chaining), and an optional `sampleInput`. Powers the visual builder's node picker and per-node config form.



## OpenAPI

````yaml /api-reference/openapi.yaml get /api/workflows/node-catalog
openapi: 3.0.3
info:
  title: Tether Relay and Tether API
  version: 1.0.0
  description: >-
    Route-derived OpenAPI contract generated from tether-relay backend sources.
    Regenerate with scripts/sync-openapi-from-backend.mjs.
servers:
  - url: https://your-instance.example.com
    description: Production
  - url: http://localhost:2212
    description: Local API service
security: []
tags:
  - name: AI
  - name: Applications
  - name: Approval
  - name: Auth
  - name: Automations
  - name: Calls
  - name: Campaigns
  - name: Contact Analytics
  - name: Contact Metrics
  - name: Contact Notes
  - name: Contacts
  - name: Conversation Monitor
  - name: Conversations
  - name: Departments
  - name: Email
  - name: Escalation Dashboard
  - name: Event Logs
  - name: Google Sheets
  - name: Marketplace
  - name: Messages
  - name: Notification Sounds
  - name: Notifications
  - name: Org Snapshots
  - name: Organizations
  - name: Outreach
  - name: Outreach Metrics
  - name: Outreach Sources
  - name: Pipelines
  - name: Processes
  - name: Prompts
  - name: Reminders
  - name: Sms
  - name: Templates
  - name: Traces
  - name: Training
  - name: Upload
  - name: User Snapshots
  - name: Users
  - name: Vertical
  - name: Webchats
  - name: Webhook
paths:
  /api/workflows/node-catalog:
    get:
      tags:
        - Workflows
      summary: List every registered workflow node definition
      description: >-
        Returns the catalog of all node definitions registered in the workflow
        engine — trigger, action, condition, and transform nodes. Each entry
        carries the node `type`, `category`, human-readable
        `label`/`description`/`icon`, a JSON Schema for the node's `data`
        (config) shape, the declared `outputShape` keys (for chaining), and an
        optional `sampleInput`. Powers the visual builder's node picker and
        per-node config form.
      operationId: get_workflows_node_catalog
      responses:
        '200':
          description: Node catalog returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowNodeCatalogResponse'
        '500':
          description: Failed to serialize the catalog
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowsErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    WorkflowNodeCatalogResponse:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - true
        data:
          type: array
          items:
            $ref: '#/components/schemas/WorkflowNodeDefinitionSummary'
        count:
          type: integer
      required:
        - success
        - data
        - count
      additionalProperties: true
      example:
        success: true
        count: 2
        data:
          - type: WebhookTrigger
            category: trigger
            label: Webhook
            description: Triggers when /api/webhook/workflow receives a matching webhookId.
            icon: webhook
            configJsonSchema:
              type: object
              properties:
                webhookId:
                  type: string
            outputShape:
              webhookId: string
              payload: object
          - type: SendMessage
            category: action
            label: Send Message
            description: Sends an SMS or email via the org messaging provider.
            icon: message-square
            configJsonSchema:
              type: object
              properties:
                template:
                  type: string
            outputShape:
              messageId: string
    WorkflowsErrorResponse:
      type: object
      description: Standard error envelope for Workflows endpoints.
      properties:
        success:
          type: boolean
          enum:
            - false
        message:
          type: string
      required:
        - success
      additionalProperties: true
      example:
        success: false
        message: Workflow not found
    WorkflowNodeDefinitionSummary:
      type: object
      description: >-
        Serialized form of a workflow `NodeDefinition`. `configJsonSchema` is a
        JSON Schema converted from the node's Zod `configSchema`; `outputShape`
        keys are the fields downstream nodes can reference; `sampleInput` is an
        optional example payload trigger nodes can be tested against.
      properties:
        type:
          type: string
        category:
          type: string
          description: 'Node category: `trigger`, `action`, `condition`, `transform`, etc.'
        label:
          type: string
        description:
          type: string
        icon:
          type: string
        configJsonSchema:
          description: >-
            JSON Schema for the node `data`. `null` when the Zod schema could
            not be serialized.
          nullable: true
        outputShape:
          type: object
          additionalProperties:
            type: string
          description: >-
            Keys = field names exposed to downstream nodes; values = declared
            type.
        sampleInput:
          type: object
          additionalProperties: true
      required:
        - type
        - category
        - label
        - description
        - icon
      additionalProperties: true
      example:
        type: WebhookTrigger
        category: trigger
        label: Webhook
        description: >-
          Triggers the workflow when a request hits /api/webhook/workflow with
          the configured webhookId.
        icon: webhook
        configJsonSchema:
          type: object
          properties:
            webhookId:
              type: string
          required:
            - webhookId
        outputShape:
          webhookId: string
          payload: object
        sampleInput:
          webhookId: wh_64d2f9c5e8a1d4e001a0b1c3
          payload:
            lead:
              name: Alex Nguyen
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````