> ## Documentation Index
> Fetch the complete documentation index at: https://docs.timbrix.mx/llms.txt
> Use this file to discover all available pages before exploring further.

# Iniciar sesión con email y contraseña

> Autentica a un usuario contra Supabase Auth y devuelve un access token (JWT) y un refresh token. El access token se usa como Bearer token en el resto de endpoints autenticados por sesión de usuario.



## OpenAPI

````yaml https://api.timbrix.mx/api/openapi.json post /auth/login
openapi: 3.0.0
info:
  title: Timbrix API
  description: >-
    API de facturación electrónica CFDI 4.0 para México, con servidor OAuth2
    para gestionar organizaciones, miembros y webhooks. Compatible con agentes
    de IA — ver la extensión `x-ai-agent-friendly` en la raíz de esta spec.


    REST API with OAuth2 server for managing organizations, members, and
    webhooks.
  version: '1.0'
  contact: {}
servers: []
security: []
tags:
  - name: organizations
    description: Organization management endpoints
  - name: oauth
    description: OAuth2 authentication and authorization
  - name: webhooks
    description: Webhook configuration and delivery
  - name: users
    description: User information endpoints
  - name: api-keys
    description: API Keys management and validation
paths:
  /auth/login:
    post:
      tags:
        - auth
      summary: Iniciar sesión con email y contraseña
      description: >-
        Autentica a un usuario contra Supabase Auth y devuelve un access token
        (JWT) y un refresh token. El access token se usa como Bearer token en el
        resto de endpoints autenticados por sesión de usuario.
      operationId: AuthController_login
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginDto'
      responses:
        '200':
          description: Autenticación exitosa
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponseDto'
        '401':
          description: Credenciales inválidas (email o contraseña incorrectos)
components:
  schemas:
    LoginDto:
      type: object
      properties:
        email:
          type: string
          description: Correo electrónico del usuario
          example: ana@empresa.mx
        password:
          type: string
          description: Contraseña del usuario (mínimo 6 caracteres)
          example: contraseña-segura
          minLength: 6
      required:
        - email
        - password
    LoginResponseDto:
      type: object
      properties:
        access_token:
          type: string
          example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
          description: >-
            Access token JWT — se envía como Bearer token en requests
            posteriores
        refresh_token:
          type: string
          example: v1.MjM0NTY3ODkwMTIzNDU2Nzg5MA...
          description: Refresh token para renovar el access token sin volver a autenticar
        user:
          $ref: '#/components/schemas/LoginUserDto'
      required:
        - access_token
        - user
    LoginUserDto:
      type: object
      properties:
        id:
          type: string
          example: c2e6b1a4-9f2d-4b3a-8e6a-1f2b3c4d5e6f
          description: ID del usuario en Supabase Auth
        email:
          type: string
          description: Correo electrónico del usuario
          example: ana@empresa.mx
      required:
        - id
        - email

````