GET/v1/cards
Lister les fiches
list_cards
Renvoie les fiches avec filtres, tri et pagination. Avec preview=1 (pour la vue en mosaïque), chaque fiche comporte aussi preview (les 200 premiers caractères du texte) et preview_tables (les feuilles avec leur nombre de lignes), dans les limites de votre profil de données.
Authentification
Envoyez une clé API dans l’en-tête Authorization : Authorization: Bearer <clé>.
Paramètres de requête
collectionstring | nullfolderstring | null<folder ID>renvoie les fiches du dossier et de tous ses sous-dossiers.nonerenvoie les fiches de la collection qui ne sont dans aucun dossier et exigecollection(sinon400 cards.invalid_folder_filter). Si le dossier n’existe pas ou ne vous est pas visible, la requête renvoie404 folders.not_found.length ≤ 64
statusstring | nullValeurs autorisées:
processingreadyerrorarchivedallownerstring | nullme,noneou un ID d’utilisateur.owner_idinteger | nullverificationstring | nullValeurs autorisées:
verifiedneeds_verificationstalekindCardKindtypestring | nulltablerenvoie les fiches avec des tables de faits,textles fiches sans table de faits.Valeurs autorisées:
tabletexttagsstring | nullÉtiquettes séparées par des virgules (une fiche doit les avoir toutes).
idsstring | nullID de fiches séparés par des virgules.
searchstring | nullcategorystring | nullsensitiveboolean | nullsortCardSortPar défaut : "created_at"
orderstringValeurs autorisées:
ascdescPar défaut : "desc"
limitintegerPar défaut : 200
offsetintegerPar défaut : 0
previewbooleantrueajoutepreview(les 200 premiers caractères) etpreview_tablespour la vue en mosaïque.Par défaut : false
updated_sincestring (date-time)Uniquement les fiches dont
updated_atest égal ou postérieur à ce moment (RFC 3339 avec décalage horaire), pour la synchronisation. Sanssortniorderexplicites, la liste est triée parupdated_atcroissant, puis parid. Les fiches supprimées ne sont pas listées : les suppressions arrivent sous forme d’événements.metadatamap of stringFiltre par
metadata:metadata[<key>]=<value>vérifie une correspondance exacte. Jusqu’à 3 conditions, qui doivent toutes être remplies (?metadata[team]=support&metadata[crm_id]=A-1042). Plus de 3 conditions ou une clé invalide renvoient400 api.metadata_invalid.collection_idintegerCollection par ID. Si
collectionest aussi transmis,collection_idl’emporte. Une collection qui n’existe pas dans l’organisation ou qui n’est pas visible renvoie404 collections.not_found.external_idstringUniquement la fiche avec cet
external_id.cursorstringCurseur de la page suivante, tiré de
X-Next-Cursorou denext_cursorde la réponse précédente avec les mêmes filtres ; il porte la taille de page. Avecoffset:422 validation.failed; curseur d’une autre liste, d’autres filtres ou mal formé :400 api.cursor_invalid.length ≤ 512
expand[]array of stringObjets liés à inclure dans la réponse (depuis la version 1.62.0) : un chemin de la liste
x-expandablede l’opération. Répétez le paramètre jusqu’à 10 fois. Un chemin a au plus 2 segments séparés par un point (collection.default_owner). Dans une liste, le chemin commence pardata.et s’applique à chaque élément de la page (expand[]=data.owner). Un objet développé va dans l’objetexpandedde l’élément, et le champ d’ID reste en place. Un objet que l’appelant n’a pas le droit de voir selon les contrôles de sa propre opération de lecture est développé ennull. Un chemin inconnu, plus de 10 chemins ou un chemin de plus de 2 segments renvoie400 api.expand_invalid.items ≤ 10
Paramètres d’en-tête
X-View-AsstringUniquement pour les clés API ayant le rôle
admin. Exécute la requête avec le profil de données<profile>[:viewer|verifier|editor], par exempleemployee:viewer. La clé d’installation ne peut pas utiliser cet en-tête (403).
Paramètres de cookie
kb_view_asstringCookie du mode « View as » pour une session.
POST /auth/view-asle définit etDELETE /auth/view-asle supprime.
Réponses
200Réponse réussie
En-têtes de la réponse
LinkAdresse de la page suivante,
<…>; rel="next". L’absence de cet en-tête signifie qu’il s’agit de la dernière page.X-Next-CursorCurseur de la page suivante pour le paramètre
cursor. L’absence de cet en-tête signifie qu’il s’agit de la dernière page.RateLimit-PolicyLimites en vigueur, au format du brouillon IETF
draft-ietf-httpapi-ratelimit-headers: éléments séparés par des virgules"<name>";q=<quota>;w=<window in seconds>.keyest le débit de requêtes de la clé API (le quota est la rafale, la fenêtre est le temps nécessaire pour la reconstituer entièrement ; pour une session, c’estuser, sans identifiants,ip) ;minute,dayetmonthsont les quotas de l’organisation pour la minute, le jour et le mois calendaires en UTC.RateLimitCe qui reste de chaque limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite de l’entrée la plus stricte de
RateLimit-Policy(celle à laquelle il reste le moins de requêtes).X-RateLimit-RemainingRequêtes restantes au titre de la limite la plus stricte.
X-RateLimit-ResetSecondes restantes avant la réinitialisation de la limite la plus stricte.
application/json
expandedCardExpandedpermissionsObjectPermissionListaccessstringValeurs autorisées:
wholepartialaccess_contactstringPersonne à contacter pour obtenir l’accès (uniquement si
access=partial).aclobjectChamps
verifybooleanobligatoirewritebooleanobligatoire
categorystringobligatoirecategory_confidencenumber | nullobligatoirecategory_lockedbooleanobligatoirecategory_reviewbooleanobligatoirecollectionstringobligatoirecollection_idintegerobligatoirecollection_titlestringcommentsarray of CardCommentcontent_jsonContentJSON | nullContenu de l’éditeur de la dernière version publiée. Le champ peut être absent ; dans ce cas, obtenez le contenu de l’éditeur à partir d’un brouillon (
POST /v1/draftsaveccard_id).editing_lockEditingLock | nullVerrou de modification actif. Le champ peut être absent ; dans ce cas, l’éditeur apprend qui détient le verrou par la réponse
409 cards.lockeddePOST /v1/cards/{card_id}/lock.created_atstring (date-time)obligatoiredays_since_verifiedintegerobligatoireerrorstring | nullobligatoireeventsarray of CardEventfeedback_negintegerobligatoirefeedback_posintegerobligatoirefoldersarray of CardFolderRefListe des fiches uniquement : les dossiers qui contiennent la fiche (ceux que l’utilisateur voit), avec leurs chemins depuis la racine de la collection. Une liste vide signifie que la fiche n’est dans aucun dossier.
has_tablesbooleanListe des fiches uniquement.
hidden_partsbooleanidstringobligatoirejobJob | nullorg_idintegerobligatoireowner_activeboolean | nullowner_idinteger | nullobligatoireowner_namestring | nullobligatoirepagesinteger | nullobligatoireparserstring | nullobligatoireAnalyseur du document sous forme de code neutre :
document(structure complète : pages, titres, tableaux, pages numérisées),pdf(la couche texte du PDF),docx,xlsx,csv,markdown,html,text. La liste peut s’étendre.sensitivebooleanobligatoiresha256string | nullobligatoiresizeintegerobligatoiresnoozed_atstring (date-time) | nullsnoozed_byinteger | nullsnoozed_untilstring | nullsource_changedbooleanobligatoiresource_pathstring | nullobligatoiresource_urlstring | nullobligatoirestatusstringobligatoireValeurs autorisées:
processingreadyerrorarchivedtablesarray of CardTabletagsarray of stringobligatoiretitlestringobligatoiretrustnumberobligatoiretrust_if_verifiednumberupdated_atstring (date-time)obligatoireverified_atstring (date-time) | nullobligatoireverified_byinteger | nullobligatoireverified_by_namestring | nullverifier_idsarray of integerobligatoireverifiersarray of objectChamps
activebooleanobligatoireidintegerobligatoirenamestringobligatoire
verify_interval_daysintegerobligatoireversionintegerobligatoireversionsarray of CardVersionsource_archiveArchiveSourcecreated_byinteger | nullmanual_optionsobjectParamètres d’analyse manuels (aperçu).
doc_kindDocKind | nullType de document.
nullsi le type n’est pas déterminé (par exemple, pour les fiches indexées avant l’introduction des types de documents).doc_kind_confidencenumber | nullDegré de certitude quant au type de document, de 0 à 1.
doc_kind_sourcestring | nullCe qui a déterminé le type : des règles (
rules), un utilisateur (manual) ou la classification automatique. La liste peut s’étendre : traitez une valeur inconnue comme une classification automatique.Valeurs autorisées:
rulesmanualnullinvoiceDocInvoiceExtraction | nullChamps d’une facture, d’un avoir ou d’un reçu (uniquement pour ces types, et uniquement dans la fiche, pas dans la liste).
nullsi vous n’avez pas accès au document entier, car les champs sont extraits du document entier.warningsarray of ReviewWarningAvertissements de l’analyse du document (
ReviewWarning; uniquement dans la fiche, pas dans la liste).enrichmentCardEnrichmentStatus | nullÉtat de l’enrichissement (uniquement dans la fiche, pas dans la liste). Le type de document, les champs de facture et les entrées financières sont ajoutés en arrière-plan après l’indexation et peuvent être recalculés plus tard ; ils apparaissent dans la fiche quand ils sont prêts.
nullsignifie qu’aucun état n’est disponible (la fiche a été indexée sans enrichissement en arrière-plan).external_idstring | nullID de la fiche dans le système de l’intégrateur. Il est unique dans l’organisation parmi les fiches qui ne proviennent pas de sources ;
nullsignifie qu’il n’est pas défini./v1/cards-by-external-id/{external_id}lit et remplace la fiche par cet ID.length ≤ 512
metadataMetadata
400La requête est invalide : la valeur d’un paramètre ou l’état de l’objet ne permet pas l’action (`detail` est un message).
En-têtes de la réponse
RateLimit-PolicyLimites en vigueur, au format du brouillon IETF
draft-ietf-httpapi-ratelimit-headers: éléments séparés par des virgules"<name>";q=<quota>;w=<window in seconds>.keyest le débit de requêtes de la clé API (le quota est la rafale, la fenêtre est le temps nécessaire pour la reconstituer entièrement ; pour une session, c’estuser, sans identifiants,ip) ;minute,dayetmonthsont les quotas de l’organisation pour la minute, le jour et le mois calendaires en UTC.RateLimitCe qui reste de chaque limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite de l’entrée la plus stricte de
RateLimit-Policy(celle à laquelle il reste le moins de requêtes).X-RateLimit-RemainingRequêtes restantes au titre de la limite la plus stricte.
X-RateLimit-ResetSecondes restantes avant la réinitialisation de la limite la plus stricte.
application/json
401Aucun identifiant n’a été envoyé (ni cookie de session ni clé API), ou la clé est introuvable.
En-têtes de la réponse
RateLimit-PolicyLimites en vigueur, au format du brouillon IETF
draft-ietf-httpapi-ratelimit-headers: éléments séparés par des virgules"<name>";q=<quota>;w=<window in seconds>.keyest le débit de requêtes de la clé API (le quota est la rafale, la fenêtre est le temps nécessaire pour la reconstituer entièrement ; pour une session, c’estuser, sans identifiants,ip) ;minute,dayetmonthsont les quotas de l’organisation pour la minute, le jour et le mois calendaires en UTC.RateLimitCe qui reste de chaque limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite de l’entrée la plus stricte de
RateLimit-Policy(celle à laquelle il reste le moins de requêtes).X-RateLimit-RemainingRequêtes restantes au titre de la limite la plus stricte.
X-RateLimit-ResetSecondes restantes avant la réinitialisation de la limite la plus stricte.
application/json
403L’action n’est pas autorisée : le rôle est insuffisant, il n’y a pas d’accès à la collection ou à la fiche, la requête s’exécute en mode « View as », ou l’organisation est suspendue ou supprimée (`detail` est un objet avec `code: org_suspended | org_deleted`).
En-têtes de la réponse
RateLimit-PolicyLimites en vigueur, au format du brouillon IETF
draft-ietf-httpapi-ratelimit-headers: éléments séparés par des virgules"<name>";q=<quota>;w=<window in seconds>.keyest le débit de requêtes de la clé API (le quota est la rafale, la fenêtre est le temps nécessaire pour la reconstituer entièrement ; pour une session, c’estuser, sans identifiants,ip) ;minute,dayetmonthsont les quotas de l’organisation pour la minute, le jour et le mois calendaires en UTC.RateLimitCe qui reste de chaque limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite de l’entrée la plus stricte de
RateLimit-Policy(celle à laquelle il reste le moins de requêtes).X-RateLimit-RemainingRequêtes restantes au titre de la limite la plus stricte.
X-RateLimit-ResetSecondes restantes avant la réinitialisation de la limite la plus stricte.
application/json
404L’objet n’existe pas ou ne vous est pas accessible. L’API ne confirme pas l’existence d’un objet à accès restreint.
En-têtes de la réponse
RateLimit-PolicyLimites en vigueur, au format du brouillon IETF
draft-ietf-httpapi-ratelimit-headers: éléments séparés par des virgules"<name>";q=<quota>;w=<window in seconds>.keyest le débit de requêtes de la clé API (le quota est la rafale, la fenêtre est le temps nécessaire pour la reconstituer entièrement ; pour une session, c’estuser, sans identifiants,ip) ;minute,dayetmonthsont les quotas de l’organisation pour la minute, le jour et le mois calendaires en UTC.RateLimitCe qui reste de chaque limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite de l’entrée la plus stricte de
RateLimit-Policy(celle à laquelle il reste le moins de requêtes).X-RateLimit-RemainingRequêtes restantes au titre de la limite la plus stricte.
X-RateLimit-ResetSecondes restantes avant la réinitialisation de la limite la plus stricte.
application/json
422Erreur de validation : le corps ou les paramètres ne correspondent pas au schéma (`detail` est une liste d’erreurs de validation), ou la valeur d’un paramètre est hors des limites admises (`detail` est un message).
En-têtes de la réponse
RateLimit-PolicyLimites en vigueur, au format du brouillon IETF
draft-ietf-httpapi-ratelimit-headers: éléments séparés par des virgules"<name>";q=<quota>;w=<window in seconds>.keyest le débit de requêtes de la clé API (le quota est la rafale, la fenêtre est le temps nécessaire pour la reconstituer entièrement ; pour une session, c’estuser, sans identifiants,ip) ;minute,dayetmonthsont les quotas de l’organisation pour la minute, le jour et le mois calendaires en UTC.RateLimitCe qui reste de chaque limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite de l’entrée la plus stricte de
RateLimit-Policy(celle à laquelle il reste le moins de requêtes).X-RateLimit-RemainingRequêtes restantes au titre de la limite la plus stricte.
X-RateLimit-ResetSecondes restantes avant la réinitialisation de la limite la plus stricte.
application/json
429Trop de requêtes (`api.rate_limited`), quota de l’organisation pour la minute, le jour ou le mois épuisé (`api.quota_exceeded` ; `error.details` contient `quota`, `limit` et `reset_at`), limite de l’organisation atteinte, ou service de réponses occupé (`answers.engine_busy`). Attendez le délai indiqué dans l’en-tête `Retry-After`.
En-têtes de la réponse
Retry-AfterNombre de secondes à attendre avant de réessayer la requête.
RateLimit-PolicyLimites en vigueur, au format du brouillon IETF
draft-ietf-httpapi-ratelimit-headers: éléments séparés par des virgules"<name>";q=<quota>;w=<window in seconds>.keyest le débit de requêtes de la clé API (le quota est la rafale, la fenêtre est le temps nécessaire pour la reconstituer entièrement ; pour une session, c’estuser, sans identifiants,ip) ;minute,dayetmonthsont les quotas de l’organisation pour la minute, le jour et le mois calendaires en UTC.RateLimitCe qui reste de chaque limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite de l’entrée la plus stricte de
RateLimit-Policy(celle à laquelle il reste le moins de requêtes).X-RateLimit-RemainingRequêtes restantes au titre de la limite la plus stricte.
X-RateLimit-ResetSecondes restantes avant la réinitialisation de la limite la plus stricte.
application/json
Codes d’erreur
Codes que ce point de terminaison peut renvoyer dans error.code, en plus des codes généraux communs à toutes les requêtes.
- 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
Limites de débit
Les réponses portent les en-têtes RateLimit et RateLimit-Policy, ainsi que les anciens X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset. Une réponse 429 contient Retry-After en secondes : attendez, puis réessayez.