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

# Listar cesiones

> Obtiene las cesiones de facturas (AEC) de una entidad. Las cesiones son las transferencias de derechos de crédito de facturas a un cesionario (por ejemplo una empresa de factoring). Por defecto devuelve las cesiones EMITIDAS por la entidad (document_type=issued); con document_type=received devuelve las cesiones RECIBIDAS — facturas de sus proveedores que ellos cedieron a un tercero, útil para saber a quién pagarle en vez del proveedor original.

## ¿Para qué se usa?

Permite **obtener las cesiones de facturas (AEC) de una entidad**, tanto las que emitió (facturas propias cedidas) como las que recibió (facturas de sus proveedores cedidas por ellos a un tercero). Cada ítem representa una cesión registrada (en Tupana o por fuera en el SII) e incluye datos del documento cedido, del cesionario y del estado en el SII.

## Qué hace

* Devuelve una lista **paginada** de cesiones de la entidad indicada, filtradas según el parámetro **document\_type**:
  * `issued` (default): cesiones donde la entidad es la **emisora** de la factura cedida.
  * `received`: cesiones donde la entidad es la **receptora** de la factura cedida — es decir, facturas de sus **proveedores** que ellos cedieron a un factoring. Útil para saber a quién pagarle en vez del proveedor original.
* Puedes filtrar por **rango de fechas** (`date_from`, `date_to`), **estado** (`processing`, `rejected`, `success`) y **búsqueda** en folio, emisor o cesionario.
* El campo **source** indica si la cesión fue creada en Tupana (`internal`) o registrada por fuera (`external`).
* Incluye **assignee\_entity\_name** cuando el cesionario está dado de alta como entidad en Tupana.
* Los campos `supplier_*` siempre reflejan al **emisor** de la factura y `receiver_*` al **receptor**, sin importar qué lado fijaste con `document_type` — con `document_type=received`, `receiver_*` será la propia entidad consultada y `supplier_*` el proveedor.

## Ejemplos de uso

* Mostrar en un panel todas las cesiones de una empresa (emitidas y recibidas).
* Consultar `document_type=received` para saber si algún proveedor cedió una factura pendiente de pago, y a quién pagarle.
* Filtrar cesiones por estado para ver pendientes o rechazadas.
* Integrar con sistemas de factoring que necesitan listar las facturas cedidas.


## OpenAPI

````yaml GET /cessions
openapi: 3.0.0
info:
  title: Tupana API
  description: API para integración con el sistema Tupana - Facturación Electrónica
  version: 1.0.0
servers:
  - url: https://api.tupana.ai/v1
    description: Servidor de producción
security:
  - apiKeyAuth: []
paths:
  /cessions:
    get:
      tags:
        - Cesiones
      summary: Listar cesiones (emitidas o recibidas)
      description: >-
        Obtiene las cesiones de facturas (AEC) de una entidad. Las cesiones son
        las transferencias de derechos de crédito de facturas a un cesionario
        (por ejemplo una empresa de factoring). Por defecto devuelve las
        cesiones EMITIDAS por la entidad (document_type=issued); con
        document_type=received devuelve las cesiones RECIBIDAS — facturas de sus
        proveedores que ellos cedieron a un tercero, útil para saber a quién
        pagarle en vez del proveedor original.
      operationId: listCessions
      parameters:
        - name: master_entity_id
          in: query
          required: true
          description: >-
            ID de la entidad maestra. Su rol en las facturas cedidas (emisora o
            receptora) depende de document_type. Obligatorio.
          schema:
            type: integer
            example: 123
        - name: document_type
          in: query
          required: false
          description: >-
            issued (default) = cesiones donde master_entity_id es la EMISORA de
            la factura cedida. received = cesiones donde master_entity_id es la
            RECEPTORA de la factura cedida (facturas de proveedores cedidas por
            ellos a un tercero).
          schema:
            type: string
            enum:
              - issued
              - received
            default: issued
        - name: date_from
          in: query
          required: false
          description: >-
            Fecha desde (YYYY-MM-DD) para filtrar por fecha de creación de la
            cesión.
          schema:
            type: string
            format: date
        - name: date_to
          in: query
          required: false
          description: >-
            Fecha hasta (YYYY-MM-DD) para filtrar por fecha de creación de la
            cesión.
          schema:
            type: string
            format: date
        - name: status
          in: query
          required: false
          description: 'Estado en el SII: processing, rejected o success.'
          schema:
            type: string
            enum:
              - processing
              - rejected
              - success
        - name: search
          in: query
          required: false
          description: >-
            Búsqueda en folio del documento, nombre o RUT del emisor, o razón
            social/RUT del cesionario.
          schema:
            type: string
        - name: page
          in: query
          required: false
          description: Número de página (paginación).
          schema:
            type: integer
            default: 1
        - name: page_size
          in: query
          required: false
          description: Cantidad de resultados por página.
          schema:
            type: integer
            default: 25
      responses:
        '200':
          description: Lista paginada de cesiones
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: Total de resultados
                  total_pages:
                    type: integer
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/CessionListItem'
        '400':
          description: >-
            master_entity_id faltante o inválido, o document_type con un valor
            distinto de issued/received
          content:
            application/json:
              schema:
                type: object
                properties:
                  master_entity_id:
                    type: array
                    items:
                      type: string
        '403':
          description: No tienes acceso a esta entidad
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
      security:
        - apiKeyAuth: []
components:
  schemas:
    CessionListItem:
      type: object
      properties:
        id:
          type: integer
          description: ID de la cesión
        document_id:
          type: integer
        document_folio:
          type: string
        document_date_issued:
          type: string
          format: date
        document_amount:
          type: number
        supplier_id:
          type: integer
        supplier_name:
          type: string
        supplier_rut:
          type: string
        receiver_id:
          type: integer
          nullable: true
        receiver_name:
          type: string
          nullable: true
        receiver_rut:
          type: string
          nullable: true
        assignee_rut:
          type: string
        assignee_business_name:
          type: string
        assignee_entity_id:
          type: integer
          nullable: true
        assignee_entity_name:
          type: string
          nullable: true
        assignee_entity_tax_id:
          type: string
          nullable: true
        assignment_amount:
          type: number
        status:
          type: string
          enum:
            - processing
            - rejected
            - success
        status_message:
          type: string
          nullable: true
        source:
          type: string
          enum:
            - internal
            - external
          description: internal = creada en Tupana; external = registrada por fuera (SII)
        sii_date_sent:
          type: string
          format: date-time
          nullable: true
        aec_url:
          type: string
          format: uri
          nullable: true
        created_at:
          type: string
          format: date-time
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        API Key para autenticación. Debe proporcionarse en el header
        Authorization con el formato: 'Api-Key YOUR-API-KEY' (incluye el prefijo
        'Api-Key ' seguido de tu API key)

````