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

# Obtener el usuario autenticado

> Devuelve el perfil del usuario dueño del token, con sus cuentas, canales y roles asignados. `GET /usuario` (sin segmento adicional) es un alias equivalente.



## OpenAPI

````yaml /api-reference/openapi.json get /usuario/me
openapi: 3.1.0
info:
  title: Fegora API
  version: '1.0'
  description: >-
    API de Fegora para la emisión y consulta de Documentos Tributarios
    Electrónicos (DTE) en Guatemala, El Salvador y República Dominicana.


    El API es uno solo para los tres países: el país de operación lo determina
    la configuración de la cuenta emisora (no la URL ni ningún parámetro de la
    solicitud). Los campos que varían por país — tipos de documento, catálogos
    de impuestos, identificadores fiscales del receptor, datos adicionales — se
    documentan en la descripción de cada campo.


    Autenticación: OAuth2 (`POST /token`, grant types `password` y
    `refresh_token`) → JWT Bearer con vigencia de 24 horas.
servers:
  - url: https://api.fegora.com
security:
  - bearerAuth: []
tags:
  - name: Autenticación
    description: Obtención y renovación de tokens de acceso.
  - name: DTE
    description: Emisión, consulta, anulación y distribución de documentos emitidos.
  - name: DTE Recibidos
    description: Documentos donde la cuenta es el receptor (facturas de proveedores).
  - name: Lotes
    description: Carga masiva de DTEs mediante archivos Excel.
  - name: Cuentas
    description: Administración de cuentas emisoras/receptoras.
  - name: Catálogos
    description: >-
      Catálogos de referencia: productos, plantillas de PDF, localidades y
      contribuyentes.
  - name: Otros
    description: Endpoints de soporte, como el perfil del usuario autenticado.
paths:
  /usuario/me:
    get:
      tags:
        - Otros
      summary: Obtener el usuario autenticado
      description: >-
        Devuelve el perfil del usuario dueño del token, con sus cuentas, canales
        y roles asignados. `GET /usuario` (sin segmento adicional) es un alias
        equivalente.
      operationId: getUsuarioMe
      responses:
        '200':
          description: Usuario encontrado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Usuario'
              examples:
                ok:
                  value:
                    activo: true
                    bloqueado: false
                    canales: []
                    cuentas:
                      - id: '12345678'
                        roles: []
                    direccionCorreoeElctronicoConfirmada: false
                    id: 3f2e1d0c-9b8a-4765-8321-000000000001
                    numeroTelefonoConfirmado: false
                    roles: []
                    seguridadDosFactoresHabilitada: false
                    username: '12345678'
                    usuarioCuentas:
                      - idCuenta: '12345678'
                        tieneRestriccionEstablecimientos: false
                        usuarioCuentaEstablecimientos: []
        '401':
          description: No autenticado. El token es inválido, expiró o no fue enviado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                noAutenticado:
                  summary: Token ausente, inválido o expirado
                  value:
                    codigo: FEG_UNAUTHORIZED
                    mensaje: No está autorizado para acceder a este recurso
                    masInformacion: https://developer.fegora.com
                    severidad: 2
        '404':
          description: Usuario no encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSimple'
              examples:
                noEncontrado:
                  value:
                    error: Usuario no encontrado
components:
  schemas:
    Usuario:
      type: object
      properties:
        id:
          type: string
        username:
          type: string
        email:
          type: string
        emailConfirmado:
          type: boolean
        telefono:
          type: string
        telefonoConfirmado:
          type: boolean
        activo:
          type: boolean
        bloqueado:
          type: boolean
        fechaBloqueo:
          type: string
        seguridadDosFactoresHabilitada:
          type: boolean
        cuentas:
          type: array
          items:
            $ref: '#/components/schemas/UsuarioCuenta'
        canales:
          type: array
          items:
            $ref: '#/components/schemas/UsuarioCanal'
        direccionCorreoeElctronicoConfirmada:
          type: boolean
          description: >-
            Nombre de campo legacy (incluye el error tipográfico original — se
            mantiene por compatibilidad).
        numeroTelefonoConfirmado:
          type: boolean
        roles:
          type: array
          items:
            type: string
        usuarioCuentas:
          type: array
          items:
            $ref: '#/components/schemas/UsuarioCuentaLegacy'
      required:
        - id
        - username
    Error:
      type: object
      description: Formato estándar de error de Fegora. Se usa en toda respuesta 4xx.
      properties:
        codigo:
          type: string
          description: >-
            Código de error interno de Fegora (p. ej. `FEG_VALIDATION_ERROR`,
            `FEG_DTE_CREA_001`). Ver la tabla de códigos de error en la guía de
            introducción.
          examples:
            - FEG_VALIDATION_ERROR
        mensaje:
          type: string
          description: Mensaje descriptivo del error, en español.
        masInformacion:
          type: string
          format: uri
          description: Enlace a documentación adicional sobre el error.
          examples:
            - https://developer.fegora.com
        severidad:
          type: integer
          enum:
            - 0
            - 1
            - 2
            - 3
          description: 0 = Sugerencia, 1 = Advertencia, 2 = Error, 3 = Fatal.
      required:
        - codigo
        - mensaje
    ErrorSimple:
      type: object
      description: >-
        Formato de error simplificado `{ error }` usado por un pequeño número de
        rutas (no es el formato estándar `Error` de Fegora).
      properties:
        error:
          type: string
      required:
        - error
    UsuarioCuenta:
      type: object
      properties:
        id:
          type: string
        nombre:
          type: string
        roles:
          type: array
          items:
            type: string
    UsuarioCanal:
      type: object
      properties:
        id:
          type: integer
        nombre:
          type: string
        roles:
          type: array
          items:
            type: string
    UsuarioCuentaLegacy:
      type: object
      properties:
        idCuenta:
          type: string
        tieneRestriccionEstablecimientos:
          type: boolean
        usuarioCuentaEstablecimientos:
          type: array
          items:
            type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````