> ## 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 o esquema de uma operação

> Utilize este endpoint para derivar o contrato de entrada e saída de uma operação específica de um esquema OpenAPI externo. A resposta traz os esquemas do corpo da requisição e da resposta 2xx já resolvidos, os parâmetros de entrada agrupados por localização e o descritor do corpo. Identifique a operação com o parâmetro de consulta `path`, que é o modelo de caminho OpenAPI codificado para URL, e com o parâmetro de consulta `method`, que não diferencia maiúsculas de minúsculas.



## OpenAPI

````yaml pt/openapi/v3-current/flowker.yaml get /v1/openapi-schemas/{id}/operation-schema
openapi: 3.1.0
info:
  description: >-
    Referência completa da API para os serviços de orquestração de workflows do
    Flowker, incluindo gerenciamento de catálogo, definições de workflows,
    configurações de executor, configurações de provider e execuções de
    workflows.
  title: API do Flowker
  version: 1.2.0
servers:
  - url: https://flowker.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - name: Catalog API
    description: >-
      Explore providers, executors e triggers integrados disponíveis no catálogo
      do Flowker.
  - name: Workflows API
    description: Crie, atualize, ative, desative, clone e exclua definições de workflows.
  - name: Executions API
    description: Inicie execuções de workflows e acompanhe seu status e resultados.
  - name: Executor Configurations API
    description: >-
      Liste, consulte, atualize e exclua os registros de configuração de
      executor que uma implantação mantém.
  - name: Provider Configurations API
    description: >-
      Crie, atualize, habilite e desabilite as configurações de provider pelas
      quais os nodes de workflow chamam.
  - name: Dashboard API
    description: >-
      Recupere resumos agregados de workflows e execuções para dashboards
      operacionais.
  - name: Webhooks API
    description: >-
      Receba callbacks de webhooks de sistemas externos para disparar execuções
      de workflows.
  - name: Schedule API
    description: >-
      Inspecione as ocorrências agendadas futuras, ignoradas e retidas de um
      workflow, e execute ou descarte as retidas.
  - name: Schema Registry API
    description: >-
      Publique versões globais de especificação OpenAPI para serviços nativos e
      fixe a versão que cada tenant resolve.
  - name: OpenAPI Schemas API
    description: >-
      Envie, consulte e exclua os esquemas OpenAPI externos do tenant, e derive
      o contrato de uma operação específica.
  - name: XSD Schemas API
    description: >-
      Envie, consulte e exclua os esquemas XSD do tenant que validam as cargas
      XML dos webhooks.
paths:
  /v1/openapi-schemas/{id}/operation-schema:
    get:
      tags:
        - OpenAPI Schemas API
      summary: Derivar o esquema de uma operação
      description: >-
        Utilize este endpoint para derivar o contrato de entrada e saída de uma
        operação específica de um esquema OpenAPI externo. A resposta traz os
        esquemas do corpo da requisição e da resposta 2xx já resolvidos, os
        parâmetros de entrada agrupados por localização e o descritor do corpo.
        Identifique a operação com o parâmetro de consulta `path`, que é o
        modelo de caminho OpenAPI codificado para URL, e com o parâmetro de
        consulta `method`, que não diferencia maiúsculas de minúsculas.
      operationId: deriveOpenAPIOperationSchema
      parameters:
        - description: ID do schema OpenAPI (UUID).
          in: path
          name: id
          required: true
          schema:
            description: ID do schema OpenAPI (UUID).
            type: string
            example: 018f3e2a-1c4d-7b9e-a1b2-c3d4e5f6a7b8
        - description: >-
            Template de path da operação OpenAPI (codificado para URL), por
            exemplo /kyc/{caseId}.
          explode: false
          in: query
          name: path
          schema:
            description: >-
              Template de path da operação OpenAPI (codificado para URL), por
              exemplo /kyc/{caseId}.
            type: string
            example: /kyc/{caseId}
        - description: >-
            Método HTTP (sem distinguir maiúsculas: GET, PUT, POST, DELETE,
            OPTIONS, HEAD, PATCH, TRACE).
          explode: false
          in: query
          name: method
          schema:
            description: >-
              Método HTTP (sem distinguir maiú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 a requisição foi bem-sucedida e a resposta contém os
            dados solicitados.
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Indica que a requisição falhou. O corpo é um 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 do corpo da requisição da operação.
          example:
            properties:
              amount:
                type: number
            type: object
        outputSchema:
          description: JSON Schema desreferenciado do corpo de resposta 2xx da operação.
          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 erro do Flowker, estável e legível por máquina.
          example: FLK-0001
          type: string
        detail:
          description: >-
            Explicação legível desta ocorrência. Respostas com status 500 ou
            superior trazem uma mensagem genérica fixa.
          example: name is a required field
          type: string
        errors:
          description: Entradas por campo para uma requisição que não passou na validação.
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
        instance:
          description: Referência URI que identifica esta ocorrência específica.
          example: /v1/workflows
          format: uri
          type: string
        status:
          description: Código de status HTTP.
          example: 400
          type: integer
        title:
          description: Frase padrão do status HTTP. Ela não muda conforme o código de erro.
          example: Bad Request
          type: string
        type:
          description: >-
            Referência URI que identifica o erro. É sempre a base do catálogo de
            erros seguida do código.
          example: https://errors.lerian.studio/v1/FLK-0001
          format: uri
          type: string
      type: object
    OperationParamOutput:
      additionalProperties: false
      properties:
        in:
          description: Localização do parâmetro (path, query, header ou cookie).
          type: string
          example: path
        name:
          description: Nome do parâmetro.
          type: string
          example: caseId
        required:
          description: Indica se a operação exige o parâmetro.
          type: boolean
          example: true
        schema:
          description: JSON Schema desreferenciado do valor do parâmetro.
          example:
            type: string
      required:
        - name
        - in
        - required
      type: object
    ErrorDetail:
      properties:
        location:
          description: Onde está o problema, como body.nodes ou path.id.
          example: body.nodes
          type: string
        message:
          description: Descrição do problema no campo.
          example: expected array length >= 1
          type: string
        value:
          description: O valor que causou o erro, quando é seguro incluí-lo.
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Token bearer JWT emitido pelo provider de identidade. Envie-o no
        cabeçalho Authorization como `Bearer <token>`.

````