riseup-squad20/susconecta/Documentação API.md

30 KiB

Solicitar reset de senha via email (público)

OpenAPI Specification

openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /request-password-reset:
    post:
      summary: Solicitar reset de senha via email (público)
      deprecated: false
      description: >-
        Envia email de reset de senha para o usuário. **Endpoint público** para
        integração com sistemas externos (não requer autenticação).
      operationId: requestPasswordReset
      tags:
        - Usuários
        - Usuários
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - email
              properties:
                email:
                  type: string
                  format: email
                  description: Email do usuário
                  examples:
                    - usuario@exemplo.com
                redirect_url:
                  type: string
                  format: uri
                  description: URL de redirecionamento após clicar no link (opcional)
                  examples:
                    - https://mediconnectbrasil.netlify.app/reset-password
              x-apidog-orders:
                - email
                - redirect_url
            examples:
              basic:
                value:
                  email: usuario@exemplo.com
                summary: Reset básico
              with_redirect:
                value:
                  email: usuario@exemplo.com
                  redirect_url: https://mediconnectbrasil.netlify.app/reset-password
                summary: Reset com redirect customizado
      responses:
        '200':
          description: Email de reset enviado com sucesso
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    examples:
                      - true
                  message:
                    type: string
                    examples:
                      - >-
                        Email de reset de senha enviado com sucesso. Verifique
                        sua caixa de entrada.
                x-apidog-orders:
                  - success
                  - message
              example:
                success: true
                message: >-
                  Email de reset de senha enviado com sucesso. Verifique sua
                  caixa de entrada.
          headers: {}
          x-apidog-name: OK
        '400':
          description: Email inválido ou dados incorretos
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  status:
                    type: integer
                  detail:
                    type: string
                  extras:
                    type: object
                    x-apidog-orders: []
                x-apidog-orders:
                  - type
                  - title
                  - status
                  - detail
                  - extras
              examples:
                '2':
                  summary: email_invalido
                  value:
                    type: https://docs.mediconnectai.com/errors/validation
                    title: Validation Error
                    status: 400
                    detail: Email inválido
                    extras:
                      field: email
                      issues:
                        - code: invalid_string
                          message: Email inválido
                          path:
                            - email
                '3':
                  summary: url_invalida
                  value:
                    type: https://docs.mediconnectai.com/errors/validation
                    title: Validation Error
                    status: 400
                    detail: URL de redirecionamento inválida
                    extras:
                      field: redirect_url
          headers: {}
          x-apidog-name: Bad Request
        '500':
          description: Erro interno ao enviar email
          content:
            application/json:
              schema:
                type: object
                properties: {}
              example:
                type: https://docs.mediconnectai.com/errors/internal
                title: Internal Server Error
                status: 500
                detail: Erro ao enviar email de reset de senha
          headers: {}
          x-apidog-name: Internal Server Error
      security: []
      x-apidog-folder: Usuários
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/1053378/apis/api-23209845-run
components:
  schemas: {}
  securitySchemes:
    BearerAuth:
      type: jwt
      scheme: bearer
      bearerFormat: JWT
      description: Token JWT obtido após autenticação no Supabase
    ApiKeyAuth:
      type: apikey
      in: header
      name: apikey
      description: >-
        API Key:
        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl1YW5xZnN3aGJlcmtvZXZ0bWZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ5NTQzNjksImV4cCI6MjA3MDUzMDM2OX0.g8Fm4XAvtX46zifBZnYVH4tVuQkqUH6Ia9CXQj4DztQ
    Combination:
      group:
        - id: 411599
        - id: 411600
      type: combination
servers:
  - url: https://yuanqfswhberkoevtmfr.supabase.co
    description: Prod Env
  - url: ''
    description: Cloud Mock
security:
  - BearerAuth: []
    x-apidog:
      schemeGroups:
        - id: RFxC7GDggznAKdsvxFeIw
          schemeIds:
            - BearerAuth
      required: true
      use:
        id: RFxC7GDggznAKdsvxFeIw
      scopes:
        RFxC7GDggznAKdsvxFeIw:
          BearerAuth: []

Criar usuário com role

OpenAPI Specification

openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /functions/v1/create-user:
    post:
      summary: Criar usuário com role
      deprecated: false
      description: Cria usuário completo com profile, role e envio de magic link
      operationId: createUser
      tags:
        - Usuários
        - Edge Functions - Usuários
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - email
                - full_name
                - role
              properties:
                email:
                  type: string
                  format: email
                full_name:
                  type: string
                phone:
                  type: string
                role:
                  type: string
                  enum:
                    - admin
                    - gestor
                    - medico
                    - secretaria
                    - paciente
                create_patient_record:
                  type: boolean
                  description: Se true, cria registro na tabela patients
                cpf:
                  type: string
                  pattern: ^\d{11}$
                  description: Obrigatório se create_patient_record=true
                phone_mobile:
                  type: string
                  description: Obrigatório se create_patient_record=true
              x-apidog-orders:
                - email
                - full_name
                - phone
                - role
                - create_patient_record
                - cpf
                - phone_mobile
            example:
              email: paciente@exemplo.com
              full_name: Maria Santos
              phone: (11) 99999-9999
              role: paciente
              create_patient_record: true
              cpf: '12345678901'
              phone_mobile: (11) 99999-9999
      responses:
        '200':
          description: Usuário criado com sucesso
          content:
            application/json:
              schema:
                type: object
                properties:
                  user:
                    type: object
                    x-apidog-orders: []
                  profile:
                    type: object
                    x-apidog-orders: []
                  role:
                    type: string
                x-apidog-orders:
                  - user
                  - profile
                  - role
          headers: {}
          x-apidog-name: OK
        '400':
          type: object
          properties:
            error:
              type: string
              example: Erro ao processar requisição
            details:
              type: string
              example: Detalhes técnicos do erro
          description: ''
          headers: {}
          x-apidog-name: Bad Request
      security:
        - BearerAuth: []
          x-apidog:
            schemeGroups:
              - id: RFxC7GDggznAKdsvxFeIw
                schemeIds:
                  - BearerAuth
            required: true
            use:
              id: RFxC7GDggznAKdsvxFeIw
            scopes:
              RFxC7GDggznAKdsvxFeIw:
                BearerAuth: []
      x-apidog-folder: Usuários
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/1053378/apis/api-23104945-run
components:
  schemas: {}
  securitySchemes:
    BearerAuth:
      type: jwt
      scheme: bearer
      bearerFormat: JWT
      description: Token JWT obtido após autenticação no Supabase
    ApiKeyAuth:
      type: apikey
      in: header
      name: apikey
      description: >-
        API Key:
        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl1YW5xZnN3aGJlcmtvZXZ0bWZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ5NTQzNjksImV4cCI6MjA3MDUzMDM2OX0.g8Fm4XAvtX46zifBZnYVH4tVuQkqUH6Ia9CXQj4DztQ
    Combination:
      group:
        - id: 411599
        - id: 411600
      type: combination
servers:
  - url: https://yuanqfswhberkoevtmfr.supabase.co
    description: Prod Env
  - url: ''
    description: Cloud Mock
security:
  - BearerAuth: []
    x-apidog:
      schemeGroups:
        - id: RFxC7GDggznAKdsvxFeIw
          schemeIds:
            - BearerAuth
      required: true
      use:
        id: RFxC7GDggznAKdsvxFeIw
      scopes:
        RFxC7GDggznAKdsvxFeIw:
          BearerAuth: []

Informações do usuário autenticado

OpenAPI Specification

openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /functions/v1/user-info:
    post:
      summary: Informações do usuário autenticado
      deprecated: false
      description: Retorna dados completos do usuário, profile e roles
      operationId: getUserInfo
      tags:
        - Usuários
        - Edge Functions - Usuários
      parameters: []
      responses:
        '200':
          description: Informações do usuário
          content:
            application/json:
              schema:
                type: object
                properties:
                  user:
                    type: object
                    x-apidog-orders: []
                    properties: {}
                  profile:
                    type: object
                    x-apidog-orders: []
                    properties: {}
                  roles:
                    type: array
                    items:
                      type: string
                x-apidog-orders:
                  - user
                  - profile
                  - roles
          headers: {}
          x-apidog-name: OK
      security:
        - Combination: []
          x-apidog:
            required: true
            schemeGroups:
              - id: UyOy9vsDiuzuLFRk_IsgI
                schemeIds:
                  - Combination
            use:
              id: UyOy9vsDiuzuLFRk_IsgI
      x-apidog-folder: Usuários
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/1053378/apis/api-23104946-run
components:
  schemas: {}
  securitySchemes:
    BearerAuth:
      type: jwt
      scheme: bearer
      bearerFormat: JWT
      description: Token JWT obtido após autenticação no Supabase
    ApiKeyAuth:
      type: apikey
      in: header
      name: apikey
      description: >-
        API Key:
        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl1YW5xZnN3aGJlcmtvZXZ0bWZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ5NTQzNjksImV4cCI6MjA3MDUzMDM2OX0.g8Fm4XAvtX46zifBZnYVH4tVuQkqUH6Ia9CXQj4DztQ
    Combination:
      group:
        - id: 411599
        - id: 411600
      type: combination
servers:
  - url: https://yuanqfswhberkoevtmfr.supabase.co
    description: Prod Env
  - url: ''
    description: Cloud Mock
security:
  - BearerAuth: []
    x-apidog:
      schemeGroups:
        - id: RFxC7GDggznAKdsvxFeIw
          schemeIds:
            - BearerAuth
      required: true
      use:
        id: RFxC7GDggznAKdsvxFeIw
      scopes:
        RFxC7GDggznAKdsvxFeIw:
          BearerAuth: []

Informações de usuário por ID

OpenAPI Specification

openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /functions/v1/user-info-by-id:
    post:
      summary: Informações de usuário por ID
      deprecated: false
      description: Retorna dados de usuário específico (apenas admin/gestor)
      operationId: getUserInfoById
      tags:
        - Usuários
        - Edge Functions - Usuários
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - user_id
              properties:
                user_id:
                  type: string
                  format: uuid
              x-apidog-orders:
                - user_id
            example:
              user_id: 123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: Informações do usuário
          headers: {}
          x-apidog-name: OK
        '403':
          description: Sem permissão
          headers: {}
          x-apidog-name: Forbidden
      security:
        - BearerAuth: []
          x-apidog:
            schemeGroups:
              - id: RFxC7GDggznAKdsvxFeIw
                schemeIds:
                  - BearerAuth
            required: true
            use:
              id: RFxC7GDggznAKdsvxFeIw
            scopes:
              RFxC7GDggznAKdsvxFeIw:
                BearerAuth: []
      x-apidog-folder: Usuários
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/1053378/apis/api-23104947-run
components:
  schemas: {}
  securitySchemes:
    BearerAuth:
      type: jwt
      scheme: bearer
      bearerFormat: JWT
      description: Token JWT obtido após autenticação no Supabase
    ApiKeyAuth:
      type: apikey
      in: header
      name: apikey
      description: >-
        API Key:
        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl1YW5xZnN3aGJlcmtvZXZ0bWZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ5NTQzNjksImV4cCI6MjA3MDUzMDM2OX0.g8Fm4XAvtX46zifBZnYVH4tVuQkqUH6Ia9CXQj4DztQ
    Combination:
      group:
        - id: 411599
        - id: 411600
      type: combination
servers:
  - url: https://yuanqfswhberkoevtmfr.supabase.co
    description: Prod Env
  - url: ''
    description: Cloud Mock
security:
  - BearerAuth: []
    x-apidog:
      schemeGroups:
        - id: RFxC7GDggznAKdsvxFeIw
          schemeIds:
            - BearerAuth
      required: true
      use:
        id: RFxC7GDggznAKdsvxFeIw
      scopes:
        RFxC7GDggznAKdsvxFeIw:
          BearerAuth: []

Enviar SMS via Twilio

OpenAPI Specification

openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /functions/v1/send-sms:
    post:
      summary: Enviar SMS via Twilio
      deprecated: false
      description: Envia SMS usando Twilio (requer configuração de secrets)
      operationId: sendSMS
      tags:
        - SMS
        - Edge Functions - Comunicação
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - phone_number
                - message
              properties:
                phone_number:
                  type: string
                  examples:
                    - '+5511999999999'
                message:
                  type: string
                  examples:
                    - 'Lembrete: consulta amanhã às 10h'
                patient_id:
                  type: string
                  format: uuid
              x-apidog-orders:
                - phone_number
                - message
                - patient_id
            example:
              phone_number: '+5511999999999'
              message: 'Lembrete: sua consulta é amanhã às 10h na Clínica MediConnect'
              patient_id: 123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: SMS enviado com sucesso
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message_sid:
                    type: string
                x-apidog-orders:
                  - success
                  - message_sid
          headers: {}
          x-apidog-name: OK
        '400':
          type: object
          properties:
            error:
              type: string
              example: Erro ao processar requisição
            details:
              type: string
              example: Detalhes técnicos do erro
          description: ''
          headers: {}
          x-apidog-name: Bad Request
      security:
        - BearerAuth: []
          x-apidog:
            schemeGroups:
              - id: RFxC7GDggznAKdsvxFeIw
                schemeIds:
                  - BearerAuth
            required: true
            use:
              id: RFxC7GDggznAKdsvxFeIw
            scopes:
              RFxC7GDggznAKdsvxFeIw:
                BearerAuth: []
      x-apidog-folder: SMS
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/1053378/apis/api-23104951-run
components:
  schemas: {}
  securitySchemes:
    BearerAuth:
      type: jwt
      scheme: bearer
      bearerFormat: JWT
      description: Token JWT obtido após autenticação no Supabase
    ApiKeyAuth:
      type: apikey
      in: header
      name: apikey
      description: >-
        API Key:
        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl1YW5xZnN3aGJlcmtvZXZ0bWZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ5NTQzNjksImV4cCI6MjA3MDUzMDM2OX0.g8Fm4XAvtX46zifBZnYVH4tVuQkqUH6Ia9CXQj4DztQ
    Combination:
      group:
        - id: 411599
        - id: 411600
      type: combination
servers:
  - url: https://yuanqfswhberkoevtmfr.supabase.co
    description: Prod Env
  - url: ''
    description: Cloud Mock
security:
  - BearerAuth: []
    x-apidog:
      schemeGroups:
        - id: RFxC7GDggznAKdsvxFeIw
          schemeIds:
            - BearerAuth
      required: true
      use:
        id: RFxC7GDggznAKdsvxFeIw
      scopes:
        RFxC7GDggznAKdsvxFeIw:
          BearerAuth: []

Enviar Magic Link

OpenAPI Specification

openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /auth/v1/otp:
    post:
      summary: Enviar Magic Link
      deprecated: false
      description: Envia link de autenticação sem senha por email
      operationId: sendMagicLink
      tags:
        - Autenticação
        - Autenticação
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - email
              properties:
                email:
                  type: string
                  format: email
                  examples:
                    - usuario@clinica.com
              x-apidog-orders:
                - email
            example:
              email: usuario@clinica.com
      responses:
        '200':
          description: Magic link enviado
          headers: {}
          x-apidog-name: OK
        '429':
          description: Limite de envio excedido
          headers: {}
          x-apidog-name: Too Many Requests
      security: []
      x-apidog-folder: Autenticação
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/1053378/apis/api-23104942-run
components:
  schemas: {}
  securitySchemes:
    BearerAuth:
      type: jwt
      scheme: bearer
      bearerFormat: JWT
      description: Token JWT obtido após autenticação no Supabase
    ApiKeyAuth:
      type: apikey
      in: header
      name: apikey
      description: >-
        API Key:
        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl1YW5xZnN3aGJlcmtvZXZ0bWZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ5NTQzNjksImV4cCI6MjA3MDUzMDM2OX0.g8Fm4XAvtX46zifBZnYVH4tVuQkqUH6Ia9CXQj4DztQ
    Combination:
      group:
        - id: 411599
        - id: 411600
      type: combination
servers:
  - url: https://yuanqfswhberkoevtmfr.supabase.co
    description: Prod Env
  - url: ''
    description: Cloud Mock
security:
  - BearerAuth: []
    x-apidog:
      schemeGroups:
        - id: RFxC7GDggznAKdsvxFeIw
          schemeIds:
            - BearerAuth
      required: true
      use:
        id: RFxC7GDggznAKdsvxFeIw
      scopes:
        RFxC7GDggznAKdsvxFeIw:
          BearerAuth: []

Dados do usuário autenticado

OpenAPI Specification

openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /auth/v1/user:
    get:
      summary: Dados do usuário autenticado
      deprecated: false
      description: Retorna informações do usuário logado
      operationId: getCurrentUser
      tags:
        - Autenticação
        - Autenticação
      parameters: []
      responses:
        '200':
          description: Dados do usuário
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  email:
                    type: string
                  created_at:
                    type: string
                    format: date-time
                x-apidog-orders:
                  - id
                  - email
                  - created_at
          headers: {}
          x-apidog-name: OK
      security:
        - Combination: []
          x-apidog:
            required: true
            schemeGroups:
              - id: kKVBLauHGBEJJ6qdxv_5M
                schemeIds:
                  - Combination
            use:
              id: kKVBLauHGBEJJ6qdxv_5M
      x-apidog-folder: Autenticação
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/1053378/apis/api-23104944-run
components:
  schemas: {}
  securitySchemes:
    BearerAuth:
      type: jwt
      scheme: bearer
      bearerFormat: JWT
      description: Token JWT obtido após autenticação no Supabase
    ApiKeyAuth:
      type: apikey
      in: header
      name: apikey
      description: >-
        API Key:
        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl1YW5xZnN3aGJlcmtvZXZ0bWZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ5NTQzNjksImV4cCI6MjA3MDUzMDM2OX0.g8Fm4XAvtX46zifBZnYVH4tVuQkqUH6Ia9CXQj4DztQ
    Combination:
      group:
        - id: 411599
        - id: 411600
      type: combination
servers:
  - url: https://yuanqfswhberkoevtmfr.supabase.co
    description: Prod Env
  - url: ''
    description: Cloud Mock
security:
  - BearerAuth: []
    x-apidog:
      schemeGroups:
        - id: RFxC7GDggznAKdsvxFeIw
          schemeIds:
            - BearerAuth
      required: true
      use:
        id: RFxC7GDggznAKdsvxFeIw
      scopes:
        RFxC7GDggznAKdsvxFeIw:
          BearerAuth: []

Login com email e senha

OpenAPI Specification

openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /auth/v1/token?grant_type=password:
    post:
      summary: Login com email e senha
      deprecated: false
      description: Autentica usuário e retorna JWT
      operationId: loginPassword
      tags:
        - Autenticação
        - Autenticação
      parameters:
        - name: grant_type
          in: query
          description: ''
          required: true
          example: password
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - email
                - password
              properties:
                email:
                  type: string
                  format: email
                  examples:
                    - admin@mediconnect.com
                password:
                  type: string
                  format: password
                  examples:
                    - senha123
              x-apidog-orders:
                - email
                - password
            example:
              email: hugo@popcode.com.br
              password: hdoria
      responses:
        '200':
          description: Login bem-sucedido
          content:
            application/json:
              schema:
                type: object
                properties:
                  access_token:
                    type: string
                  token_type:
                    type: string
                    examples:
                      - bearer
                  expires_in:
                    type: integer
                    examples:
                      - 3600
                  refresh_token:
                    type: string
                  user:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      email:
                        type: string
                    x-apidog-orders:
                      - id
                      - email
                x-apidog-orders:
                  - access_token
                  - token_type
                  - expires_in
                  - refresh_token
                  - user
          headers: {}
          x-apidog-name: OK
        '400':
          description: Credenciais inválidas
          headers: {}
          x-apidog-name: Bad Request
      security: []
      x-apidog-folder: Autenticação
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/1053378/apis/api-23104941-run
components:
  schemas: {}
  securitySchemes:
    BearerAuth:
      type: jwt
      scheme: bearer
      bearerFormat: JWT
      description: Token JWT obtido após autenticação no Supabase
    ApiKeyAuth:
      type: apikey
      in: header
      name: apikey
      description: >-
        API Key:
        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl1YW5xZnN3aGJlcmtvZXZ0bWZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ5NTQzNjksImV4cCI6MjA3MDUzMDM2OX0.g8Fm4XAvtX46zifBZnYVH4tVuQkqUH6Ia9CXQj4DztQ
    Combination:
      group:
        - id: 411599
        - id: 411600
      type: combination
servers:
  - url: https://yuanqfswhberkoevtmfr.supabase.co
    description: Prod Env
  - url: ''
    description: Cloud Mock
security:
  - BearerAuth: []
    x-apidog:
      schemeGroups:
        - id: RFxC7GDggznAKdsvxFeIw
          schemeIds:
            - BearerAuth
      required: true
      use:
        id: RFxC7GDggznAKdsvxFeIw
      scopes:
        RFxC7GDggznAKdsvxFeIw:
          BearerAuth: []

Enviar Magic Link

OpenAPI Specification

openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /auth/v1/otp:
    post:
      summary: Enviar Magic Link
      deprecated: false
      description: Envia link de autenticação sem senha por email
      operationId: sendMagicLink
      tags:
        - Autenticação
        - Autenticação
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - email
              properties:
                email:
                  type: string
                  format: email
                  examples:
                    - usuario@clinica.com
              x-apidog-orders:
                - email
            example:
              email: usuario@clinica.com
      responses:
        '200':
          description: Magic link enviado
          headers: {}
          x-apidog-name: OK
        '429':
          description: Limite de envio excedido
          headers: {}
          x-apidog-name: Too Many Requests
      security: []
      x-apidog-folder: Autenticação
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/1053378/apis/api-23104942-run
components:
  schemas: {}
  securitySchemes:
    BearerAuth:
      type: jwt
      scheme: bearer
      bearerFormat: JWT
      description: Token JWT obtido após autenticação no Supabase
    ApiKeyAuth:
      type: apikey
      in: header
      name: apikey
      description: >-
        API Key:
        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl1YW5xZnN3aGJlcmtvZXZ0bWZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ5NTQzNjksImV4cCI6MjA3MDUzMDM2OX0.g8Fm4XAvtX46zifBZnYVH4tVuQkqUH6Ia9CXQj4DztQ
    Combination:
      group:
        - id: 411599
        - id: 411600
      type: combination
servers:
  - url: https://yuanqfswhberkoevtmfr.supabase.co
    description: Prod Env
  - url: ''
    description: Cloud Mock
security:
  - BearerAuth: []
    x-apidog:
      schemeGroups:
        - id: RFxC7GDggznAKdsvxFeIw
          schemeIds:
            - BearerAuth
      required: true
      use:
        id: RFxC7GDggznAKdsvxFeIw
      scopes:
        RFxC7GDggznAKdsvxFeIw:
          BearerAuth: []