---
title: "GET /v1/workflows/{id}"
method: GET
path: "/v1/workflows/{id}"
---

# GET /v1/workflows/{id}

`GET /v1/workflows/{id}`

Get a workflow by ID

## Path parameters

- `id` string, required

## Response `200`

OK

- GetWorkflowSuccessResponse
  - `code` integer
  - `data` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityWorkflow
    - `aiDescription` string
    - `aiName` string
    - `cooldownMs` integer
    - `createdAt` string
    - `createdBy` string
    - `definition` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityWorkflowDefinition — Definition is the full workflow graph to execute. Must contain a "root" node with type "manual". All action nodes referenced in children arrays must be present.
      - `inputSchema` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityWorkflowInput[]
        - `description` string
        - `key` string
        - `required` boolean
        - `type` string — "string", "number", "boolean", "object", "array"
      - `nodes` object, required
      - `sensitivePropKeys` string[]
    - `descManuallySet` boolean
    - `description` string
    - `hasDraft` boolean — Response-only fields (not persisted to database) HasDraft indicates a draft exists (for live workflows in API responses)
    - `hasLiveVersion` boolean — HasLiveVersion indicates a live version exists (for drafts in API responses)
    - `id` string
    - `lastTriggeredAt` string
    - `maxRuns` integer
    - `name` string
    - `nameManuallySet` boolean
    - `organizationId` string
    - `propValues` object
    - `publicWidgetConfig` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityPublicWidgetConfig
      - `buttonLabel` string — ButtonLabel is the text displayed on the trigger button
      - `description` string — Description explains what the workflow does
      - `enabled` boolean — Enabled controls whether the public widget is active
      - `maxAmount` string — MaxAmount is the maximum amount allowed per trigger (in smallest unit)
      - `minAmount` string — MinAmount is the minimum amount required to trigger (in smallest unit)
      - `title` string — Title is the display title for the widget
    - `remainRuns` integer
    - `status` 'draft' | 'active' | 'paused' | 'archived'
    - `templateProps` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityTemplateProp[]
      - `default` unknown
      - `description` string
      - `key` string
      - `name` string
      - `properties` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityPropSchema
        - `chainPropKey` string — For tokenSelector: prop key providing chainId
        - `enum` unknown[]
          - unknown
        - `enumLabels` string[]
        - `inputType` string — 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, address, recipientAddress, email
        - `maximum` number
        - `minimum` number
        - `pattern` string
        - `placeholder` string
      - `required` boolean
      - `sensitive` boolean
      - `type` string — "string", "number", "integer", "boolean"
    - `triggerSecret` string
    - `type` 'token-price-cexes' | 'evm-log' | 'cronjob' | 'schedule' | 'webhook' | 'manual' | 'telegram-channel' | 'polymarket-user-bet' | 'polymarket-market-trade' | 'polymarket-new-market' | 'polymarket-market-close' | 'slack-mentions' | 'erc20-receive' | 'erc20-send' | 'anyspend' | 'shopify-order-created' | 'shopify-order-paid' | 'shopify-inventory-level-updated' | 'ramp-new-transaction' | 'ramp-transaction-status-updated' | 'ramp-transfer-payment-updated' | 'slack-new-reaction-added' | 'slack-new-message-in-channels' | 'slack-new-channel-created' | 'slack-new-direct-message' | 'slack-new-keyword-mention' | 'slack-new-user-added' | 'slack-new-user-mention' | 'email-new-email-received' | 'email-new-email-matching-criteria'
    - `uiMetadata` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityWorkflowUIMetadata
      - `comments` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityComment[]
        - `createdAt` string
        - `createdBy` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityStickyNoteUser
          - `clientId` string
          - `name` string
        - `id` string
        - `nodeId` string
        - `position` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityNodePosition
          - `x` number
          - `y` number
        - `replies` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityCommentReply[]
          - `createdAt` string
          - `createdBy` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityStickyNoteUser
            - `clientId` string
            - `name` string
          - `id` string
          - `text` string
          - `updatedAt` string
        - `resolved` boolean
        - `text` string
        - `updatedAt` string
      - `nodePositions` object
      - `stickyNotes` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityStickyNote[]
        - `color` string
        - `createdAt` string
        - `createdBy` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityStickyNoteUser
          - `clientId` string
          - `name` string
        - `id` string
        - `position` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityNodePosition
          - `x` number
          - `y` number
        - `size` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityStickyNoteSize
          - `height` number
          - `width` number
        - `text` string
        - `updatedAt` string
        - `zIndex` integer
    - `updatedAt` string
    - `updatedBy` string
    - `version` integer
    - `x402Config` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityX402Config
      - `chainId` integer — Chain ID where payment should be made (e.g., 8453 for Base)
      - `discoverable` boolean — Discoverable controls whether this workflow is listed in the Bazaar public catalog. Bazaar is a discovery marketplace where users can find and pay for x402-enabled endpoints. When true: Endpoint is publicly listed, anyone can trigger with payment only (no secret needed). When false: Endpoint is private, requires both secret and payment to trigger.
      - `discoveryInput` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityX402DiscoverySchema
        - `example` unknown
        - `schema` object — Schema is a JSON Schema definition for validation
      - `discoveryMetadata` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityX402DiscoveryMetadata
        - `category` string — Category groups workflows (e.g., "data", "automation", "ai")
        - `description` string — Description provides details about what the workflow does
        - `documentation` string — Documentation URL for additional documentation
        - `logo` string — Logo URL for the workflow/provider logo
        - `name` string — Name is the display name for the workflow
        - `provider` string — Provider is the name of the entity providing this workflow
        - `tags` string[] — Tags for searchable keywords
      - `discoveryOutput` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityX402DiscoverySchema
        - `example` unknown
        - `schema` object — Schema is a JSON Schema definition for validation
      - `price` string — Price in the smallest unit of the token (e.g., wei for ETH, 6 decimals for USDC)
      - `recipient` string — Recipient address that will receive the payment
      - `token` string — Token address (e.g., USDC contract address)
  - `message` string
  - `requestId` string

## Other responses

- `404` — Not Found

---

[API](https://skmtc.net/b3-fun/apis/b3os-workflow-api.md) · [All operations](https://skmtc.net/b3-fun/apis/b3os-workflow-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/b3-fun/b3os-workflow-api/versions/5a750a5a9596/schema)
