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

# Crear una configuración de provider

> Utiliza este endpoint para crear una nueva configuración de provider. La configuración se valida contra el JSON Schema del provider.



## OpenAPI

````yaml es/openapi/v3-current/flowker.yaml post /v1/provider-configurations
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/provider-configurations:
    post:
      tags:
        - Provider Configurations API
      summary: Crear una configuración de provider
      description: >-
        Utiliza este endpoint para crear una nueva configuración de provider. La
        configuración se valida contra el JSON Schema del provider.
      operationId: createProviderConfiguration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProviderConfigurationInput'
        description: >-
          Cuerpo de la solicitud que contiene los detalles de la configuración
          de provider.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderConfigurationCreateOutput'
          description: >-
            Indica que el recurso fue creado exitosamente y la operación se
            completó según lo esperado.
        '400':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Indica que la solicitud estaba mal formada o contenía parámetros no
            válidos.
        '404':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Indica que no se pudo encontrar el recurso solicitado.
        '409':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Indica que la solicitud no pudo completarse debido a un conflicto
            con el estado actual del recurso.
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Indica que la solicitud estaba bien formada pero contiene errores
            semánticos que impiden el procesamiento.
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Indica un error interno inesperado. Si persiste, contacta al
            soporte.
components:
  schemas:
    CreateProviderConfigurationInput:
      properties:
        allowedHosts:
          description: >-
            Lista de hosts de destino permitidos para las llamadas salientes. Se
            aplica a todos los nodes que llaman a través de esta configuración.
            Omite el campo, o envía una lista vacía, para aceptar cualquier host
            público. El conector HTTP genérico, con el id de provider `http`, es
            la excepción — rechaza una lista vacía con el error `FLK-0323`. Un
            punto inicial coincide con los subdominios, así que
            ".kyc-provider.io" coincide con "api.kyc-provider.io". Las entradas
            son solo nombres de host, sin literal de IP, sin comodín y sin
            puerto. Flowker pasa cada entrada a minúsculas. Flowker comprueba
            contra esta lista los valores `base_url`, `onboarding_base_url` y
            `transaction_base_url` de `config`, y en tiempo de ejecución
            comprueba la URL de la solicitud y cada salto de redirección.
          items:
            maxLength: 253
            type: string
          maxItems: 100
          type:
            - array
            - 'null'
          example:
            - api.acme.com
            - .kyc-provider.io
        allowedPrivateHosts:
          description: >-
            Conjunto de hosts privados permitidos, gestionado por tu equipo de
            operaciones. Una entrada permite que esta configuración llame a un
            host que resuelve a una dirección privada o de loopback, que Flowker
            bloquea por defecto. Las direcciones de metadatos de nube y
            link-local siguen bloqueadas, y ninguna entrada las alcanza. Las
            entradas siguen el mismo formato que allowedHosts.
          items:
            maxLength: 253
            type: string
          maxItems: 100
          type:
            - array
            - 'null'
          example:
            - nginx.pix-inline.internal
        config:
          additionalProperties:
            type: object
          description: >-
            Configuración específica del provider que se valida contra el JSON
            Schema del provider.
          example:
            baseUrl: https://api.clearsale.com.br
            apiKey: cs-key-abc123
            environment: production
          type: object
        kind:
          description: >-
            Qué tipo de conexión es esta. Omítelo, o envía "catalog", para una
            conexión a un provider del catálogo — entonces `providerId` es
            obligatorio. Envía "external_openapi" para una conexión a un
            documento OpenAPI que subiste mediante el registro de esquemas
            OpenAPI; `providerId` es opcional para ese kind, y su `config`
            contiene `openapi_schema_id` más un bloque `auth` y un `base_url`
            opcionales. Eliges el kind al crear la configuración.
          enum:
            - catalog
            - external_openapi
          example: external_openapi
          type: string
        description:
          description: Descripción legible por humanos de esta configuración de provider.
          example: ClearSale anti-fraud for Pix transactions
          maxLength: 500
          type: string
        metadata:
          additionalProperties:
            type: object
          description: Pares clave-valor personalizados para etiquetado.
          example:
            environment: production
            team: risk
          type: object
        name:
          description: Nombre único para esta configuración de provider.
          example: ClearSale Production
          maxLength: 100
          minLength: 1
          type: string
        providerId:
          description: >-
            ID del provider del catálogo a configurar. Es obligatorio para el
            kind `catalog`, y Flowker rechaza con el error `FLK-0297` una
            creación que lo omite. Una configuración de kind `external_openapi`
            puede omitirlo, y una lectura de esa configuración devuelve el id
            reservado `external.openapi`.
          example: clearsale
          type: string
        schemaBindings:
          description: >-
            Esquemas almacenados a los que se vincula esta configuración. Cada
            entrada nombra un esquema XSD u OpenAPI ya registrado en tu tenant.
            Omite el campo, o envía una lista vacía, para no tener vínculos. Dos
            entradas idénticas en la misma solicitud se rechazan.
          items:
            $ref: '#/components/schemas/SchemaBindingInput'
          maxItems: 100
          type:
            - array
            - 'null'
      required:
        - config
        - name
      type: object
    ProviderConfigurationCreateOutput:
      properties:
        createdAt:
          description: Marca de tiempo de cuando se creó la configuración.
          example: '2026-03-17T14:00:00Z'
          format: date-time
          type: string
        id:
          description: Identificador único de la configuración creada.
          example: c3d4e5f6-a7b8-9012-cdef-345678901234
          format: uuid
          type: string
        name:
          description: Nombre de la configuración.
          example: ClearSale Production
          type: string
        status:
          description: Estado inicial (siempre `active` al crear).
          example: active
          type: string
      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
    SchemaBindingInput:
      description: Un vínculo entre una configuración de provider y un esquema almacenado.
      properties:
        operations:
          description: >-
            Restringe un vínculo OpenAPI a las operaciones indicadas. Omítelo, o
            envía null, para vincular el documento completo. Solo un vínculo de
            tipo "openapi" acepta operaciones.
          items:
            $ref: '#/components/schemas/SchemaBindingOperationInput'
          maxItems: 100
          type:
            - array
            - 'null'
        schemaId:
          description: Identificador del esquema almacenado, en formato UUID.
          example: 018f3e2a-1c4d-7b9e-a1b2-c3d4e5f6a7b8
          type: string
        type:
          description: Registro de esquemas al que apunta el vínculo.
          enum:
            - xsd
            - openapi
          example: openapi
          type: string
      required:
        - schemaId
        - type
      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
    SchemaBindingOperationInput:
      description: Una operación de un documento OpenAPI vinculado.
      properties:
        method:
          description: >-
            Método HTTP de la operación. Uno de GET, PUT, POST, DELETE, OPTIONS,
            HEAD, PATCH o TRACE. Flowker pasa el valor a mayúsculas.
          example: POST
          maxLength: 10
          type: string
        path:
          description: Ruta de la operación. Debe empezar con una barra.
          example: /payments
          maxLength: 2048
          type: string
      required:
        - method
        - path
      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>`.

````