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

# Obtener cuentas de un usuario

> Devuelve las cuentas (empresas conectadas a tu empresa) a las que el usuario tiene acceso, ordenadas alfabéticamente por `businessName`.

Si el usuario tiene un rol que permite ver todas las empresas, recibe todas las cuentas de tu empresa, y cada elemento incluye además `activatedAt`, `enrolledPath`, `enrolledBy` y `users`. En otro caso, recibe solo las cuentas que tiene asignadas él y las de sus subordinados, y esos cuatro campos no vienen en la respuesta. Usa este endpoint con usuarios de tu empresa.

Las cuentas eliminadas en meses anteriores al mes en curso no se incluyen. Si el usuario no tiene cuentas, la respuesta es una lista vacía.



## OpenAPI

````yaml openapi/clients.yaml GET /wallet/user/{email}
openapi: 3.1.0
info:
  title: API de clientes de Pruff
  version: '1'
  description: >-
    Endpoints que tus sistemas llaman para leer y operar los datos de tu empresa
    en Pruff. Todas las solicitudes van por HTTPS y se autentican con el header
    `x-api-key`. Las convenciones de formato, paginación y errores se describen
    en https://docs.pruff.com/api/introduccion.
servers:
  - url: https://api.pruff.com/api/clients
security:
  - ApiKeyAuth: []
tags:
  - name: Facturas
    description: Consulta de facturas electrónicas, facturas transables y cesiones.
  - name: Documentos
    description: Consulta y creación de documentos asociados a tus clientes.
  - name: Archivos
    description: Carga de archivos a operaciones y a los requerimientos de tus documentos.
  - name: Financiamiento
    description: >-
      Simula créditos, crea solicitudes de factoring y consulta las prórrogas de
      tu empresa.
  - name: Comité
    description: >-
      Consulta las aprobaciones de una solicitud en los comités de riesgo y de
      operaciones, y registra nuevas firmas.
  - name: Chat
    description: Exporta y envía mensajes del chat de una solicitud.
  - name: Reportes
    description: >-
      Reportes de operaciones, cartera, recaudaciones, cuentas pendientes y
      flujos de tu empresa.
  - name: Datahub
    description: >-
      Consulta de la información tributaria, financiera y de riesgo que Pruff
      tiene de tus clientes y deudores.
  - name: Mercado Público
    description: >-
      Licitaciones y órdenes de compra de Mercado Público (ChileCompra) cargadas
      en Pruff.
  - name: CRM
    description: >-
      Datos comerciales de tu CRM en Pruff: empresas con su ficha, pipeline,
      prospectos, gestiones y simulaciones.
  - name: SGR
    description: Operaciones SGR (garantías) de tu empresa.
  - name: Sincronizador
    description: >-
      Pide sincronizar a un cliente con el SII o la TGR para obtener su
      información más actualizada, y consulta el estado de esas
      sincronizaciones.
  - name: Usuarios
    description: >-
      Administra los usuarios de tu empresa en Pruff (crear, editar, eliminar,
      consultar su perfil y asignar subordinados) y consulta las cuentas
      (empresas conectadas) a las que cada usuario tiene acceso.
  - name: Contactos
    description: Crea contactos asociados a las empresas de tu cartera.
paths:
  /wallet/user/{email}:
    get:
      tags:
        - Usuarios
      summary: Obtener cuentas de un usuario
      description: >-
        Devuelve las cuentas (empresas conectadas a tu empresa) a las que el
        usuario tiene acceso, ordenadas alfabéticamente por `businessName`.


        Si el usuario tiene un rol que permite ver todas las empresas, recibe
        todas las cuentas de tu empresa, y cada elemento incluye además
        `activatedAt`, `enrolledPath`, `enrolledBy` y `users`. En otro caso,
        recibe solo las cuentas que tiene asignadas él y las de sus
        subordinados, y esos cuatro campos no vienen en la respuesta. Usa este
        endpoint con usuarios de tu empresa.


        Las cuentas eliminadas en meses anteriores al mes en curso no se
        incluyen. Si el usuario no tiene cuentas, la respuesta es una lista
        vacía.
      operationId: getUserWallet
      parameters:
        - name: email
          in: path
          required: true
          description: >-
            Email del usuario. Si el email contiene el carácter `+`, envíalo
            codificado como `%2B`.
          schema:
            type: string
            format: email
          example: ana.perez@example.com
      responses:
        '200':
          description: Lista de cuentas del usuario.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WalletAccount'
              example:
                - businessName: Cliente Ejemplo SpA
                  id: 76111111-6
                  identifier: 76111111-6
                  country: CL
                  active: true
                  activatedAt: '2025-03-04T15:10:42.318Z'
                  pausedAt: null
                  deactivatedAt: null
                  createdAt: '2025-03-04T15:10:41.905Z'
                  enrolledPath: public
                  enrolledBy: Ana Pérez
                  users: Ana Pérez
                  lastExtraction: '2025-03-04T15:14:09.552Z'
                  status: Conectado
                - businessName: Comercial Ejemplo Ltda
                  id: 77222222-K
                  identifier: 77222222-K
                  country: CL
                  active: false
                  activatedAt: '2025-02-11T12:45:30.207Z'
                  pausedAt: null
                  deactivatedAt: null
                  createdAt: '2025-02-11T12:45:29.884Z'
                  enrolledPath: public
                  enrolledBy: Ana Pérez
                  users: Ana Pérez
                  lastExtraction: '2025-02-18T09:21:44.630Z'
                  status: No Conectado
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: No existe un usuario con ese email.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: User not found
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalError'
        '504':
          $ref: '#/components/responses/Timeout'
components:
  schemas:
    WalletAccount:
      type: object
      required:
        - businessName
        - id
        - identifier
        - country
        - active
        - createdAt
        - lastExtraction
        - pausedAt
        - deactivatedAt
        - status
      properties:
        businessName:
          type: string
          description: Razón social de la empresa de la cuenta.
          example: Cliente Ejemplo SpA
        id:
          type: string
          description: >-
            Identificador tributario de la empresa (RUT o Nit, sin puntos y con
            guion). Es igual a `identifier`.
          example: 76111111-6
        identifier:
          type: string
          description: >-
            Identificador tributario de la empresa (RUT o Nit, sin puntos y con
            guion).
          example: 76111111-6
        country:
          type: string
          enum:
            - CL
            - CO
            - PE
          description: País de la empresa (código ISO 3166-1 alpha-2).
          example: CL
        active:
          type: boolean
          description: >-
            Indica si la cuenta está conectada, es decir, si la empresa ya
            enroló sus credenciales y Pruff puede extraer sus datos.
          example: true
        activatedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Fecha y hora (ISO 8601, UTC) en que la cuenta se conectó. Es `null`
            si aún no se conecta. Solo viene cuando el usuario puede ver todas
            las cuentas de tu empresa.
          example: '2025-03-04T15:10:42.318Z'
        pausedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Fecha y hora (ISO 8601, UTC) en que la cuenta se eliminó. Es `null`
            si la cuenta no está eliminada.
          example: null
        deactivatedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Fecha y hora (ISO 8601, UTC) en que la cuenta se desconectó. Es
            `null` si no se ha desconectado.
          example: null
        createdAt:
          type: string
          format: date-time
          description: Fecha y hora (ISO 8601, UTC) en que se creó la cuenta.
          example: '2025-03-04T15:10:41.905Z'
        enrolledPath:
          type:
            - string
            - 'null'
          description: >-
            Canal por el que se enroló la cuenta (por ejemplo `public` o `api`).
            Es `null` si no se registró. Solo viene cuando el usuario puede ver
            todas las cuentas de tu empresa.
          example: public
        enrolledBy:
          type:
            - string
            - 'null'
          description: >-
            Nombre del usuario que enroló la cuenta. No viene si no se registró
            quién la enroló, y es `null` si ese usuario no tiene nombre. Solo
            viene cuando el usuario puede ver todas las cuentas de tu empresa.
          example: Ana Pérez
        users:
          type: string
          description: >-
            Nombres de los usuarios comerciales asignados a la cuenta, separados
            por coma. Es una cadena vacía si no hay ninguno. Solo viene cuando
            el usuario puede ver todas las cuentas de tu empresa.
          example: Ana Pérez
        lastExtraction:
          type: string
          format: date-time
          description: >-
            Fecha y hora (ISO 8601, UTC) de la última extracción de facturas de
            la empresa. Si aún no hay extracciones, es la fecha de creación de
            la cuenta.
          example: '2025-03-04T15:14:09.552Z'
        status:
          type: string
          enum:
            - Conectado
            - No Conectado
            - Eliminado
          description: >-
            Estado de la cuenta: `No Conectado` si la cuenta no está activa,
            `Eliminado` si está activa pero fue eliminada, y `Conectado` en otro
            caso.
          example: Conectado
    Error:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          description: >-
            Identifica el error. En algunos casos es un texto en inglés con
            valores variables. Para tu lógica, usa el código HTTP y, cuando
            exista, `data.code`.
        displayMessage:
          type: string
          description: >-
            Mensaje pensado para mostrarlo a una persona. Normalmente en
            español; algunos mensajes de validación vienen en inglés.
        data:
          description: Detalle adicional del error, cuando existe.
  responses:
    Unauthorized:
      description: >-
        Falta el header `x-api-key`, su valor no es válido o la cuenta de API de
        tu empresa no está habilitada.
      content:
        application/json:
          schema:
            type: object
            required:
              - message
            properties:
              message:
                type: string
          example:
            message: 'Unauthorized: Invalid API Key'
    TooManyRequests:
      description: >-
        Tu empresa superó el límite de solicitudes. Todas las API keys de tu
        empresa comparten el mismo límite. Espera los segundos que indica el
        header `Retry-After` (o `data.retryAfterSeconds`) antes de reintentar.
      headers:
        Retry-After:
          description: Segundos que debes esperar antes de reintentar.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: >-
              Rate limit exceeded: 501 requests in the current 60s window, limit
              is 500. Retry in 12s.
            displayMessage: >-
              Superaste el límite de 500 solicitudes cada 60 segundos. Vuelve a
              intentarlo en 12 segundos.
            data:
              code: RATE_LIMIT_EXCEEDED
              scope: All API keys of your company share this budget.
              limit: 500
              used: 501
              windowSeconds: 60
              retryAfterSeconds: 12
              resetAt: '2026-11-04T15:00:12.000Z'
              hint: >-
                Wait until resetAt (or honor the Retry-After header) before
                retrying. Avoid repeating identical requests: reuse responses
                you already fetched, use filters and larger pageSize values
                instead of one request per item, and cap your client
                concurrency.
    InternalError:
      description: >-
        Error inesperado en Pruff. El texto de `message` puede variar (por
        ejemplo en mayúsculas); no dependas de él.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Internal server error
    Timeout:
      description: >-
        La solicitud superó el tiempo máximo de 55 segundos. La operación puede
        haberse completado igual: antes de reintentar una solicitud que crea o
        modifica datos, verifica su estado.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: request_timeout
            displayMessage: La solicitud excedió el tiempo máximo permitido
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key que Pruff entrega a tu empresa.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.