GET/v1/folders
Obter as árvores de pastas de todas as coleções
folder_trees
Retorna, em uma única resposta, as árvores de pastas de todas as coleções em que o usuário pode ver pelo menos um objeto, com as mesmas regras de visibilidade de GET /v1/collections/{name}/folders e na ordem de GET /v1/collections. Uma coleção sem objetos visíveis fica de fora. Além de cards, cada pasta tem os totais da subárvore cards_total, sensitive_total e top_category. Com updated_since ou metadata[<key>]=, as folders de cada coleção trazem as pastas que atendem ao filtro como uma lista plana (children fica vazio, e parent_id indica o lugar na árvore). Com updated_since, elas são ordenadas por updated_at em ordem crescente e depois por id; sem ele, na ordem de sort_key. As coleções sem pastas que atendam ao filtro ficam de fora.
Autenticação
Envie uma chave de API no cabeçalho Authorization: Authorization: Bearer <chave>.
Parâmetros de consulta
limitintegerTamanho da página. Sem
limitecursor, a lista inteira é retornada; com esse parâmetro, no máximolimititens, e a próxima página é informada nos cabeçalhosLink(rel="next") eX-Next-Cursor.≥ 1, ≤ 200
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
updated_sincestring (date-time)Só objetos com
updated_atigual ou posterior a este momento (RFC 3339 com deslocamento de fuso horário), para sincronização. Com ele, a lista é ordenada porupdated_atem ordem crescente e depois porid, e o cursor continua nessa ordem. Objetos excluídos não aparecem na lista: as exclusões chegam como eventos.length ≤ 512
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.
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
collection_idintegerobrigatóriocollection_namestringobrigatóriocollection_titlestringobrigatórioNome da coleção para exibição.
permissionsarray of stringobrigatórioAs permissões efetivas do usuário na coleção.
unfiledintegerobrigatórioCartões da coleção disponíveis para o usuário que não estão em nenhuma pasta. Cartões arquivados não são contados, como na lista de cartões padrão.
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
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.
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.