---
title: "Listar tipos de comprobante válidos"
method: GET
path: "/api/v1/voucher-types"
tags: ["API"]
---

# Listar tipos de comprobante válidos

`GET /api/v1/voucher-types`

Devuelve candidatos contextuales para una venta o compra. La selección usa la configuración fiscal canónica de la organización y vuelve a validarse al escribir. Para ventas con total_amount, currency es obligatorio; DOL también requiere exchange_rate en PES por DOL.

## Query parameters

- `operation` 'sale' | 'purchase', required
- `customer_id` string, uuid
- `point_of_sale_id` string, uuid
- `supplier_id` string, uuid
- `total_amount` integer
- `currency` 'PES' | 'DOL'
- `exchange_rate` number
- `cursor` string
- `limit` integer

## Response `200`

Tipos de comprobante obtenidos exitosamente

- ApiVoucherTypeReferenceListResponse
  - `request_id` string, required
  - `data` object[], required
    - `object` 'voucher_type_reference', required
    - `code` integer, required
    - `abbreviation` string, required
    - `document_kind` 'invoice' | 'debit_note' | 'credit_note' | 'receipt' | 'non_fiscal' | 'other', required
    - `letter` 'A' | 'B' | 'C', required
    - `description` string, required
  - `has_more` boolean, required
  - `next_cursor` string, nullable, required
  - `object` 'list', required — List-envelope discriminator.
  - `url` string, required — Requested list path.

## Other responses

- `400` — Contexto inválido o incompleto
- `401` — API key faltante o inválida
- `403` — Scope settings:read faltante
- `404` — Contraparte o punto de venta inexistente o inaccesible
- `429` — Límite de solicitudes excedido para la organización
- `500` — Error interno del servidor

---

[API](https://skmtc.dev/lapyme/apis/la-pyme-api.md) · [All operations](https://skmtc.dev/lapyme/apis/la-pyme-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/lapyme/la-pyme-api/revisions/414f57f28498/schema)
