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

> Lista las cesiones de facturas registradas en Pruff a las que tiene acceso tu empresa, de forma paginada. Todos los filtros son opcionales y se combinan entre sí: una cesión debe cumplir todos los que envíes.

Los resultados se ordenan por fecha de emisión de la factura descendente y, si dos cesiones tienen la misma fecha, por `id`. El orden es estable: al recorrer todas las páginas ninguna cesión se repite ni se pierde.

Las fechas de cesión (`startDateCession` y `endDateCession`) se interpretan como días calendario de Chile (hora de Santiago); las de emisión (`startDateIssued` y `endDateIssued`), como días calendario en UTC. En todos los casos ambos extremos son inclusive. Si envías `businessIdentifier` y `businessIdentifiers` juntos, solo se devuelven las cesiones que cumplen ambos.

Con `executiveEmail` se devuelven solo las cesiones de los clientes asignados a ese ejecutivo. Si el ejecutivo no tiene clientes asignados, la respuesta es una página vacía.



## OpenAPI

````yaml openapi/clients.yaml GET /cessions
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:
  /cessions:
    get:
      tags:
        - Facturas
      summary: Obtener cesiones
      description: >-
        Lista las cesiones de facturas registradas en Pruff a las que tiene
        acceso tu empresa, de forma paginada. Todos los filtros son opcionales y
        se combinan entre sí: una cesión debe cumplir todos los que envíes.


        Los resultados se ordenan por fecha de emisión de la factura descendente
        y, si dos cesiones tienen la misma fecha, por `id`. El orden es estable:
        al recorrer todas las páginas ninguna cesión se repite ni se pierde.


        Las fechas de cesión (`startDateCession` y `endDateCession`) se
        interpretan como días calendario de Chile (hora de Santiago); las de
        emisión (`startDateIssued` y `endDateIssued`), como días calendario en
        UTC. En todos los casos ambos extremos son inclusive. Si envías
        `businessIdentifier` y `businessIdentifiers` juntos, solo se devuelven
        las cesiones que cumplen ambos.


        Con `executiveEmail` se devuelven solo las cesiones de los clientes
        asignados a ese ejecutivo. Si el ejecutivo no tiene clientes asignados,
        la respuesta es una página vacía.
      operationId: getCessions
      parameters:
        - name: page
          in: query
          required: false
          description: Número de página, desde 1.
          schema:
            type: integer
            minimum: 1
            default: 1
          example: 1
        - name: pageSize
          in: query
          required: false
          description: Cantidad de cesiones por página. Máximo 250.
          schema:
            type: integer
            minimum: 1
            maximum: 250
            default: 10
          example: 50
        - name: businessIdentifier
          in: query
          required: false
          description: >-
            RUT del cedente (el emisor original de la factura), sin puntos y con
            guion.
          schema:
            type: string
          example: 76111111-6
        - name: businessIdentifiers
          in: query
          required: false
          description: >-
            RUTs de varios cedentes, sin puntos y con guion. Separa varios con
            comas.
          schema:
            type: string
          example: 76111111-6,11111111-1
        - name: cessionaryIdentifier
          in: query
          required: false
          description: RUT del cesionario, sin puntos y con guion.
          schema:
            type: string
          example: 77222222-K
        - name: payerIdentifier
          in: query
          required: false
          description: RUT del deudor de la factura, sin puntos y con guion.
          schema:
            type: string
          example: 96111111-0
        - name: startDateCession
          in: query
          required: false
          description: >-
            Fecha de cesión desde la cual quieres resultados (inclusive), en
            formato `YYYY-MM-DD`. Se interpreta como día calendario de Chile
            (hora de Santiago). Si envías una hora, se ignora.
          schema:
            type: string
          example: '2025-01-01'
        - name: endDateCession
          in: query
          required: false
          description: >-
            Fecha de cesión hasta la cual quieres resultados (inclusive), en
            formato `YYYY-MM-DD`. Se interpreta como día calendario de Chile
            (hora de Santiago). Si envías una hora, se ignora.
          schema:
            type: string
          example: '2025-01-31'
        - name: startDateIssued
          in: query
          required: false
          description: >-
            Fecha de emisión de la factura desde la cual quieres resultados
            (inclusive), en formato `YYYY-MM-DD`. Se interpreta como día
            calendario en UTC. Si envías una hora, se ignora.
          schema:
            type: string
          example: '2024-12-01'
        - name: endDateIssued
          in: query
          required: false
          description: >-
            Fecha de emisión de la factura hasta la cual quieres resultados
            (inclusive), en formato `YYYY-MM-DD`. Se interpreta como día
            calendario en UTC. Si envías una hora, se ignora.
          schema:
            type: string
          example: '2024-12-31'
        - name: folio
          in: query
          required: false
          description: Folio exacto de la factura.
          schema:
            type: string
          example: '622'
        - name: docType
          in: query
          required: false
          description: Tipo de documento de la factura (código DTE, por ejemplo `33`).
          schema:
            type: string
          example: '33'
        - name: executiveEmail
          in: query
          required: false
          description: >-
            Email de un ejecutivo de tu empresa. Devuelve solo las cesiones de
            los clientes asignados a ese ejecutivo.
          schema:
            type: string
            format: email
          example: ejecutivo@example.com
      responses:
        '200':
          description: Página de cesiones.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CessionListResponse'
              example:
                data:
                  - id: 53af43d3-1111-4111-8111-0f115d7636af
                    businessIdentifier: 11111111-1
                    businessName: Cliente Ejemplo SpA
                    giverIdentifier: 11111111-1
                    giverName: Cliente Ejemplo SpA
                    cessionaryIdentifier: 22222222-2
                    cessionaryName: Factoring Ejemplo SpA
                    payerIdentifier: 33333333-3
                    payerName: Pagador Ejemplo SpA
                    executiveName: Ana Pérez
                    executiveEmail: ana.perez@example.com
                    invoiceStatus: Cedida
                    cessionStatus: Cesion Vigente
                    docType: '33'
                    folio: '321'
                    amount: 782235
                    cessionAmount: 782235
                    issuedDate: '2024-07-30T00:00:00.000Z'
                    cessionDate: '2024-07-30T15:36:00.000Z'
                  - id: 623324f8-2222-4222-8222-aa5c55acf182
                    businessIdentifier: 76111111-6
                    businessName: Otro Cliente Ejemplo SpA
                    giverIdentifier: 22222222-2
                    giverName: Factoring Ejemplo SpA
                    cessionaryIdentifier: 77222222-K
                    cessionaryName: Fondo Ejemplo SpA
                    payerIdentifier: 96111111-0
                    payerName: null
                    executiveName: null
                    executiveEmail: null
                    invoiceStatus: null
                    cessionStatus: Cesion Vigente
                    docType: '33'
                    folio: '123'
                    amount: 998886
                    cessionAmount: 998886
                    issuedDate: '2024-07-29T00:00:00.000Z'
                    cessionDate: '2024-09-30T15:37:00.000Z'
                pagination:
                  total: 24
                  page: 1
                  pageSize: 2
                  totalPages: 12
                message: Cessions fetched successfully
        '400':
          description: >-
            Algún query param no cumple el formato esperado. `displayMessage`
            describe el primer error y `data.errors` los lista todos.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
              examples:
                invalidEmail:
                  summary: Email del ejecutivo no válido
                  value:
                    message: invalid_format
                    displayMessage: El email del ejecutivo no es válido
                    data:
                      errors:
                        - path: executiveEmail
                          message: El email del ejecutivo no es válido
                          code: invalid_format
                invalidDate:
                  summary: Fecha con formato incorrecto
                  value:
                    message: invalid_format
                    displayMessage: Date must be formatted as YYYY-MM-DD
                    data:
                      errors:
                        - path: startDateCession
                          message: Date must be formatted as YYYY-MM-DD
                          code: invalid_format
                pageSizeTooBig:
                  summary: pageSize sobre el máximo
                  value:
                    message: too_big
                    displayMessage: pageSize must be less or equal to 250
                    data:
                      errors:
                        - path: pageSize
                          message: pageSize must be less or equal to 250
                          code: too_big
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalError'
        '504':
          $ref: '#/components/responses/Timeout'
components:
  schemas:
    CessionListResponse:
      type: object
      required:
        - data
        - pagination
        - message
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CessionListItem'
        pagination:
          $ref: '#/components/schemas/Pagination'
        message:
          type: string
          description: Texto informativo fijo.
          example: Cessions fetched successfully
    ValidationError:
      type: object
      required:
        - message
        - displayMessage
        - data
      description: Error de validación del body, de los query params o de los path params.
      properties:
        message:
          type: string
          description: >-
            Código del primer error de validación (por ejemplo `custom`,
            `invalid_type`, `invalid_format`, `invalid_value`, `invalid_union`).
        displayMessage:
          type: string
          description: >-
            Mensaje del primer error de validación, pensado para mostrarlo a una
            persona. Normalmente en español; algunos mensajes de validación
            vienen en inglés.
        data:
          type: object
          required:
            - errors
          properties:
            errors:
              type: array
              description: Todos los errores de validación encontrados.
              items:
                type: object
                required:
                  - path
                  - message
                  - code
                properties:
                  path:
                    type: string
                    description: >-
                      Campo con el error. Para listas incluye la posición, por
                      ejemplo `types.0`. `(root)` si el error es del body
                      completo.
                  message:
                    type: string
                    description: Descripción del error en español.
                  code:
                    type: string
                    description: Código del tipo de error.
    CessionListItem:
      type: object
      description: Cesión de una factura.
      required:
        - id
        - businessIdentifier
        - businessName
        - giverIdentifier
        - giverName
        - cessionaryIdentifier
        - cessionaryName
        - payerIdentifier
        - payerName
        - executiveName
        - executiveEmail
        - invoiceStatus
        - cessionStatus
        - docType
        - folio
        - amount
        - cessionAmount
        - issuedDate
        - cessionDate
      properties:
        id:
          type: string
          format: uuid
          description: Identificador de la cesión.
          example: 53af43d3-1111-4111-8111-0f115d7636af
        businessIdentifier:
          type: string
          description: RUT del emisor de la factura (el cedente original).
          example: 11111111-1
        businessName:
          type: string
          description: Nombre del emisor de la factura.
          example: Cliente Ejemplo SpA
        giverIdentifier:
          type: string
          description: >-
            RUT de quien cede en esta cesión. En una recesión, es el cesionario
            anterior.
          example: 11111111-1
        giverName:
          type: string
          description: Nombre de quien cede en esta cesión.
          example: Cliente Ejemplo SpA
        cessionaryIdentifier:
          type: string
          description: RUT del cesionario.
          example: 22222222-2
        cessionaryName:
          type: string
          description: Nombre del cesionario.
          example: Factoring Ejemplo SpA
        payerIdentifier:
          type: string
          description: RUT del deudor de la factura.
          example: 33333333-3
        payerName:
          type:
            - string
            - 'null'
          description: Nombre del deudor. Es null si no está registrado.
          example: Pagador Ejemplo SpA
        executiveName:
          type:
            - string
            - 'null'
          description: >-
            Nombre del ejecutivo asignado al cliente. Si el cliente tiene más de
            un ejecutivo, se devuelve siempre el mismo (el de menor
            identificador de usuario). Es null si no tiene ejecutivo o si el
            ejecutivo no tiene nombre registrado.
          example: Ana Pérez
        executiveEmail:
          type:
            - string
            - 'null'
          format: email
          description: >-
            Email del ejecutivo asignado al cliente. Es null si no tiene
            ejecutivo.
          example: ana.perez@example.com
        invoiceStatus:
          type:
            - string
            - 'null'
          enum:
            - Nota de crédito
            - Reclamada
            - Pago al contado
            - Cedida
            - null
          description: >-
            Estado de la factura, evaluado en este orden de prioridad. `Nota de
            crédito` si la suma de sus notas de crédito es igual o mayor al
            monto, `Reclamada`, `Pago al contado` y `Cedida` en cualquier otro
            caso. Es null si la factura no está registrada en Pruff. No tiene el
            mismo significado que `status` en **Obtener facturas**.
          example: Cedida
        cessionStatus:
          type: string
          description: >-
            Estado de la cesión registrado en Pruff (por ejemplo `Cesion
            Vigente`).
          example: Cesion Vigente
        docType:
          type: string
          description: Tipo de documento de la factura (código DTE).
          example: '33'
        folio:
          type: string
          description: Folio de la factura.
          example: '321'
        amount:
          type: integer
          description: Monto total de la factura, en CLP.
          example: 782235
        cessionAmount:
          type: integer
          description: Monto cedido, en CLP.
          example: 782235
        issuedDate:
          type: string
          format: date-time
          description: Fecha de emisión de la factura, en formato ISO 8601 (UTC).
          example: '2024-07-30T00:00:00.000Z'
        cessionDate:
          type: string
          format: date-time
          description: Fecha y hora de la cesión, en formato ISO 8601 (UTC).
          example: '2024-07-30T15:36:00.000Z'
    Pagination:
      type: object
      required:
        - total
        - page
        - pageSize
        - totalPages
      properties:
        total:
          type: integer
          description: Cantidad total de elementos que cumplen los filtros.
        page:
          type: integer
          description: Página devuelta, desde 1.
        pageSize:
          type: integer
          description: Cantidad de elementos por página.
        totalPages:
          type: integer
          description: Cantidad total de páginas.
    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.