GET/v1/cards
Listar tarjetas
list_cards
Devuelve tarjetas con filtros, ordenación y paginación. Con preview=1 (para la vista de mosaico), cada tarjeta incluye además preview (los primeros 200 caracteres del texto) y preview_tables (hojas con su número de filas), dentro de su perfil de datos.
Autenticación
Envíe una clave de API en el encabezado Authorization: Authorization: Bearer <clave>.
Parámetros de consulta
collectionstring | nullfolderstring | null<folder ID>devuelve las tarjetas de la carpeta y de todas sus subcarpetas.nonedevuelve las tarjetas de la colección que no están en ninguna carpeta y requierecollection(de lo contrario,400 cards.invalid_folder_filter). Si la carpeta no existe o no es visible para usted, la solicitud devuelve404 folders.not_found.length ≤ 64
statusstring | nullValores permitidos:
processingreadyerrorarchivedallownerstring | nullme,noneo un ID de usuario.owner_idinteger | nullverificationstring | nullValores permitidos:
verifiedneeds_verificationstalekindCardKindtypestring | nulltabledevuelve las tarjetas con tablas de hechos;text, las tarjetas sin ellas.Valores permitidos:
tabletexttagsstring | nullEtiquetas separadas por comas (una tarjeta debe tenerlas todas).
idsstring | nullID de tarjeta separados por comas.
searchstring | nullcategorystring | nullsensitiveboolean | nullsortCardSortPredeterminado: "created_at"
orderstringValores permitidos:
ascdescPredeterminado: "desc"
limitintegerPredeterminado: 200
offsetintegerPredeterminado: 0
previewbooleantrueañadepreview(los primeros 200 caracteres) ypreview_tablespara la vista de mosaico.Predeterminado: false
updated_sincestring (date-time)Solo las tarjetas con
updated_atigual o posterior a este momento (RFC 3339 con desfase horario), para la sincronización. Sinsortyorderexplícitos, la lista se ordena porupdated_atascendente y después porid. Las tarjetas eliminadas no aparecen en la lista: las eliminaciones llegan como eventos.metadatamap of stringFiltro por
metadata:metadata[<key>]=<value>busca una coincidencia exacta. Hasta 3 condiciones, y deben cumplirse todas (?metadata[team]=support&metadata[crm_id]=A-1042). Más de 3 condiciones o una clave no válida devuelven400 api.metadata_invalid.collection_idintegerColección por ID. Si también se pasa
collection, prevalececollection_id. Una colección que no existe en la organización o no es visible devuelve404 collections.not_found.external_idstringSolo la tarjeta con este
external_id.cursorstringCursor de la página siguiente, tomado de
X-Next-Cursoro denext_cursorde la respuesta anterior con los mismos filtros; incluye el tamaño de página. Junto conoffset:422 validation.failed; un cursor de otra lista, de otros filtros o mal formado:400 api.cursor_invalid.length ≤ 512
expand[]array of stringObjetos relacionados que se incluyen en la respuesta (desde 1.62.0): una ruta de la lista
x-expandablede la operación. Repita el parámetro hasta 10 veces. Una ruta tiene hasta 2 segmentos separados por un punto (collection.default_owner). En una lista, la ruta empieza pordata.y se aplica a todos los elementos de la página (expand[]=data.owner). Un objeto expandido va al objetoexpandeddel elemento, y el campo de ID se mantiene. Un objeto que quien llama a la API no puede ver según las comprobaciones de su propia operación de lectura se expande comonull. Una ruta desconocida, más de 10 rutas o una ruta con más de 2 segmentos devuelven400 api.expand_invalid.items ≤ 10
Parámetros de encabezado
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.
Respuestas
200Respuesta correcta
Encabezados de la respuesta
LinkDirección de la página siguiente,
<…>; rel="next". Si no hay encabezado, es la última página.X-Next-CursorCursor de la página siguiente para el parámetro
cursor. Si no hay encabezado, es la última página.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
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.
- 400api.expand_invalid
- 400api.metadata_invalid
- 401auth.not_authenticated
- 403auth.system_scope
- 400cards.invalid_folder_filter
- 400cards.invalid_kind_filter
- 400cards.invalid_order
- 400cards.invalid_owner_filter
- 400cards.invalid_sort
- 400cards.invalid_status_filter
- 400cards.invalid_type_filter
- 400cards.invalid_verification_filter
- 400categories.unknown
- 403collections.no_access
- 404collections.not_found
- 404folders.not_found
- 403org.deleted
- 403org.suspended
- 403view_as.read_only
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.