GET/v1/cards
Listar cartões
list_cards
Retorna cartões com filtros, ordenação e paginação. Com preview=1 (para a visualização em blocos), cada cartão também tem preview (os primeiros 200 caracteres do texto) e preview_tables (planilhas com o número de linhas de cada uma), dentro do seu perfil de dados.
Autenticação
Envie uma chave de API no cabeçalho Authorization: Authorization: Bearer <chave>.
Parâmetros de consulta
collectionstring | nullfolderstring | null<folder ID>retorna os cartões da pasta e de todas as subpastas dela.noneretorna os cartões da coleção que não estão em nenhuma pasta e exigecollection(caso contrário,400 cards.invalid_folder_filter). Se a pasta não existir ou não estiver visível para você, a requisição retorna404 folders.not_found.length ≤ 64
statusstring | nullValores permitidos:
processingreadyerrorarchivedallownerstring | nullme,noneou o ID de um usuário.owner_idinteger | nullverificationstring | nullValores permitidos:
verifiedneeds_verificationstalekindCardKindtypestring | nulltableretorna cartões com tabelas de fatos,textretorna cartões sem elas.Valores permitidos:
tabletexttagsstring | nullEtiquetas separadas por vírgula (o cartão precisa ter todas).
idsstring | nullIDs de cartões separados por vírgula.
searchstring | nullcategorystring | nullsensitiveboolean | nullsortCardSortPadrão: "created_at"
orderstringValores permitidos:
ascdescPadrão: "desc"
limitintegerPadrão: 200
offsetintegerPadrão: 0
previewbooleantrueacrescentapreview(os primeiros 200 caracteres) epreview_tablespara a visualização em blocos.Padrão: false
updated_sincestring (date-time)Só cartões com
updated_atigual ou posterior a este momento (RFC 3339 com deslocamento de fuso horário), para sincronização. Semsorteorderexplícitos, a lista é ordenada porupdated_atem ordem crescente e depois porid. Cartões excluídos não aparecem na lista: as exclusões chegam como eventos.metadatamap of stringFiltro por
metadata:metadata[<key>]=<value>corresponde exatamente. Até 3 condições, e todas precisam ser atendidas (?metadata[team]=support&metadata[crm_id]=A-1042). Mais de 3 condições ou uma chave inválida retornam400 api.metadata_invalid.collection_idintegerColeção por ID. Quando
collectiontambém é enviado, prevalececollection_id. Uma coleção que não existe na organização ou não está visível retorna404 collections.not_found.external_idstringSó o cartão com este
external_id.cursorstringCursor da próxima página, vindo de
X-Next-Cursorou denext_cursorda resposta anterior com os mesmos filtros; ele carrega o tamanho da página. Junto comoffset:422 validation.failed; um cursor de outra lista, de outros filtros ou malformado:400 api.cursor_invalid.length ≤ 512
expand[]array of stringObjetos relacionados a incluir na resposta (desde a versão 1.62.0): um caminho da lista
x-expandableda operação. Repita o parâmetro até 10 vezes. Um caminho tem até 2 segmentos separados por ponto (collection.default_owner). Em uma lista, o caminho começa comdata.e vale para cada item da página (expand[]=data.owner). Um objeto expandido vai para o objetoexpandeddo item, e o campo de ID continua no lugar. Um objeto que quem faz a chamada não pode ver pelas conferências da própria operação de leitura dele é expandido comonull. Um caminho desconhecido, mais de 10 caminhos ou um caminho com mais de 2 segmentos retornam400 api.expand_invalid.items ≤ 10
Parâmetros de cabeçalho
X-View-AsstringSó para chaves de API com a função
admin. Faz a requisição como o perfil de dados<profile>[:viewer|verifier|editor], por exemplo,employee:viewer. A chave de instalação não pode usar este cabeçalho (403).
Parâmetros de cookie
kb_view_asstringCookie do modo “View as” (ver a base como um perfil de dados a vê) de uma sessão.
POST /auth/view-aso define eDELETE /auth/view-aso remove.
Respostas
200Resposta bem-sucedida
Cabeçalhos da resposta
LinkEndereço da próxima página,
<…>; rel="next". Sem o cabeçalho, esta é a última página.X-Next-CursorCursor da próxima página para o parâmetro
cursor. Sem o cabeçalho, esta é a última página.RateLimit-PolicyLimites em vigor, no formato do rascunho da IETF
draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula"<name>";q=<quota>;w=<window in seconds>.keyé a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão éuser, sem credenciais éip);minute,dayemonthsão as cotas da organização para o minuto, o dia e o mês do calendário em UTC.RateLimitO que resta de cada limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite da entrada mais restritiva de
RateLimit-Policy(a que tem menos requisições restantes).X-RateLimit-RemainingRequisições restantes no limite mais restritivo.
X-RateLimit-ResetSegundos até o limite mais restritivo ser reiniciado.
application/json
expandedCardExpandedpermissionsObjectPermissionListaccessstringValores permitidos:
wholepartialaccess_contactstringA quem pedir acesso (só quando
access=partial).aclobjectCampos
verifybooleanobrigatóriowritebooleanobrigatório
categorystringobrigatóriocategory_confidencenumber | nullobrigatóriocategory_lockedbooleanobrigatóriocategory_reviewbooleanobrigatóriocollectionstringobrigatóriocollection_idintegerobrigatóriocollection_titlestringcommentsarray of CardCommentcontent_jsonContentJSON | nullConteúdo do editor da última versão publicada. O campo pode estar ausente; nesse caso, obtenha o conteúdo do editor a partir de um rascunho (
POST /v1/draftscomcard_id).editing_lockEditingLock | nullBloqueio de edição ativo. O campo pode estar ausente; nesse caso, o editor descobre quem tem o bloqueio pelo
409 cards.lockedemPOST /v1/cards/{card_id}/lock.created_atstring (date-time)obrigatóriodays_since_verifiedintegerobrigatórioerrorstring | nullobrigatórioeventsarray of CardEventfeedback_negintegerobrigatóriofeedback_posintegerobrigatóriofoldersarray of CardFolderRefSó na lista de cartões: as pastas que contêm o cartão (as visíveis para o usuário), com os caminhos a partir da raiz da coleção. Uma lista vazia significa que o cartão não está em nenhuma pasta.
has_tablesbooleanSó na lista de cartões.
hidden_partsbooleanidstringobrigatóriojobJob | nullorg_idintegerobrigatórioowner_activeboolean | nullowner_idinteger | nullobrigatórioowner_namestring | nullobrigatóriopagesinteger | nullobrigatórioparserstring | nullobrigatórioAnalisador do documento como código neutro:
document(estrutura completa: páginas, títulos, tabelas, páginas digitalizadas),pdf(a camada de texto do PDF),docx,xlsx,csv,markdown,html,text. A lista pode crescer.sensitivebooleanobrigatóriosha256string | nullobrigatóriosizeintegerobrigatóriosnoozed_atstring (date-time) | nullsnoozed_byinteger | nullsnoozed_untilstring | nullsource_changedbooleanobrigatóriosource_pathstring | nullobrigatóriosource_urlstring | nullobrigatóriostatusstringobrigatórioValores permitidos:
processingreadyerrorarchivedtablesarray of CardTabletagsarray of stringobrigatóriotitlestringobrigatóriotrustnumberobrigatóriotrust_if_verifiednumberupdated_atstring (date-time)obrigatórioverified_atstring (date-time) | nullobrigatórioverified_byinteger | nullobrigatórioverified_by_namestring | nullverifier_idsarray of integerobrigatórioverifiersarray of objectCampos
activebooleanobrigatórioidintegerobrigatórionamestringobrigatório
verify_interval_daysintegerobrigatórioversionintegerobrigatórioversionsarray of CardVersionsource_archiveArchiveSourcecreated_byinteger | nullmanual_optionsobjectConfigurações manuais da análise do documento (prévia).
doc_kindDocKind | nullTipo de documento.
nullse o tipo não foi determinado (por exemplo, nos cartões indexados antes da introdução dos tipos de documento).doc_kind_confidencenumber | nullGrau de certeza do tipo de documento, de 0 a 1.
doc_kind_sourcestring | nullO que determinou o tipo: regras (
rules), um usuário (manual) ou a classificação automática. A lista pode crescer: trate um valor desconhecido como classificação automática.Valores permitidos:
rulesmanualnullinvoiceDocInvoiceExtraction | nullCampos de uma fatura, nota de crédito ou recibo (só nesses tipos, e só no cartão, não na lista).
nullse você não tem acesso ao documento inteiro, porque os campos são extraídos do documento inteiro.warningsarray of ReviewWarningAvisos da análise do documento (
ReviewWarning; só no cartão, não na lista).enrichmentCardEnrichmentStatus | nullStatus do enriquecimento (só no cartão, não na lista). O tipo de documento, os campos da fatura e os registros financeiros são acrescentados em segundo plano após a indexação e podem ser recalculados depois; eles aparecem no cartão quando ficam prontos.
nullsignifica que não há status disponível (o cartão foi indexado sem enriquecimento em segundo plano).external_idstring | nullID do cartão no sistema do integrador. É único na organização entre os cartões que não vêm de fontes;
nullsignifica que não está definido./v1/cards-by-external-id/{external_id}lê e substitui o cartão por ele.length ≤ 512
metadataMetadata
400A requisição é inválida: o valor de um parâmetro ou o estado do objeto não permite a ação (`detail` é uma mensagem).
Cabeçalhos da resposta
RateLimit-PolicyLimites em vigor, no formato do rascunho da IETF
draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula"<name>";q=<quota>;w=<window in seconds>.keyé a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão éuser, sem credenciais éip);minute,dayemonthsão as cotas da organização para o minuto, o dia e o mês do calendário em UTC.RateLimitO que resta de cada limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite da entrada mais restritiva de
RateLimit-Policy(a que tem menos requisições restantes).X-RateLimit-RemainingRequisições restantes no limite mais restritivo.
X-RateLimit-ResetSegundos até o limite mais restritivo ser reiniciado.
application/json
401Nenhuma credencial foi enviada (nem cookie de sessão nem chave de API), ou a chave não foi encontrada.
Cabeçalhos da resposta
RateLimit-PolicyLimites em vigor, no formato do rascunho da IETF
draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula"<name>";q=<quota>;w=<window in seconds>.keyé a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão éuser, sem credenciais éip);minute,dayemonthsão as cotas da organização para o minuto, o dia e o mês do calendário em UTC.RateLimitO que resta de cada limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite da entrada mais restritiva de
RateLimit-Policy(a que tem menos requisições restantes).X-RateLimit-RemainingRequisições restantes no limite mais restritivo.
X-RateLimit-ResetSegundos até o limite mais restritivo ser reiniciado.
application/json
403A ação não é permitida: a função é insuficiente, não há acesso à coleção ou ao cartão, a requisição é executada no modo “View as” ou a organização está suspensa ou excluída (`detail` é um objeto com `code: org_suspended | org_deleted`).
Cabeçalhos da resposta
RateLimit-PolicyLimites em vigor, no formato do rascunho da IETF
draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula"<name>";q=<quota>;w=<window in seconds>.keyé a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão éuser, sem credenciais éip);minute,dayemonthsão as cotas da organização para o minuto, o dia e o mês do calendário em UTC.RateLimitO que resta de cada limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite da entrada mais restritiva de
RateLimit-Policy(a que tem menos requisições restantes).X-RateLimit-RemainingRequisições restantes no limite mais restritivo.
X-RateLimit-ResetSegundos até o limite mais restritivo ser reiniciado.
application/json
404O objeto não existe ou não está disponível para você. A API não confirma que um objeto restrito existe.
Cabeçalhos da resposta
RateLimit-PolicyLimites em vigor, no formato do rascunho da IETF
draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula"<name>";q=<quota>;w=<window in seconds>.keyé a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão éuser, sem credenciais éip);minute,dayemonthsão as cotas da organização para o minuto, o dia e o mês do calendário em UTC.RateLimitO que resta de cada limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite da entrada mais restritiva de
RateLimit-Policy(a que tem menos requisições restantes).X-RateLimit-RemainingRequisições restantes no limite mais restritivo.
X-RateLimit-ResetSegundos até o limite mais restritivo ser reiniciado.
application/json
422Erro de validação: o corpo ou os parâmetros não correspondem ao esquema (`detail` é uma lista de erros de validação), ou o valor de um parâmetro está fora do intervalo (`detail` é uma mensagem).
Cabeçalhos da resposta
RateLimit-PolicyLimites em vigor, no formato do rascunho da IETF
draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula"<name>";q=<quota>;w=<window in seconds>.keyé a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão éuser, sem credenciais éip);minute,dayemonthsão as cotas da organização para o minuto, o dia e o mês do calendário em UTC.RateLimitO que resta de cada limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite da entrada mais restritiva de
RateLimit-Policy(a que tem menos requisições restantes).X-RateLimit-RemainingRequisições restantes no limite mais restritivo.
X-RateLimit-ResetSegundos até o limite mais restritivo ser reiniciado.
application/json
429Requisições demais (`api.rate_limited`), a cota da organização para o minuto, o dia ou o mês se esgotou (`api.quota_exceeded`; `error.details` contém `quota`, `limit` e `reset_at`), o limite da organização foi atingido ou o serviço de respostas está ocupado (`answers.engine_busy`). Aguarde o tempo indicado no cabeçalho `Retry-After`.
Cabeçalhos da resposta
Retry-AfterNúmero de segundos a esperar antes de tentar a requisição novamente.
RateLimit-PolicyLimites em vigor, no formato do rascunho da IETF
draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula"<name>";q=<quota>;w=<window in seconds>.keyé a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão éuser, sem credenciais éip);minute,dayemonthsão as cotas da organização para o minuto, o dia e o mês do calendário em UTC.RateLimitO que resta de cada limite de
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite da entrada mais restritiva de
RateLimit-Policy(a que tem menos requisições restantes).X-RateLimit-RemainingRequisições restantes no limite mais restritivo.
X-RateLimit-ResetSegundos até o limite mais restritivo ser reiniciado.
application/json
Códigos de erro
Códigos que este endpoint pode retornar em error.code, além dos códigos gerais de qualquer requisição.
- 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 taxa
As respostas trazem os cabeçalhos RateLimit e RateLimit-Policy e os anteriores X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset. Uma resposta 429 traz Retry-After em segundos: aguarde e tente de novo.