POST/v1/cards/{card_id}/verify
Confirmar que una tarjeta está actualizada
verify_card
Autenticación
Envíe una clave de API en el encabezado Authorization: Authorization: Bearer <clave>.
Parámetros de ruta
card_idstringobligatorio
Parámetros de encabezado
Idempotency-KeystringClave para reintentar de forma segura una escritura: de 1 a 255 caracteres ASCII imprimibles; se recomienda un UUID v4 por operación lógica. Un reintento con la misma clave en un plazo de 24 horas no vuelve a ejecutar la operación: devuelve la respuesta guardada (estado, encabezados y cuerpo) con el encabezado
Idempotency-Replayed: true. La misma clave con otro método, otra ruta, otroContent-Typeu otro cuerpo devuelve409 api.idempotency_mismatch; mientras la primera solicitud sigue en curso,409 api.idempotency_in_progressconRetry-After: 1. Tras una respuesta 5xx o 429, la clave se libera y un reintento vuelve a ejecutar la operación. La clave se aplica a la organización y a quien llama a la API (clave de API, usuario o clave de fuente personalizada).length ≥ 1, length ≤ 255
X-View-AsstringSolo para claves de API con el rol
admin. Ejecuta la solicitud como el perfil de datos<profile>[:viewer|verifier|editor], por ejemploemployee:viewer. La clave de instalación no puede usar este encabezado (403).
Parámetros de cookie
kb_view_asstringCookie del modo «View as» para una sesión.
POST /auth/view-asla establece yDELETE /auth/view-asla elimina.
Cuerpo de la solicitud
Respuestas
200Respuesta correcta
Encabezados de la respuesta
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
Idempotency-Replayedtruesignifica que la respuesta se reprodujo a partir de la guardada para estaIdempotency-Key: la operación no se volvió a ejecutar.
application/json
expandedCardExpandedpermissionsObjectPermissionListaccessstringValores permitidos:
wholepartialaccess_contactstringA quién dirigirse para obtener acceso (solo cuando
access=partial).aclobjectCampos
verifybooleanobligatoriowritebooleanobligatorio
categorystringobligatoriocategory_confidencenumber | nullobligatoriocategory_lockedbooleanobligatoriocategory_reviewbooleanobligatoriocollectionstringobligatoriocollection_idintegerobligatoriocollection_titlestringcommentsarray of CardCommentcontent_jsonContentJSON | nullContenido del editor de la última versión publicada. El campo puede no aparecer; en ese caso, obtenga el contenido del editor a partir de un borrador (
POST /v1/draftsconcard_id).editing_lockEditingLock | nullBloqueo de edición activo. El campo puede no aparecer; en ese caso, el editor sabe quién tiene el bloqueo por la respuesta
409 cards.lockeddePOST /v1/cards/{card_id}/lock.created_atstring (date-time)obligatoriodays_since_verifiedintegerobligatorioerrorstring | nullobligatorioeventsarray of CardEventfeedback_negintegerobligatoriofeedback_posintegerobligatoriofoldersarray of CardFolderRefSolo en la lista de tarjetas: las carpetas que contienen la tarjeta (las que el usuario puede ver), con sus rutas desde la raíz de la colección. Una lista vacía significa que la tarjeta no está en ninguna carpeta.
has_tablesbooleanSolo en la lista de tarjetas.
hidden_partsbooleanidstringobligatoriojobJob | nullorg_idintegerobligatorioowner_activeboolean | nullowner_idinteger | nullobligatorioowner_namestring | nullobligatoriopagesinteger | nullobligatorioparserstring | nullobligatorioAnalizador del documento como código neutro:
document(estructura completa: páginas, títulos, tablas, páginas escaneadas),pdf(la capa de texto del PDF),docx,xlsx,csv,markdown,html,text. La lista puede ampliarse.sensitivebooleanobligatoriosha256string | nullobligatoriosizeintegerobligatoriosnoozed_atstring (date-time) | nullsnoozed_byinteger | nullsnoozed_untilstring | nullsource_changedbooleanobligatoriosource_pathstring | nullobligatoriosource_urlstring | nullobligatoriostatusstringobligatorioValores permitidos:
processingreadyerrorarchivedtablesarray of CardTabletagsarray of stringobligatoriotitlestringobligatoriotrustnumberobligatoriotrust_if_verifiednumberupdated_atstring (date-time)obligatorioverified_atstring (date-time) | nullobligatorioverified_byinteger | nullobligatorioverified_by_namestring | nullverifier_idsarray of integerobligatorioverifiersarray of objectCampos
activebooleanobligatorioidintegerobligatorionamestringobligatorio
verify_interval_daysintegerobligatorioversionintegerobligatorioversionsarray of CardVersionsource_archiveArchiveSourcecreated_byinteger | nullmanual_optionsobjectConfiguración manual del análisis (vista previa).
doc_kindDocKind | nullTipo de documento.
nullsi el tipo no está determinado (por ejemplo, en las tarjetas indexadas antes de que existieran los tipos de documento).doc_kind_confidencenumber | nullGrado de certeza del tipo de documento, de 0 a 1.
doc_kind_sourcestring | nullQué determinó el tipo: reglas (
rules), un usuario (manual) o la clasificación automática. La lista puede ampliarse: trate un valor desconocido como clasificación automática.Valores permitidos:
rulesmanualnullinvoiceDocInvoiceExtraction | nullCampos de una factura, una nota de crédito o un recibo (solo para estos tipos, y solo en la tarjeta, no en la lista).
nullsi no tiene acceso a todo el documento, porque los campos se extraen del documento completo.warningsarray of ReviewWarningAdvertencias del análisis del documento (
ReviewWarning; solo en la tarjeta, no en la lista).enrichmentCardEnrichmentStatus | nullEstado del enriquecimiento (solo en la tarjeta, no en la lista). El tipo de documento, los campos de la factura y los registros financieros se añaden en segundo plano después de la indexación y pueden recalcularse más tarde; aparecen en la tarjeta cuando están listos.
nullsignifica que no hay estado disponible (la tarjeta se indexó sin enriquecimiento en segundo plano).external_idstring | nullID de la tarjeta en el sistema del integrador. Es único en la organización entre las tarjetas que no proceden de fuentes;
nullsignifica que no está definido./v1/cards-by-external-id/{external_id}lee y sustituye la tarjeta a partir de él.length ≤ 512
metadataMetadata
400La solicitud no es válida: el valor de un parámetro o el estado del objeto no permiten la acción (`detail` es un mensaje).
Encabezados de la respuesta
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
application/json
401No se enviaron credenciales (ni una cookie de sesión ni una clave de API) o no se encontró la clave.
Encabezados de la respuesta
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
application/json
403La acción no está permitida: el rol no es suficiente, no hay acceso a la colección o a la tarjeta, la solicitud se ejecuta en modo «View as», o la organización está suspendida o eliminada (`detail` es un objeto con `code: org_suspended | org_deleted`).
Encabezados de la respuesta
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
application/json
404El objeto no existe o no está disponible para usted. La API no confirma la existencia de un objeto restringido.
Encabezados de la respuesta
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
application/json
422Error de validación: el cuerpo o los parámetros no coinciden con el esquema (`detail` es una lista de errores de validación), o el valor de un parámetro está fuera del rango permitido (`detail` es un mensaje).
Encabezados de la respuesta
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
application/json
429Demasiadas solicitudes (`api.rate_limited`), se agotó la cuota de la organización para el minuto, el día o el mes (`api.quota_exceeded`; `error.details` contiene `quota`, `limit` y `reset_at`), se alcanzó el límite de la organización o el servicio de respuestas está ocupado (`answers.engine_busy`). Espere el tiempo indicado en el encabezado `Retry-After`.
Encabezados de la respuesta
Retry-AfterNúmero de segundos que hay que esperar antes de reintentar la solicitud.
RateLimit-PolicyLímites vigentes, en el formato del borrador del IETF
draft-ietf-httpapi-ratelimit-headers: elementos separados por comas"<name>";q=<quota>;w=<window in seconds>.keyes la frecuencia de solicitudes de la clave de API (la cuota es la ráfaga y la ventana es el tiempo que tarda en recargarse por completo; para una sesión esusery sin credenciales,ip);minute,dayymonthson las cuotas de la organización para el minuto, el día y el mes naturales en UTC.RateLimitLo que queda de cada límite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímite de la entrada más estricta de
RateLimit-Policy(la que tiene menos solicitudes restantes).X-RateLimit-RemainingSolicitudes restantes del límite más estricto.
X-RateLimit-ResetSegundos hasta que se restablece el límite más estricto.
application/json
Códigos de error
Códigos que este endpoint puede devolver en error.code, además de los códigos generales de cualquier solicitud.
Reintentos seguros
Envíe un encabezado Idempotency-Key (por ejemplo, un UUID) con cada POST y PATCH. Un reintento con la misma clave en un plazo de 24 horas devuelve la respuesta guardada en lugar de volver a ejecutar la solicitud.
Límites de frecuencia
Las respuestas incluyen los encabezados RateLimit y RateLimit-Policy y los anteriores X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset. Una respuesta 429 lleva Retry-After en segundos: espere y vuelva a intentarlo.