Ir al contenido
GET
/registros
curl --request GET \
--url 'https://app.openfactura.co/api/v1/registros?estado=ok&origen=api' \
--header 'Authorization: Bearer <token>'

Peticiones hechas con claves de API (REST y MCP) en los últimos 30 días: método, patrón de ruta, estado HTTP, duración y clave. Nunca guarda cuerpos, encabezados ni parámetros. Paginación hacia atrás con antesDe (marca de tiempo en milisegundos).

Permiso: registros:read.

antesDe
integer
>= -9007199254740991 <= 9007199254740991
limite
integer
>= 1 <= 200
estado
string
Allowed values: ok error
origen
string
Allowed values: api mcp
claveId
string
<= 40 characters

Peticiones, de la más reciente a la más antigua.

Media typeapplication/json
Array<object>
object
id
string
creado

Marca de tiempo en milisegundos.

integer
metodo
string
ruta

Patrón de la ruta, p. ej. /api/v1/dte/:codigo.

string
estado

Estado HTTP de la respuesta.

integer
duracionMs
integer
origen
string
Allowed values: api mcp
clave
object
id
string
prefijo
string | null
nombre
string | null

Example

[
{
"origen": "api"
}
]
RateLimit-Limit
integer

Peticiones permitidas por minuto (sólo con clave de API).

RateLimit-Remaining
integer

Peticiones restantes en la ventana actual (sólo con clave de API).

RateLimit-Reset
integer

Segundos hasta que se reinicia la ventana (sólo con clave de API).

Idempotent-Replayed
string
Allowed values: true

true cuando la respuesta es la guardada de un intento anterior.

Cuerpo o parámetros inválidos (details = [{ ruta, mensaje }]), o el DTE no cumple el esquema del MH (details.problemas). Códigos: datos_invalidos, dte_invalido.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: datos_invalidos dte_invalido no_autenticado plan_requerido sin_permiso origen_no_permitido no_encontrado sin_organizacion sin_organizacion_activa nit_bloqueado emisor_no_configurado credenciales_incompletas sin_punto_venta estado_invalido ambiente_distinto retorno_excedido retorno_vigente idempotencia_distinta idempotencia_en_curso cliente_repetido producto_repetido codigo_repetido sin_archivo limite_webhooks simulador_inactivo dte_rechazado invalidacion_rechazada contingencia_rechazada evento_rechazado limite_excedido limite_plan error_interno mh_credenciales_rechazadas mh_no_disponible emision_fallida emision_incierta
message
required
string
details

Detalle según el código; puede faltar.

Example

{
"error": {
"code": "datos_invalidos"
}
}

Falta sesión, o la clave de API no es válida, fue revocada o expiró. Códigos: no_autenticado.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: datos_invalidos dte_invalido no_autenticado plan_requerido sin_permiso origen_no_permitido no_encontrado sin_organizacion sin_organizacion_activa nit_bloqueado emisor_no_configurado credenciales_incompletas sin_punto_venta estado_invalido ambiente_distinto retorno_excedido retorno_vigente idempotencia_distinta idempotencia_en_curso cliente_repetido producto_repetido codigo_repetido sin_archivo limite_webhooks simulador_inactivo dte_rechazado invalidacion_rechazada contingencia_rechazada evento_rechazado limite_excedido limite_plan error_interno mh_credenciales_rechazadas mh_no_disponible emision_fallida emision_incierta
message
required
string
details

Detalle según el código; puede faltar.

Example

{
"error": {
"code": "datos_invalidos"
}
}

Falta un permiso (details.permiso) o el origen de la petición con cookie no está permitido. Códigos: sin_permiso, origen_no_permitido.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: datos_invalidos dte_invalido no_autenticado plan_requerido sin_permiso origen_no_permitido no_encontrado sin_organizacion sin_organizacion_activa nit_bloqueado emisor_no_configurado credenciales_incompletas sin_punto_venta estado_invalido ambiente_distinto retorno_excedido retorno_vigente idempotencia_distinta idempotencia_en_curso cliente_repetido producto_repetido codigo_repetido sin_archivo limite_webhooks simulador_inactivo dte_rechazado invalidacion_rechazada contingencia_rechazada evento_rechazado limite_excedido limite_plan error_interno mh_credenciales_rechazadas mh_no_disponible emision_fallida emision_incierta
message
required
string
details

Detalle según el código; puede faltar.

Example

{
"error": {
"code": "datos_invalidos"
}
}

Límite de peticiones excedido (Retry-After indica cuántos segundos esperar) o, en distribuciones con planes, límite del plan alcanzado (limite_plan). Códigos: limite_excedido, limite_plan.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: datos_invalidos dte_invalido no_autenticado plan_requerido sin_permiso origen_no_permitido no_encontrado sin_organizacion sin_organizacion_activa nit_bloqueado emisor_no_configurado credenciales_incompletas sin_punto_venta estado_invalido ambiente_distinto retorno_excedido retorno_vigente idempotencia_distinta idempotencia_en_curso cliente_repetido producto_repetido codigo_repetido sin_archivo limite_webhooks simulador_inactivo dte_rechazado invalidacion_rechazada contingencia_rechazada evento_rechazado limite_excedido limite_plan error_interno mh_credenciales_rechazadas mh_no_disponible emision_fallida emision_incierta
message
required
string
details

Detalle según el código; puede faltar.

Example

{
"error": {
"code": "datos_invalidos"
}
}
Retry-After
integer

Segundos que hay que esperar.

Para asistentes de IA: llms.txt ·llms-full.txt · cada página en Markdown añadiendo .md a su ruta.