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

# Derivar el esquema de una operación

> Utiliza este endpoint para derivar el contrato de entrada y salida de una operación concreta de un esquema OpenAPI externo. La respuesta lleva los esquemas del cuerpo de la solicitud y de la respuesta 2xx ya resueltos, los parámetros de entrada agrupados por ubicación y el descriptor del cuerpo. Identifica la operación con el parámetro de consulta `path`, que es la plantilla de ruta OpenAPI codificada para URL, y con el parámetro de consulta `method`, que no distingue mayúsculas de minúsculas.



## OpenAPI

````yaml es/openapi/v3-current/flowker.yaml get /v1/openapi-schemas/{id}/operation-schema
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/openapi-schemas/{id}/operation-schema:
    get:
      tags:
        - OpenAPI Schemas API
      summary: Derivar el esquema de una operación
      description: >-
        Utiliza este endpoint para derivar el contrato de entrada y salida de
        una operación concreta de un esquema OpenAPI externo. La respuesta lleva
        los esquemas del cuerpo de la solicitud y de la respuesta 2xx ya
        resueltos, los parámetros de entrada agrupados por ubicación y el
        descriptor del cuerpo. Identifica la operación con el parámetro de
        consulta `path`, que es la plantilla de ruta OpenAPI codificada para
        URL, y con el parámetro de consulta `method`, que no distingue
        mayúsculas de minúsculas.
      operationId: deriveOpenAPIOperationSchema
      parameters:
        - description: ID del esquema OpenAPI (UUID).
          in: path
          name: id
          required: true
          schema:
            description: ID del esquema OpenAPI (UUID).
            type: string
            example: 018f3e2a-1c4d-7b9e-a1b2-c3d4e5f6a7b8
        - description: >-
            Plantilla de path de la operación OpenAPI (codificada para URL), por
            ejemplo /kyc/{caseId}.
          explode: false
          in: query
          name: path
          schema:
            description: >-
              Plantilla de path de la operación OpenAPI (codificada para URL),
              por ejemplo /kyc/{caseId}.
            type: string
            example: /kyc/{caseId}
        - description: >-
            Método HTTP (sin distinguir mayúsculas: GET, PUT, POST, DELETE,
            OPTIONS, HEAD, PATCH, TRACE).
          explode: false
          in: query
          name: method
          schema:
            description: >-
              Método HTTP (sin distinguir mayúsculas: GET, PUT, POST, DELETE,
              OPTIONS, HEAD, PATCH, TRACE).
            type: string
            example: POST
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationContractOutput'
          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:
    OperationContractOutput:
      additionalProperties: false
      properties:
        bodyContentType:
          type: string
          example: application/json
        bodyRequired:
          type: boolean
          example: true
        found:
          type: boolean
          example: true
        hasBody:
          type: boolean
          example: true
        inputSchema:
          description: >-
            JSON Schema desreferenciado del cuerpo de la solicitud de la
            operación.
          example:
            properties:
              amount:
                type: number
            type: object
        outputSchema:
          description: >-
            JSON Schema desreferenciado del cuerpo de respuesta 2xx de la
            operación.
          example:
            properties:
              id:
                type: string
            type: object
        params:
          items:
            $ref: '#/components/schemas/OperationParamOutput'
          type:
            - array
            - 'null'
      required:
        - found
        - params
        - hasBody
        - bodyRequired
      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
    OperationParamOutput:
      additionalProperties: false
      properties:
        in:
          description: Ubicación del parámetro (path, query, header o cookie).
          type: string
          example: path
        name:
          description: Nombre del parámetro.
          type: string
          example: caseId
        required:
          description: Indica si la operación exige el parámetro.
          type: boolean
          example: true
        schema:
          description: JSON Schema desreferenciado del valor del parámetro.
          example:
            type: string
      required:
        - name
        - in
        - required
      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>`.

````