> ## 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.

# Previsualizar la solicitud de un executor

> Utiliza este endpoint para ensamblar la solicitud HTTP saliente que enviaría un node executor, sin enviarla. La previsualización aplica la misma interpolación, el mismo mapeo de entradas y el mismo ensamblado de autenticación que se usan en tiempo de ejecución. Nunca abre una conexión de red ni lee el vault. El material secreto, incluidos los campos de configuración de solo escritura y el material de autenticación, se enmascara con `***`.



## OpenAPI

````yaml es/openapi/v3-current/flowker.yaml post /v1/workflows/preview-request
openapi: 3.1.0
info:
  description: >-
    Referencia completa de la API para los servicios de orquestación de
    workflows de Flowker, incluyendo gestión de catálogo, definiciones de
    workflows, configuraciones de executor, configuraciones de provider y
    ejecuciones de workflows.
  title: API de Flowker
  version: 1.2.0
servers:
  - url: https://flowker.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - name: Catalog API
    description: >-
      Explora los providers, executors y triggers integrados disponibles en el
      catálogo de Flowker.
  - name: Workflows API
    description: >-
      Crea, actualiza, activa, desactiva, clona y elimina definiciones de
      workflows.
  - name: Executions API
    description: Inicia ejecuciones de workflows y rastrea su estado y sus resultados.
  - name: Executor Configurations API
    description: >-
      Lista, consulta, actualiza y elimina los registros de configuración de
      executor que mantiene un despliegue.
  - name: Provider Configurations API
    description: >-
      Crea, actualiza, habilita y deshabilita las configuraciones de provider
      por las que llaman los nodes de workflow.
  - name: Dashboard API
    description: >-
      Recupera resúmenes agregados de workflows y ejecuciones para dashboards
      operacionales.
  - name: Webhooks API
    description: >-
      Recibe callbacks de webhooks desde sistemas externos para disparar
      ejecuciones de workflows.
  - name: Schedule API
    description: >-
      Inspecciona las ocurrencias programadas próximas, omitidas y retenidas de
      un workflow, y ejecuta o descarta las retenidas.
  - name: Schema Registry API
    description: >-
      Publica versiones globales de especificación OpenAPI para servicios
      nativos y fija la versión que resuelve cada tenant.
  - name: OpenAPI Schemas API
    description: >-
      Sube, consulta y elimina los esquemas OpenAPI externos del tenant, y
      deriva el contrato de una operación concreta.
  - name: XSD Schemas API
    description: >-
      Sube, consulta y elimina los esquemas XSD del tenant que validan las
      cargas XML de los webhooks.
paths:
  /v1/workflows/preview-request:
    post:
      tags:
        - Executions API
      summary: Previsualizar la solicitud de un executor
      description: >-
        Utiliza este endpoint para ensamblar la solicitud HTTP saliente que
        enviaría un node executor, sin enviarla. La previsualización aplica la
        misma interpolación, el mismo mapeo de entradas y el mismo ensamblado de
        autenticación que se usan en tiempo de ejecución. Nunca abre una
        conexión de red ni lee el vault. El material secreto, incluidos los
        campos de configuración de solo escritura y el material de
        autenticación, se enmascara con `***`.
      operationId: previewRequest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreviewRequestInput'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreviewRequestResult'
          description: >-
            Indica que la solicitud fue exitosa y la respuesta contiene los
            datos solicitados.
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Indica que la solicitud falló. El cuerpo es un documento de problema
            RFC 9457.
components:
  schemas:
    PreviewRequestInput:
      additionalProperties: false
      properties:
        node:
          additionalProperties: {}
          description: >-
            Configuración del node executor (executorId, providerConfigId,
            method, path, headers, body, config, inputMapping/transforms) — la
            misma estructura que se persiste en el campo data de un node del
            workflow.
          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: >-
            Configuración de provider a la que apunta el node, enviada en línea
            para que la vista previa sea una función pura de sus entradas (sin
            lecturas de base de datos ni del vault).
          example:
            config:
              base_url: https://api.example.com
            providerId: http
        sampleInput:
          additionalProperties: {}
          description: >-
            JSON arbitrario que se usa como contexto del workflow para resolver
            los mapeos y las referencias ${node.*}/${body.*}; las referencias
            sin resolver se mantienen literales. Opcional (una vista previa sin
            contexto de ejemplo es válida).
          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: Código de error de Flowker, estable y legible por máquina.
          example: FLK-0001
          type: string
        detail:
          description: >-
            Explicación legible de esta ocurrencia. Las respuestas con estado
            500 o superior llevan un mensaje genérico fijo.
          example: name is a required field
          type: string
        errors:
          description: Entradas por campo para una solicitud que no pasó la validación.
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
        instance:
          description: Referencia URI que identifica esta ocurrencia específica.
          example: /v1/workflows
          format: uri
          type: string
        status:
          description: Código de estado HTTP.
          example: 400
          type: integer
        title:
          description: >-
            Frase de estado HTTP estándar del status. No cambia según el código
            de error.
          example: Bad Request
          type: string
        type:
          description: >-
            Referencia URI que identifica el error. Siempre es la base del
            catálogo de errores seguida del código.
          example: https://errors.lerian.studio/v1/FLK-0001
          format: uri
          type: string
      type: object
    PreviewProviderConfigInput:
      additionalProperties: false
      properties:
        allowedHosts:
          description: >-
            Lista de hosts de destino permitidos, enviada en línea. Las entradas
            siguen las mismas reglas que `allowedHosts` en la configuración de
            provider.
          items:
            maxLength: 253
            type: string
          maxItems: 100
          type:
            - array
            - 'null'
        allowedPrivateHosts:
          description: >-
            Hosts privados con nombre, enviados en línea. Las entradas siguen
            las mismas reglas que `allowedPrivateHosts` en la configuración de
            provider.
          items:
            maxLength: 253
            type: string
          maxItems: 100
          type:
            - array
            - 'null'
        config:
          additionalProperties: {}
          description: >-
            Mapa de configuración de provider (base_url, auth, credentials,
            etc.). Opcional — algunos providers no necesitan configuración.
          type: object
          example:
            base_url: https://api.example.com
        providerId:
          description: >-
            Id de provider del catálogo al que apunta el node (por ejemplo,
            http, jd-spi, ledger).
          type: string
          example: http
      required:
        - providerId
      type: object
    ErrorDetail:
      properties:
        location:
          description: Dónde está el problema, como body.nodes o path.id.
          example: body.nodes
          type: string
        message:
          description: Descripción del problema a nivel de campo.
          example: expected array length >= 1
          type: string
        value:
          description: El valor que causó el error, cuando es seguro incluirlo.
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Token bearer JWT emitido por el provider de identidad. Envíalo en la
        cabecera Authorization como `Bearer <token>`.

````