> ## 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 un proveedor

> Utiliza este endpoint para registrar un nuevo proveedor de comunicación (correo electrónico o SMS) para usar en los flujos de autenticación y notificación.



## OpenAPI

````yaml es/openapi/v3-current/AM-identity.yaml post /v1/providers
openapi: 3.1.0
info:
  title: Plugin de identidad
  description: ''
  version: 2.4.5
servers:
  - url: https://identity.sandbox.lerian.net
security: []
tags:
  - name: API de grupos
  - name: API de aplicaciones
  - name: API de usuarios
  - name: API de MFA
  - name: API de proveedores
  - name: API de proveedores de aplicación
paths:
  /v1/providers:
    post:
      tags:
        - API de proveedores
      summary: Crear un proveedor
      description: >-
        Utiliza este endpoint para registrar un nuevo proveedor de comunicación
        (correo electrónico o SMS) para usar en los flujos de autenticación y
        notificación.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderInput'
            example:
              name: sendgrid-primary
              category: Email
              type: SendGrid
              clientId: SG.your_api_key_here
              clientSecret: your_secret
              host: smtp.sendgrid.net
              port: 587
              disableSsl: false
      responses:
        '201':
          description: >-
            Indica que el proveedor se creó correctamente y que la operación se
            completó según lo esperado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderResponse'
              example:
                id: 019c96a0-1a10-7abc-d1e2-8c9d0e1f2a3b
                name: sendgrid-primary
                category: Email
                type: SendGrid
                host: smtp.sendgrid.net
                port: 587
                disableSsl: false
                createdAt: '2025-04-08T08:01:30.000Z'
          headers: {}
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              examples:
                Error0001:
                  $ref: '#/components/examples/Error0001'
                Error0002:
                  $ref: '#/components/examples/Error0002'
                Error0004:
                  $ref: '#/components/examples/Error0004'
                Error0007:
                  $ref: '#/components/examples/Error0007'
                Error1009:
                  $ref: '#/components/examples/Error1009'
                Error1010:
                  $ref: '#/components/examples/Error1010'
          headers: {}
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              examples:
                Error1008:
                  $ref: '#/components/examples/Error1008'
          headers: {}
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              examples:
                Error0006:
                  $ref: '#/components/examples/Error0006'
          headers: {}
      security:
        - bearer: []
components:
  schemas:
    ProviderInput:
      description: Información necesaria para crear un nuevo proveedor de comunicación.
      type: object
      required:
        - name
        - category
        - type
      properties:
        name:
          type: string
          description: Nombre único para identificar al proveedor.
        category:
          type: string
          description: Categoría del proveedor.
          enum:
            - Email
            - SMS
        type:
          type: string
          description: Tipo de implementación del proveedor.
          enum:
            - SendGrid
            - Twilio
        subType:
          type: string
          description: Subtipo del proveedor, si corresponde.
        method:
          type: string
          description: Método de autenticación o entrega.
        clientId:
          type: string
          description: >-
            Identificador de cliente o clave API para autenticarse con el
            proveedor.
        clientSecret:
          type: string
          description: >-
            Secreto de cliente o secreto de API para autenticarse con el
            proveedor.
        clientId2:
          type: string
          description: Identificador de cliente secundario, si corresponde.
        clientSecret2:
          type: string
          description: Secreto de cliente secundario, si corresponde.
        host:
          type: string
          description: >-
            Dirección del host SMTP o de la API (proveedores de correo
            electrónico).
        port:
          type: integer
          description: Puerto SMTP (proveedores de correo electrónico).
        disableSsl:
          type: boolean
          description: >-
            Establece en true para deshabilitar SSL/TLS (no recomendado en
            producción).
          default: false
        title:
          type: string
          description: Título o asunto predeterminado del correo electrónico o SMS.
        content:
          type: string
          description: Plantilla de contenido de mensaje predeterminada.
        receiver:
          type: string
          description: Dirección del receptor predeterminada para pruebas.
        regionId:
          type: string
          description: ID de región en la nube (específico del proveedor).
        signName:
          type: string
          description: Nombre de firma SMS (específico del proveedor).
        templateCode:
          type: string
          description: Código de plantilla SMS (específico del proveedor).
        appId:
          type: string
          description: Identificador de la aplicación (específico del proveedor).
        endpoint:
          type: string
          description: URL del endpoint de la API del proveedor.
        intranetEndpoint:
          type: string
          description: Endpoint de intranet para el acceso a la red privada.
        domain:
          type: string
          description: Dominio del proveedor.
    ProviderResponse:
      description: Información sobre un proveedor de comunicación.
      type: object
      properties:
        id:
          type: string
          description: Identificador único del proveedor.
        name:
          type: string
          description: Nombre del proveedor.
        category:
          type: string
          description: Categoría del proveedor.
          enum:
            - Email
            - SMS
        type:
          type: string
          description: Tipo de implementación del proveedor.
          enum:
            - SendGrid
            - Twilio
        subType:
          type: string
          description: Subtipo del proveedor, si corresponde.
        method:
          type: string
          description: Método de autenticación o entrega.
        clientId:
          type: string
          description: Identificador de cliente o clave API (el secreto nunca se devuelve).
        clientId2:
          type: string
          description: Identificador de cliente secundario, si corresponde.
        host:
          type: string
          description: Dirección del host SMTP o de la API.
        port:
          type: integer
          description: Puerto SMTP.
        disableSsl:
          type: boolean
          description: Indica si SSL/TLS está deshabilitado.
        title:
          type: string
          description: Título o asunto predeterminado del correo electrónico o SMS.
        content:
          type: string
          description: Plantilla de contenido de mensaje predeterminada.
        receiver:
          type: string
          description: Dirección del receptor predeterminada para pruebas.
        regionId:
          type: string
          description: ID de región en la nube (específico del proveedor).
        signName:
          type: string
          description: Nombre de firma SMS (específico del proveedor).
        templateCode:
          type: string
          description: Código de plantilla SMS (específico del proveedor).
        appId:
          type: string
          description: Identificador de la aplicación (específico del proveedor).
        endpoint:
          type: string
          description: URL del endpoint de la API del proveedor.
        intranetEndpoint:
          type: string
          description: Endpoint de intranet para el acceso a la red privada.
        domain:
          type: string
          description: Dominio del proveedor.
        providerUrl:
          type: string
          description: URL específica del proveedor.
        createdAt:
          type: string
          format: date-time
          description: Marca de tiempo que indica cuándo se creó el proveedor.
    ErrorMessage:
      description: Mensaje de error devuelto en la respuesta.
      type: object
      properties:
        code:
          type: string
          description: Identificador único y estable del error.
        title:
          type: string
          description: Resumen breve del problema.
        message:
          type: string
          description: Orientación detallada para resolver el error.
  examples:
    Error0001:
      summary: Missing Fields in Request
      value:
        code: IDE-0001
        title: Missing Fields in Request
        message: Your request is missing one or more required fields.
    Error0002:
      summary: Invalid Field Type in Request
      value:
        code: IDE-0002
        title: Invalid Field Type in Request
        message: The provided field type in the request is invalid.
    Error0004:
      summary: Unexpected Fields in the Request
      value:
        code: IDE-0004
        title: Unexpected Fields in the Request
        message: >-
          The request body contains more fields than expected. Please send only
          the allowed fields.
    Error0007:
      summary: Bad Request
      value:
        code: IDE-0007
        title: Bad Request
        message: The server could not understand the request due to malformed syntax.
    Error1009:
      summary: Invalid Provider Type
      value:
        code: IDE-1009
        title: Invalid Provider Type
        message: >-
          The provided provider type is invalid. Accepted values are SendGrid
          and Twilio.
    Error1010:
      summary: Invalid Provider Category
      value:
        code: IDE-1010
        title: Invalid Provider Category
        message: >-
          The provided provider category is invalid. Accepted values are Email
          and SMS.
    Error1008:
      summary: Provider Already Exists
      value:
        code: IDE-1008
        title: Provider Already Exists
        message: >-
          A provider with the same name already exists. Please use a different
          name and try again.
    Error0006:
      summary: Internal Server Error
      value:
        code: IDE-0006
        title: Internal Server Error
        message: The server encountered an unexpected error. Please try again later.
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: El token de autorización en formato 'Bearer <token>'.

````