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

# Vincular un proveedor a una aplicación

> Utiliza este endpoint para vincular un proveedor existente a una aplicación y configurar sus permisos de inicio de sesión y registro.



## OpenAPI

````yaml es/openapi/v3-current/AM-identity.yaml post /v1/applications/{id}/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/applications/{id}/providers:
    post:
      tags:
        - API de proveedores de aplicación
      summary: Vincular un proveedor a una aplicación
      description: >-
        Utiliza este endpoint para vincular un proveedor existente a una
        aplicación y configurar sus permisos de inicio de sesión y registro.
      parameters:
        - $ref: '#/components/parameters/ApplicationId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderItemInput'
            example:
              providerId: 019c96a0-1a10-7abc-d1e2-8c9d0e1f2a3b
              canSignIn: true
              canSignUp: true
              canUnlink: false
              prompted: false
      responses:
        '201':
          description: Indica que el proveedor se vinculó correctamente a la aplicación.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderItemResponse'
              example:
                providerId: 019c96a0-1a10-7abc-d1e2-8c9d0e1f2a3b
                category: Email
                type: SendGrid
                canSignIn: true
                canSignUp: true
                canUnlink: false
                prompted: false
          headers: {}
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              examples:
                Error0001:
                  $ref: '#/components/examples/Error0001'
                Error0004:
                  $ref: '#/components/examples/Error0004'
                Error0007:
                  $ref: '#/components/examples/Error0007'
          headers: {}
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              examples:
                Error1001:
                  $ref: '#/components/examples/Error1001'
                Error1007:
                  $ref: '#/components/examples/Error1007'
          headers: {}
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              examples:
                Error1011:
                  $ref: '#/components/examples/Error1011'
          headers: {}
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              examples:
                Error0006:
                  $ref: '#/components/examples/Error0006'
          headers: {}
      security:
        - bearer: []
components:
  parameters:
    ApplicationId:
      name: id
      in: path
      description: Identificador único de la aplicación que deseas consultar.
      required: true
      example: 019c96a0-0c0c-7221-8cf3-13313fb60081
      schema:
        type: string
  schemas:
    ProviderItemInput:
      description: Información necesaria para vincular un proveedor a una aplicación.
      type: object
      required:
        - providerId
      properties:
        providerId:
          type: string
          description: Identificador único del proveedor que se desea vincular.
        canSignIn:
          type: boolean
          description: Si los usuarios pueden iniciar sesión utilizando este proveedor.
          default: false
        canSignUp:
          type: boolean
          description: Si los nuevos usuarios pueden registrarse utilizando este proveedor.
          default: false
        canUnlink:
          type: boolean
          description: Si los usuarios pueden desvincular este proveedor de su cuenta.
          default: false
        prompted:
          type: boolean
          description: >-
            Si se solicita a los usuarios vincular este proveedor al iniciar
            sesión.
          default: false
        alertType:
          type: string
          description: Configuración del tipo de alerta para este vínculo de proveedor.
        rule:
          type: string
          description: Regla personalizada aplicada a este vínculo de proveedor.
    ProviderItemResponse:
      description: Información sobre un proveedor vinculado a una aplicación.
      type: object
      properties:
        providerId:
          type: string
          description: Identificador único del proveedor vinculado.
        category:
          type: string
          description: Categoría del proveedor.
          enum:
            - Email
            - SMS
        type:
          type: string
          description: Tipo de implementación del proveedor.
          enum:
            - SendGrid
            - Twilio
        canSignIn:
          type: boolean
          description: Si los usuarios pueden iniciar sesión utilizando este proveedor.
        canSignUp:
          type: boolean
          description: Si los nuevos usuarios pueden registrarse utilizando este proveedor.
        canUnlink:
          type: boolean
          description: Si los usuarios pueden desvincular este proveedor de su cuenta.
        prompted:
          type: boolean
          description: >-
            Si se solicita a los usuarios vincular este proveedor al iniciar
            sesión.
        alertType:
          type: string
          description: Configuración del tipo de alerta para este vínculo de proveedor.
        rule:
          type: string
          description: Regla personalizada aplicada a este vínculo de 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.
    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.
    Error1001:
      summary: Application ID Not Found
      value:
        code: IDE-1001
        title: Application ID Not Found
        message: The provided application ID does not exist in our records.
    Error1007:
      summary: Provider Not Found
      value:
        code: IDE-1007
        title: Provider Not Found
        message: The provided provider ID does not exist in our records.
    Error1011:
      summary: Provider Already Linked
      value:
        code: IDE-1011
        title: Provider Already Linked
        message: The provider is already linked to this application.
    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>'.

````