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

# Criar um Provedor

> Use este endpoint para registrar um novo provedor de comunicação (e-mail ou SMS) para uso em fluxos de autenticação e notificação.



## OpenAPI

````yaml pt/openapi/v3-current/AM-identity.yaml post /v1/providers
openapi: 3.1.0
info:
  title: Plugin de Identidade
  description: ''
  version: 2.4.5
servers:
  - url: https://identity.sandbox.lerian.net
security: []
tags:
  - name: API de Grupos
  - name: API de Aplicações
  - name: API de Usuários
  - name: API de MFA
  - name: API de Provedores
  - name: API de Provedores de Aplicação
paths:
  /v1/providers:
    post:
      tags:
        - API de Provedores
      summary: Criar um Provedor
      description: >-
        Use este endpoint para registrar um novo provedor de comunicação (e-mail
        ou SMS) para uso em fluxos de autenticação e notificação.
      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 o provedor foi criado com sucesso e a operação foi
            concluída conforme 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: Informações necessárias para criar um novo provedor de comunicação.
      type: object
      required:
        - name
        - category
        - type
      properties:
        name:
          type: string
          description: Um nome único para identificar o provedor.
        category:
          type: string
          description: A categoria do provedor.
          enum:
            - Email
            - SMS
        type:
          type: string
          description: O tipo de implementação do provedor.
          enum:
            - SendGrid
            - Twilio
        subType:
          type: string
          description: Subtipo do provedor, se aplicável.
        method:
          type: string
          description: Método de autenticação ou de entrega.
        clientId:
          type: string
          description: ID do cliente ou chave de API para autenticação com o provedor.
        clientSecret:
          type: string
          description: >-
            Segredo do cliente ou segredo de API para autenticação com o
            provedor.
        clientId2:
          type: string
          description: ID de cliente secundário, se aplicável.
        clientSecret2:
          type: string
          description: Segredo de cliente secundário, se aplicável.
        host:
          type: string
          description: Endereço de host SMTP ou da API (provedores de e-mail).
        port:
          type: integer
          description: Porta SMTP (provedores de e-mail).
        disableSsl:
          type: boolean
          description: >-
            Defina como true para desabilitar SSL/TLS (não recomendado para
            produção).
          default: false
        title:
          type: string
          description: Título/assunto padrão do e-mail ou SMS.
        content:
          type: string
          description: Modelo de conteúdo padrão da mensagem.
        receiver:
          type: string
          description: Endereço do destinatário padrão para testes.
        regionId:
          type: string
          description: ID da região da nuvem (específico do provedor).
        signName:
          type: string
          description: Nome de assinatura do SMS (específico do provedor).
        templateCode:
          type: string
          description: Código do modelo de SMS (específico do provedor).
        appId:
          type: string
          description: ID da aplicação (específico do provedor).
        endpoint:
          type: string
          description: URL do endpoint da API do provedor.
        intranetEndpoint:
          type: string
          description: Endpoint de intranet para acesso por rede privada.
        domain:
          type: string
          description: Domínio do provedor.
    ProviderResponse:
      description: Informações sobre um provedor de comunicação.
      type: object
      properties:
        id:
          type: string
          description: Identificador único do provedor.
        name:
          type: string
          description: Nome do provedor.
        category:
          type: string
          description: Categoria do provedor.
          enum:
            - Email
            - SMS
        type:
          type: string
          description: Tipo de implementação do provedor.
          enum:
            - SendGrid
            - Twilio
        subType:
          type: string
          description: Subtipo do provedor, se aplicável.
        method:
          type: string
          description: Método de autenticação ou de entrega.
        clientId:
          type: string
          description: ID do cliente ou chave de API (o segredo nunca é retornado).
        clientId2:
          type: string
          description: ID de cliente secundário, se aplicável.
        host:
          type: string
          description: Endereço de host SMTP ou da API.
        port:
          type: integer
          description: Porta SMTP.
        disableSsl:
          type: boolean
          description: Indica se SSL/TLS está desabilitado.
        title:
          type: string
          description: Título/assunto padrão do e-mail ou SMS.
        content:
          type: string
          description: Modelo de conteúdo padrão da mensagem.
        receiver:
          type: string
          description: Endereço do destinatário padrão para testes.
        regionId:
          type: string
          description: ID da região da nuvem (específico do provedor).
        signName:
          type: string
          description: Nome de assinatura do SMS (específico do provedor).
        templateCode:
          type: string
          description: Código do modelo de SMS (específico do provedor).
        appId:
          type: string
          description: ID da aplicação (específico do provedor).
        endpoint:
          type: string
          description: URL do endpoint da API do provedor.
        intranetEndpoint:
          type: string
          description: Endpoint de intranet para acesso por rede privada.
        domain:
          type: string
          description: Domínio do provedor.
        providerUrl:
          type: string
          description: URL específica do provedor.
        createdAt:
          type: string
          format: date-time
          description: Registro de data e hora de quando o provedor foi criado.
    ErrorMessage:
      description: A mensagem de erro da resposta.
      type: object
      properties:
        code:
          type: string
          description: Um identificador único e estável para o erro.
        title:
          type: string
          description: Um breve resumo do problema.
        message:
          type: string
          description: Orientação detalhada para resolver o erro.
  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: O token de autorização no formato 'Bearer <token>'.

````