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

# Preview an Executor Request

> Use this endpoint to assemble the outgoing HTTP request an executor node would send, without sending it. The preview applies the same interpolation, input mapping, and authentication assembly used at execution time. It never opens a network connection and never reads the vault. Secret material, including write-only configuration fields and authentication material, is masked with `***`.



## OpenAPI

````yaml en/openapi/v3-current/flowker.yaml post /v1/workflows/preview-request
openapi: 3.1.0
info:
  description: >-
    Complete API reference for Flowker workflow orchestration services including
    catalog management, workflow definitions, executor configurations, provider
    configurations, and workflow executions.
  title: Flowker API
  version: 1.2.0
servers:
  - url: https://flowker.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - name: Catalog API
    description: >-
      Browse built-in providers, executors, and triggers available in the
      Flowker catalog.
  - name: Workflows API
    description: >-
      Create, update, activate, deactivate, clone, and delete workflow
      definitions.
  - name: Executions API
    description: Start workflow executions and track their status and results.
  - name: Executor Configurations API
    description: >-
      List, inspect, update, and delete the executor configuration records a
      deployment holds.
  - name: Provider Configurations API
    description: >-
      Create, update, enable, and disable the provider configurations that
      workflow nodes call through.
  - name: Dashboard API
    description: >-
      Retrieve aggregated summaries of workflows and executions for operational
      dashboards.
  - name: Webhooks API
    description: >-
      Receive webhook callbacks from external systems to trigger workflow
      executions.
  - name: Schedule API
    description: >-
      Inspect a workflow's upcoming, skipped, and parked scheduled occurrences,
      and run or discard the parked ones.
  - name: Schema Registry API
    description: >-
      Publish global OpenAPI specification versions for native services and pin
      the version each tenant resolves against.
  - name: OpenAPI Schemas API
    description: >-
      Upload, inspect, and delete the tenant's external OpenAPI schemas, and
      derive the contract of a single operation.
  - name: XSD Schemas API
    description: >-
      Upload, inspect, and delete the tenant's XSD schemas used to validate XML
      webhook payloads.
paths:
  /v1/workflows/preview-request:
    post:
      tags:
        - Executions API
      summary: Preview an Executor Request
      description: >-
        Use this endpoint to assemble the outgoing HTTP request an executor node
        would send, without sending it. The preview applies the same
        interpolation, input mapping, and authentication assembly used at
        execution time. It never opens a network connection and never reads the
        vault. Secret material, including write-only configuration fields and
        authentication material, is masked with `***`.
      operationId: previewRequest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreviewRequestInput'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreviewRequestResult'
          description: >-
            Indicates that the request was successful and the response contains
            the requested data.
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Indicates that the request failed. The body is an RFC 9457 problem
            document.
components:
  schemas:
    PreviewRequestInput:
      additionalProperties: false
      properties:
        node:
          additionalProperties: {}
          description: >-
            Executor node configuration (executorId, providerConfigId, method,
            path, headers, body, config, inputMapping/transforms) — the same map
            shape persisted on a workflow node's data slot.
          type: object
          example:
            body:
              amount: ${body.amount}
            executorId: http.post-v1-pay
            method: POST
            path: /v1/pay
            providerConfigId: 018f3e2a-1c4d-7b9e-a1b2-c3d4e5f6c4d5
        providerConfig:
          $ref: '#/components/schemas/PreviewProviderConfigInput'
          description: >-
            Provider configuration the node targets, supplied inline so the
            preview is a pure function of its inputs (no DB / vault read).
          example:
            config:
              base_url: https://api.example.com
            providerId: http
        sampleInput:
          additionalProperties: {}
          description: >-
            Arbitrary JSON used as the workflow context to resolve mappings and
            ${node.*}/${body.*} references; unresolved refs stay literal.
            Optional (a preview with no sample context is valid).
          type: object
          example:
            amount: 150
            currency: BRL
      required:
        - node
        - providerConfig
      type: object
    PreviewRequestResult:
      additionalProperties: false
      properties:
        body:
          type: string
          example: '{"amount":150.00,"currency":"BRL"}'
        curl:
          type: string
        headers:
          additionalProperties:
            type: string
          type: object
        method:
          type: string
          example: POST
        unresolved:
          items:
            type: string
          type:
            - array
            - 'null'
        url:
          type: string
          example: https://api.example.com/v1/pay
      required:
        - method
        - url
        - headers
        - body
        - curl
        - unresolved
      type: object
    ErrorResponse:
      properties:
        code:
          description: Stable, machine-readable Flowker error code.
          example: FLK-0001
          type: string
        detail:
          description: >-
            Human-readable explanation of this occurrence. Responses with a
            status of 500 or above carry a fixed generic message.
          example: name is a required field
          type: string
        errors:
          description: Per-field entries for a request that failed validation.
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
        instance:
          description: URI reference identifying this specific occurrence.
          example: /v1/workflows
          format: uri
          type: string
        status:
          description: HTTP status code.
          example: 400
          type: integer
        title:
          description: >-
            Standard HTTP reason phrase for the status. It does not change per
            error code.
          example: Bad Request
          type: string
        type:
          description: >-
            URI reference identifying the error. Always the error catalog base
            followed by the code.
          example: https://errors.lerian.studio/v1/FLK-0001
          format: uri
          type: string
      type: object
    PreviewProviderConfigInput:
      additionalProperties: false
      properties:
        allowedHosts:
          description: >-
            Outbound allow-list of destination hostnames, supplied inline.
            Entries follow the same rules as `allowedHosts` on the provider
            configuration.
          items:
            maxLength: 253
            type: string
          maxItems: 100
          type:
            - array
            - 'null'
        allowedPrivateHosts:
          description: >-
            Named private hosts, supplied inline. Entries follow the same rules
            as `allowedPrivateHosts` on the provider configuration.
          items:
            maxLength: 253
            type: string
          maxItems: 100
          type:
            - array
            - 'null'
        config:
          additionalProperties: {}
          description: >-
            Provider config map (base_url, auth, credentials, etc.). Optional —
            some providers need no config.
          type: object
          example:
            base_url: https://api.example.com
        providerId:
          description: Catalog provider id the node targets (e.g. http, jd-spi, ledger).
          type: string
          example: http
      required:
        - providerId
      type: object
    ErrorDetail:
      properties:
        location:
          description: Where the problem is, such as body.nodes or path.id.
          example: body.nodes
          type: string
        message:
          description: Description of the field-level problem.
          example: expected array length >= 1
          type: string
        value:
          description: The value that caused the error, when it is safe to echo.
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT bearer token issued by the identity provider. Send it in the
        Authorization header as `Bearer <token>`.

````