Emitir factura de prueba
Crea una factura de prueba usando siempre el certificador MOCK, sin importar el certificador del tenant. Sin costo ni validez tributaria. Aplica las mismas 14 validaciones que producción. La respuesta incluye `links.self` apuntando a `GET /v1/invoices/{id}` — las facturas de sandbox **se consultan y anulan por los endpoints normales de Facturas**, no existe un GET/cancel bajo /v1/sandbox. Diferencias vs producción: no dispara webhooks, no consume cuota del plan, `referencia_interna` se prefija con "[SANDBOX]", y aplica un límite diario por tipo de DTE según tu plan (starter/business: 20, enterprise: 50).
Authorization
ApiKeyAuth API key con prefijo qapi_live_ o qapi_test_, o JWT (access_token) obtenido vía POST /v1/auth/login. QAPI detecta el tipo automáticamente por el prefijo del token.
In: header
Header Parameters
Mismo comportamiento que en POST /v1/invoices: evita duplicados en reintentos, ventana de 24 horas.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/sandbox/invoices" \ -H "Content-Type: application/json" \ -d '{ "tipo_dte": "FACT", "moneda": "GTQ", "fecha_emision": "2026-06-08T10:00:00-06:00", "emisor": { "nit": "12345678", "nombre": "Mi Empresa S.A.", "nombre_comercial": "Mi Empresa", "codigo_establecimiento": 1, "afiliacion_iva": "GEN", "direccion": { "calle": "6a Avenida 1-36 Zona 1", "municipio": "Guatemala", "departamento": "Guatemala", "codigo_postal": "01001", "pais": "GT" }, "correo": "facturacion@miempresa.com" }, "receptor": { "id": "CF", "nombre": "Consumidor Final" }, "frases": [ { "tipo_frase": 1, "codigo_escenario": 1 } ], "items": [ { "tipo": "S", "cantidad": 1, "unidad_medida": "UND", "descripcion": "Servicio de consultoría", "precio_unitario": 100, "impuestos": [ { "nombre": "IVA", "codigo_unidad_gravable": 1, "monto_gravable": 100, "monto_impuesto": 12 } ] } ] }'{
"id": "inv_V1StGXR8_Z5jdHi6",
"status": "PROCESSING",
"sandbox": false,
"tipo_dte": "FACT",
"gran_total": 112,
"moneda": "GTQ",
"numero_acceso": 543219876,
"created_at": "2019-08-24T14:15:22Z",
"links": {
"self": "/v1/invoices/inv_V1StGXR8_Z5jdHi6"
}
}{
"type": "https://docs.dtevia.com.gt/errors/validation-error",
"title": "VALIDATION_ERROR",
"status": 422,
"detail": "Error de validación",
"instance": "/v1/invoices",
"invalid_params": [
{
"field": "items.0.impuestos.0.monto_impuesto",
"message": "MontoImpuesto IVA inválido. Esperado ~12 (MontoGravable 100 × 0.12), recibido 10"
}
]
}{
"type": "https://docs.dtevia.com.gt/errors/validation-error",
"title": "VALIDATION_ERROR",
"status": 422,
"detail": "Error de validación",
"instance": "/v1/invoices",
"invalid_params": [
{
"field": "items.0.impuestos.0.monto_impuesto",
"message": "MontoImpuesto IVA inválido. Esperado ~12 (MontoGravable 100 × 0.12), recibido 10"
}
]
}{
"type": "https://docs.dtevia.com.gt/errors/validation-error",
"title": "VALIDATION_ERROR",
"status": 422,
"detail": "Error de validación",
"instance": "/v1/invoices",
"invalid_params": [
{
"field": "items.0.impuestos.0.monto_impuesto",
"message": "MontoImpuesto IVA inválido. Esperado ~12 (MontoGravable 100 × 0.12), recibido 10"
}
]
}{
"type": "https://docs.dtevia.com.gt/errors/validation-error",
"title": "VALIDATION_ERROR",
"status": 422,
"detail": "Error de validación",
"instance": "/v1/invoices",
"invalid_params": [
{
"field": "items.0.impuestos.0.monto_impuesto",
"message": "MontoImpuesto IVA inválido. Esperado ~12 (MontoGravable 100 × 0.12), recibido 10"
}
]
}{
"type": "https://docs.dtevia.com.gt/errors/validation-error",
"title": "VALIDATION_ERROR",
"status": 422,
"detail": "Error de validación",
"instance": "/v1/invoices",
"invalid_params": [
{
"field": "items.0.impuestos.0.monto_impuesto",
"message": "MontoImpuesto IVA inválido. Esperado ~12 (MontoGravable 100 × 0.12), recibido 10"
}
]
}PDF de la factura
Redirige (302) a la representación gráfica de la factura provista por el certificador. Disponible para facturas CERTIFIED y también CANCELLED (el DTE anulado conserva su PDF, re-renderizado por el certificador con la marca ANULADO). En entorno test/sandbox (MOCK) el destino no resuelve a un PDF real — la factura de prueba se ve y descarga con el visualizador integrado del dashboard (botón "Ver factura").
Uso del sandbox hoy
Devuelve cuántas pruebas hiciste hoy (hora de Guatemala, UTC-6) por tipo de DTE, junto con el límite diario de tu plan.