> ## 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 notas de crédito

> Lista las notas de crédito electrónicas (DTE 61) registradas en Pruff, de forma paginada y ordenada por fecha de emisión descendente (las más recientes primero).

Cada nota de crédito trae los documentos que modifica (`references`), si Pruff ya la asoció a una factura registrada (`linked`) y las notas de débito (DTE 56) que la anularon o corrigieron. Las notas con `linked: false` son las que todavía no aparecen en `creditNotes` de `GET /invoices`, por ejemplo porque la factura que modifican no está en Pruff.

El listado incluye las notas que emiten tus clientes y las que reciben de sus proveedores. `businessIdentifier` siempre es el emisor y `stakeholderIdentifier` el receptor: si tu cliente aparece en `businessIdentifier`, la emitió; si aparece en `stakeholderIdentifier`, la recibió.

Todos los filtros son opcionales y se combinan entre sí. `startDate` y `endDate` son días calendario de la fecha de emisión, y ambos extremos se incluyen. El tamaño máximo de página es 500. Cualquier query param que no esté en esta lista responde un error 400.



## OpenAPI

````yaml openapi/clients.yaml GET /creditNotes
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:
  /creditNotes:
    get:
      tags:
        - Facturas
      summary: Obtener notas de crédito
      description: >-
        Lista las notas de crédito electrónicas (DTE 61) registradas en Pruff,
        de forma paginada y ordenada por fecha de emisión descendente (las más
        recientes primero).


        Cada nota de crédito trae los documentos que modifica (`references`), si
        Pruff ya la asoció a una factura registrada (`linked`) y las notas de
        débito (DTE 56) que la anularon o corrigieron. Las notas con `linked:
        false` son las que todavía no aparecen en `creditNotes` de `GET
        /invoices`, por ejemplo porque la factura que modifican no está en
        Pruff.


        El listado incluye las notas que emiten tus clientes y las que reciben
        de sus proveedores. `businessIdentifier` siempre es el emisor y
        `stakeholderIdentifier` el receptor: si tu cliente aparece en
        `businessIdentifier`, la emitió; si aparece en `stakeholderIdentifier`,
        la recibió.


        Todos los filtros son opcionales y se combinan entre sí. `startDate` y
        `endDate` son días calendario de la fecha de emisión, y ambos extremos
        se incluyen. El tamaño máximo de página es 500. Cualquier query param
        que no esté en esta lista responde un error 400.
      operationId: getCreditNotes
      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 notas de crédito por página. Máximo 500.
          schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 10
          example: 50
        - name: startDate
          in: query
          required: false
          description: >-
            Día de emisión desde el cual quieres notas de crédito (inclusive),
            en formato `YYYY-MM-DD`.
          schema:
            type: string
            format: date
          example: '2026-09-01'
        - name: endDate
          in: query
          required: false
          description: >-
            Día de emisión hasta el cual quieres notas de crédito (inclusive),
            en formato `YYYY-MM-DD`. No puede ser anterior a `startDate`.
          schema:
            type: string
            format: date
          example: '2026-09-30'
        - name: businessIdentifier
          in: query
          required: false
          description: RUT del emisor de la nota de crédito, sin puntos y con guion.
          schema:
            type: string
          example: 76111111-6
        - name: stakeholderIdentifier
          in: query
          required: false
          description: >-
            RUT del receptor de la nota de crédito, sin puntos y con guion. Es
            tu cliente cuando la nota la emitió uno de sus proveedores.
          schema:
            type: string
          example: 96111111-0
        - name: folio
          in: query
          required: false
          description: Folio exacto de la nota de crédito.
          schema:
            type: string
          example: '1201'
        - name: linked
          in: query
          required: false
          description: >-
            `true` para traer solo las notas asociadas a una factura registrada
            en Pruff, `false` para traer solo las que no lo están.
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
          example: 'false'
      responses:
        '200':
          description: Página de notas de crédito.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteListResponse'
              example:
                data:
                  - folio: '1202'
                    code: '61'
                    businessIdentifier: 76111111-6
                    businessName: Cliente Ejemplo SpA
                    stakeholderIdentifier: 96222222-6
                    stakeholderName: Otro Pagador Ejemplo SA
                    issuedDate: '2026-09-30'
                    amount: 80000
                    references:
                      - code: '33'
                        folio: '9999'
                    linked: false
                    debitNotes: []
                  - folio: '1201'
                    code: '61'
                    businessIdentifier: 76111111-6
                    businessName: Cliente Ejemplo SpA
                    stakeholderIdentifier: 96111111-0
                    stakeholderName: Pagador Ejemplo SpA
                    issuedDate: '2026-09-20'
                    amount: 250000
                    references:
                      - code: '33'
                        folio: '4512'
                    linked: true
                    debitNotes:
                      - folio: '88'
                        code: '56'
                        issuedDate: '2026-09-25'
                        amount: 250000
                pagination:
                  total: 2
                  page: 1
                  pageSize: 10
                  totalPages: 1
        '400':
          description: >-
            Algún query param no cumple el formato esperado o no existe.
            `displayMessage` describe el primer error y `data.errors` los lista
            todos.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
              examples:
                invalidDate:
                  summary: Fecha con otro formato
                  value:
                    message: invalid_format
                    displayMessage: Date must be formatted as YYYY-MM-DD
                    data:
                      errors:
                        - path: startDate
                          message: Date must be formatted as YYYY-MM-DD
                          code: invalid_format
                invertedRange:
                  summary: startDate posterior a endDate
                  value:
                    message: custom
                    displayMessage: >-
                      La fecha de inicio no puede ser posterior a la fecha de
                      fin
                    data:
                      errors:
                        - path: endDate
                          message: >-
                            La fecha de inicio no puede ser posterior a la fecha
                            de fin
                          code: custom
                invalidLinked:
                  summary: linked distinto de true o false
                  value:
                    message: invalid_value
                    displayMessage: Value must be "true" or "false"
                    data:
                      errors:
                        - path: linked
                          message: Value must be "true" or "false"
                          code: invalid_value
                unknownParam:
                  summary: Query param que no existe
                  value:
                    message: unrecognized_keys
                    displayMessage: 'Unrecognized key: "code"'
                    data:
                      errors:
                        - path: (root)
                          message: 'Unrecognized key: "code"'
                          code: unrecognized_keys
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalError'
        '504':
          $ref: '#/components/responses/Timeout'
components:
  schemas:
    CreditNoteListResponse:
      type: object
      required:
        - data
        - pagination
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CreditNoteListItem'
        pagination:
          $ref: '#/components/schemas/Pagination'
    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.
    CreditNoteListItem:
      type: object
      required:
        - folio
        - code
        - businessIdentifier
        - businessName
        - stakeholderIdentifier
        - stakeholderName
        - issuedDate
        - amount
        - references
        - linked
        - debitNotes
      properties:
        folio:
          type: string
          example: '1201'
        code:
          type: string
          enum:
            - '61'
        businessIdentifier:
          type: string
          description: >-
            RUT del emisor. Si es tu cliente, la nota la emitió él; si no, es un
            proveedor que se la emitió a tu cliente.
          example: 76111111-6
        businessName:
          type: string
          description: Razón social del emisor.
          example: Cliente Ejemplo SpA
        stakeholderIdentifier:
          type: string
          description: >-
            RUT del receptor. Es el deudor cuando la nota la emitió tu cliente,
            y tu cliente cuando la recibió de un proveedor.
          example: 96111111-0
        stakeholderName:
          type: string
          description: Razón social del receptor.
          example: Pagador Ejemplo SpA
        issuedDate:
          type:
            - string
            - 'null'
          format: date
          description: Fecha de emisión, `YYYY-MM-DD`.
          example: '2026-09-20'
        amount:
          type: integer
          description: >-
            Monto total de la nota de crédito, en pesos chilenos (CLP). Las
            notas de crédito no traen `currency`; siempre están en CLP.
          example: 250000
        references:
          type: array
          description: >-
            Documentos que modifica la nota de crédito, según el SII. Vacío si
            el SII no informó referencias. No incluye el motivo de la referencia
            ni la fecha del documento referenciado.
          items:
            $ref: '#/components/schemas/CreditNoteReference'
        linked:
          type: boolean
          description: >-
            `true` si Pruff la asoció a al menos una factura registrada. Las
            asociadas aparecen también en `creditNotes` de `GET /invoices`.
        debitNotes:
          type: array
          description: >-
            Notas de débito que anularon o corrigieron esta nota de crédito,
            ordenadas por fecha de emisión, de la más antigua a la más reciente.
            Las notas de débito que modifican una factura directamente no
            aparecen.
          items:
            $ref: '#/components/schemas/CreditNoteDebitNote'
    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.
    CreditNoteReference:
      type: object
      required:
        - code
        - folio
      properties:
        code:
          type: string
          description: >-
            Tipo de DTE del documento que modifica la nota de crédito, por
            ejemplo `33` (factura afecta).
          example: '33'
        folio:
          type: string
          description: Folio del documento que modifica.
          example: '4512'
    CreditNoteDebitNote:
      type: object
      required:
        - folio
        - code
        - issuedDate
        - amount
      properties:
        folio:
          type: string
          example: '88'
        code:
          type: string
          enum:
            - '56'
        issuedDate:
          type:
            - string
            - 'null'
          format: date
          description: Fecha de emisión, `YYYY-MM-DD`.
          example: '2026-09-25'
        amount:
          type: integer
          description: Monto total de la nota de débito, en pesos chilenos (CLP).
          example: 250000
  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.