POST/v1/cards/{card_id}/verify
Confirmar que una entrada està al dia
verify_card
Autenticació
Envieu una clau d’API a la capçalera Authorization: Authorization: Bearer <clau>.
Paràmetres de camí
card_idstringobligatori
Paràmetres de capçalera
Idempotency-KeystringClau per reintentar una escriptura de manera segura: d’1 a 255 caràcters ASCII imprimibles; es recomana un UUID v4 per operació lògica. Un reintent amb la mateixa clau en un termini de 24 hores no torna a executar l’operació: retorna la resposta desada (estat, capçaleres i cos) amb la capçalera
Idempotency-Replayed: true. La mateixa clau amb un mètode, un camí, unContent-Typeo un cos diferents retorna409 api.idempotency_mismatch; mentre la primera sol·licitud encara s’executa,409 api.idempotency_in_progressambRetry-After: 1. Després d’una resposta 5xx o 429 la clau s’allibera, i un reintent torna a executar l’operació. L’abast de la clau és l’organització i qui fa la crida (clau d’API, usuari o clau de font personalitzada).length ≥ 1, length ≤ 255
X-View-AsstringNomés per a claus d’API amb el rol
admin. Fa la sol·licitud com el perfil de dades<profile>[:viewer|verifier|editor], per exempleemployee:viewer. La clau d’instal·lació no pot fer servir aquesta capçalera (403).
Paràmetres de galeta
kb_view_asstringGaleta del mode «View as» per a una sessió.
POST /auth/view-asl’estableix iDELETE /auth/view-asl’esborra.
Cos de la sol·licitud
Respostes
200Resposta correcta
Capçaleres de la resposta
RateLimit-PolicyLímits vigents, en el format de l’esborrany de l’IETF
draft-ietf-httpapi-ratelimit-headers: elements separats per comes"<name>";q=<quota>;w=<window in seconds>.keyés la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió ésuser, sense credencialsip);minute,dayimonthsón les quotes de l’organització per al minut, el dia i el mes naturals en UTC.RateLimitEl que queda de cada límit de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímit de l’element més restrictiu de
RateLimit-Policy(el que té menys sol·licituds restants).X-RateLimit-RemainingSol·licituds restants dins del límit més restrictiu.
X-RateLimit-ResetSegons que falten perquè es restableixi el límit més restrictiu.
Idempotency-Replayedtrueindica que la resposta s’ha reproduït a partir de la desada per a aquestaIdempotency-Key: l’operació no s’ha tornat a executar.
application/json
expandedCardExpandedpermissionsObjectPermissionListaccessstringValors permesos:
wholepartialaccess_contactstringPersona a qui cal adreçar-se per obtenir accés (només quan
access=partial).aclobjectCamps
verifybooleanobligatoriwritebooleanobligatori
categorystringobligatoricategory_confidencenumber | nullobligatoricategory_lockedbooleanobligatoricategory_reviewbooleanobligatoricollectionstringobligatoricollection_idintegerobligatoricollection_titlestringcommentsarray of CardCommentcontent_jsonContentJSON | nullContingut de l’editor de l’última versió publicada. El camp pot no ser-hi; en aquest cas, obteniu el contingut de l’editor d’un esborrany (
POST /v1/draftsambcard_id).editing_lockEditingLock | nullBloqueig d’edició actiu. El camp pot no ser-hi; en aquest cas, l’editor sap qui té el bloqueig per la resposta
409 cards.lockeddePOST /v1/cards/{card_id}/lock.created_atstring (date-time)obligatoridays_since_verifiedintegerobligatorierrorstring | nullobligatorieventsarray of CardEventfeedback_negintegerobligatorifeedback_posintegerobligatorifoldersarray of CardFolderRefNomés a la llista d’entrades: les carpetes que contenen l’entrada (les que l’usuari pot veure), amb els seus camins des de l’arrel de la col·lecció. Una llista buida vol dir que l’entrada no és a cap carpeta.
has_tablesbooleanNomés a la llista d’entrades.
hidden_partsbooleanidstringobligatorijobJob | nullorg_idintegerobligatoriowner_activeboolean | nullowner_idinteger | nullobligatoriowner_namestring | nullobligatoripagesinteger | nullobligatoriparserstring | nullobligatoriAnalitzador del document com a codi neutre:
document(estructura completa: pàgines, títols, taules, pàgines escanejades),pdf(la capa de text del PDF),docx,xlsx,csv,markdown,html,text. La llista pot créixer.sensitivebooleanobligatorisha256string | nullobligatorisizeintegerobligatorisnoozed_atstring (date-time) | nullsnoozed_byinteger | nullsnoozed_untilstring | nullsource_changedbooleanobligatorisource_pathstring | nullobligatorisource_urlstring | nullobligatoristatusstringobligatoriValors permesos:
processingreadyerrorarchivedtablesarray of CardTabletagsarray of stringobligatorititlestringobligatoritrustnumberobligatoritrust_if_verifiednumberupdated_atstring (date-time)obligatoriverified_atstring (date-time) | nullobligatoriverified_byinteger | nullobligatoriverified_by_namestring | nullverifier_idsarray of integerobligatoriverifiersarray of objectCamps
activebooleanobligatoriidintegerobligatorinamestringobligatori
verify_interval_daysintegerobligatoriversionintegerobligatoriversionsarray of CardVersionsource_archiveArchiveSourcecreated_byinteger | nullmanual_optionsobjectConfiguració manual de l’anàlisi (previsualització).
doc_kindDocKind | nullTipus de document.
nullsi el tipus no s’ha determinat (per exemple, en entrades indexades abans que s’introduïssin els tipus de document).doc_kind_confidencenumber | nullGrau de certesa del tipus de document, de 0 a 1.
doc_kind_sourcestring | nullQuè ha determinat el tipus: regles (
rules), un usuari (manual) o la classificació automàtica. La llista pot créixer: tracteu un valor desconegut com a classificació automàtica.Valors permesos:
rulesmanualnullinvoiceDocInvoiceExtraction | nullCamps d’una factura, una nota d’abonament o un rebut (només per a aquests tipus, i només a l’entrada, no a la llista).
nullsi no teniu accés a tot el document, perquè els camps s’extreuen del document sencer.warningsarray of ReviewWarningAvisos de l’anàlisi del document (
ReviewWarning; només a l’entrada, no a la llista).enrichmentCardEnrichmentStatus | nullEstat de l’enriquiment (només a l’entrada, no a la llista). El tipus de document, els camps de la factura i els registres financers s’afegeixen en segon pla després de la indexació i es poden tornar a calcular més endavant; apareixen a l’entrada quan estan llestos.
nullvol dir que no hi ha cap estat disponible (l’entrada es va indexar sense enriquiment en segon pla).external_idstring | nullID de l’entrada al sistema de l’integrador. És únic a l’organització entre les entrades que no provenen de fonts;
nullvol dir que no està definit./v1/cards-by-external-id/{external_id}llegeix i substitueix l’entrada a partir d’aquest ID.length ≤ 512
metadataMetadata
400La sol·licitud no és vàlida: el valor d’un paràmetre o l’estat de l’objecte no permeten l’acció (`detail` és un missatge).
Capçaleres de la resposta
RateLimit-PolicyLímits vigents, en el format de l’esborrany de l’IETF
draft-ietf-httpapi-ratelimit-headers: elements separats per comes"<name>";q=<quota>;w=<window in seconds>.keyés la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió ésuser, sense credencialsip);minute,dayimonthsón les quotes de l’organització per al minut, el dia i el mes naturals en UTC.RateLimitEl que queda de cada límit de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímit de l’element més restrictiu de
RateLimit-Policy(el que té menys sol·licituds restants).X-RateLimit-RemainingSol·licituds restants dins del límit més restrictiu.
X-RateLimit-ResetSegons que falten perquè es restableixi el límit més restrictiu.
application/json
401No s’han enviat credencials (ni una galeta de sessió ni una clau d’API), o no s’ha trobat la clau.
Capçaleres de la resposta
RateLimit-PolicyLímits vigents, en el format de l’esborrany de l’IETF
draft-ietf-httpapi-ratelimit-headers: elements separats per comes"<name>";q=<quota>;w=<window in seconds>.keyés la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió ésuser, sense credencialsip);minute,dayimonthsón les quotes de l’organització per al minut, el dia i el mes naturals en UTC.RateLimitEl que queda de cada límit de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímit de l’element més restrictiu de
RateLimit-Policy(el que té menys sol·licituds restants).X-RateLimit-RemainingSol·licituds restants dins del límit més restrictiu.
X-RateLimit-ResetSegons que falten perquè es restableixi el límit més restrictiu.
application/json
403L’acció no està permesa: el rol és insuficient, no hi ha accés a la col·lecció o a l’entrada, la sol·licitud s’executa en mode «View as», o l’organització està suspesa o eliminada (`detail` és un objecte amb `code: org_suspended | org_deleted`).
Capçaleres de la resposta
RateLimit-PolicyLímits vigents, en el format de l’esborrany de l’IETF
draft-ietf-httpapi-ratelimit-headers: elements separats per comes"<name>";q=<quota>;w=<window in seconds>.keyés la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió ésuser, sense credencialsip);minute,dayimonthsón les quotes de l’organització per al minut, el dia i el mes naturals en UTC.RateLimitEl que queda de cada límit de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímit de l’element més restrictiu de
RateLimit-Policy(el que té menys sol·licituds restants).X-RateLimit-RemainingSol·licituds restants dins del límit més restrictiu.
X-RateLimit-ResetSegons que falten perquè es restableixi el límit més restrictiu.
application/json
404L’objecte no existeix o no està disponible per a vós. L’API no confirma que existeixi un objecte restringit.
Capçaleres de la resposta
RateLimit-PolicyLímits vigents, en el format de l’esborrany de l’IETF
draft-ietf-httpapi-ratelimit-headers: elements separats per comes"<name>";q=<quota>;w=<window in seconds>.keyés la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió ésuser, sense credencialsip);minute,dayimonthsón les quotes de l’organització per al minut, el dia i el mes naturals en UTC.RateLimitEl que queda de cada límit de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímit de l’element més restrictiu de
RateLimit-Policy(el que té menys sol·licituds restants).X-RateLimit-RemainingSol·licituds restants dins del límit més restrictiu.
X-RateLimit-ResetSegons que falten perquè es restableixi el límit més restrictiu.
application/json
422Error de validació: el cos o els paràmetres no coincideixen amb l’esquema (`detail` és una llista d’errors de validació), o el valor d’un paràmetre és fora de l’interval permès (`detail` és un missatge).
Capçaleres de la resposta
RateLimit-PolicyLímits vigents, en el format de l’esborrany de l’IETF
draft-ietf-httpapi-ratelimit-headers: elements separats per comes"<name>";q=<quota>;w=<window in seconds>.keyés la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió ésuser, sense credencialsip);minute,dayimonthsón les quotes de l’organització per al minut, el dia i el mes naturals en UTC.RateLimitEl que queda de cada límit de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímit de l’element més restrictiu de
RateLimit-Policy(el que té menys sol·licituds restants).X-RateLimit-RemainingSol·licituds restants dins del límit més restrictiu.
X-RateLimit-ResetSegons que falten perquè es restableixi el límit més restrictiu.
application/json
429Massa sol·licituds (`api.rate_limited`), s’ha esgotat la quota de l’organització per al minut, el dia o el mes (`api.quota_exceeded`; `error.details` conté `quota`, `limit` i `reset_at`), s’ha arribat al límit de l’organització o el servei de respostes està ocupat (`answers.engine_busy`). Espereu el temps que indica la capçalera `Retry-After`.
Capçaleres de la resposta
Retry-AfterNombre de segons que cal esperar abans de reintentar la sol·licitud.
RateLimit-PolicyLímits vigents, en el format de l’esborrany de l’IETF
draft-ietf-httpapi-ratelimit-headers: elements separats per comes"<name>";q=<quota>;w=<window in seconds>.keyés la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió ésuser, sense credencialsip);minute,dayimonthsón les quotes de l’organització per al minut, el dia i el mes naturals en UTC.RateLimitEl que queda de cada límit de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLímit de l’element més restrictiu de
RateLimit-Policy(el que té menys sol·licituds restants).X-RateLimit-RemainingSol·licituds restants dins del límit més restrictiu.
X-RateLimit-ResetSegons que falten perquè es restableixi el límit més restrictiu.
application/json
Codis d’error
Codis que aquest punt final pot retornar a error.code, a més dels codis generals de totes les sol·licituds.
Reintents segurs
Envieu una capçalera Idempotency-Key (per exemple, un UUID) amb cada POST i PATCH. Un reintent amb la mateixa clau en un termini de 24 hores retorna la resposta desada en lloc de tornar a executar la sol·licitud.
Límits de freqüència
Les respostes porten les capçaleres RateLimit i RateLimit-Policy i les anteriors X-RateLimit-Limit, X-RateLimit-Remaining i X-RateLimit-Reset. Una resposta 429 té Retry-After en segons: espereu i torneu-ho a provar.