Tradução automática
Esta página foi traduzida automaticamente por IA e pode conter erros. Se algo não estiver claro, consulte a fonte em inglês.
Roteiro de Descoberta e Melhoria de Endpoints¶
Parte da referência da API web Perplexity — mapa completo no índice da API.
1. Itens conhecidos não explorados / TBD¶
- Campo de ordenação
list_collection_threadse semântica exata detotal_threads(instantâneo de conta ativa em julho de 2026: relatados 99 vs 27 itens de nível superior). - Espectro completo de valores
threadAccess/access/user_permission(amostra observada em julho de 2026: threadAccess 5 normal, 1 com 🔒; collection access 1; permission 4 owner / 2 can edit; dados de assets também carregam thread_access). - Formatos de parâmetros corretos para
list_ask_threads,list_scheduled_computer_tasks(GET direto retorna 400). - Estruturas de resposta de
collections/*/request-access-info,spaces/<uuid>/recurring_tasks,assets/<id>/members. - Por que as operações GraphQL do painel não estão registradas (PERSISTED_QUERY_NOT_FOUND): divergência de versão ou bloqueio de contexto; quando necessário, reextrair com hashes ativos a partir da captura de rede.
- Divisão de trabalho entre
frontend_uuidvsuuidvscontext_uuidem threads de computador. - Campos de sinal da API de threads de ramificação compartilhadas entre contas (branch_of) (ponteiro pai / marcador de ramificação) — mecanismo confirmado (final de §3.3); nenhuma instância arquivada em 23 de julho de 2026; verificar e registrar quando a primeira aparecer.
2. Método de descoberta de endpoints: análise estática do bundle do frontend (custo zero de API; estabelecido em 20 de julho de 2026)¶
Descobertos 147 endpoints /rest/ em uma passada; o método é reutilizável (reexecutar após reformulações do frontend):
- O ponto de entrada de carregamento de página
_spa/assets/index.html-*.jsreferenciabootstrap-*.js(o runtime contém todos os mapeamentos de chunks); - Extrair 682 nomes de chunks (padrão
<name>-<hash8>.js) do bootstrap; filtrar os relacionados à API pelo nome (client/api/thread/collection/space/computer…); - Baixar diretamente do CDN público
https://pplx-next-static-public.perplexity.ai/_spa/assets/<chunk>.js(nenhum cookie necessário); módulos hub:platform-core-*(cliente da API),spa-shell-*,spa-metadata-*; grep -o '/rest/[a-zA-Z0-9_/.$_{}-]*'produz a lista de endpoints (147);- Os chunks também revelam formas de chamada (ex.:
format:'md'efile_content_64da exportação). - Sourcemaps também existem:
https://pplx-static-sourcemaps.perplexity.ai/_spa/assets/<chunk>.js.map(não explorado).
2.1 Apêndice: 147 endpoints agrupados por categoria (relevância para arquivamento marcada)¶
- thread:
/rest/thread/{entry_uuid_or_slug},/rest/thread/export★,/rest/thread/{uuid}/members,/rest/thread/list_recent,/rest/thread/list_ask_threads,/rest/thread/list_pinned_ask_threads,/rest/thread/list_scheduled_computer_tasks,/rest/thread/request-access-info/{uuid} - collections/spaces★: veja a tabela completa na §3.3 (incl. batch_move/batch_remove, list_user_collections, request-access-info, recurring_tasks, pins/threads, scheduled_threads)
- assets★:
/rest/assets/{asset_id}/data,/rest/assets/{asset_id}/members,/rest/assets/{asset_id}/published-access,/rest/assets/sites/{site_id}/publish-info - analytics:
/rest/analytics/computer/usage,/rest/analytics/computer/usage/members(ambos 403 NOT_ORG_MEMBER — apenas contas organizacionais) - models/skills:
/rest/models/config(/v2),/rest/skills,/rest/skills/selectable,/rest/skills/grants,/rest/skills/submissions(/source) - files/uploads:
/rest/file-repository/*(list/download/get-file-upload-urls/delete-files…),/rest/files/list(/list-infinite/list-errors),/rest/uploads/(batch_)create_upload_url(s),/rest/connectors/attachments/upload - tasks/computer:
/rest/tasks/,/rest/tasks/{task_id},/rest/tasks/shortcuts/mentions,/rest/tasks/shortcuts/paste/{copy_token},/rest/computer/asset,/rest/computer/menu,/rest/computer/onboarding_cards - user/auth:
/rest/user/settings,/rest/user/get_user_ai_profile,/rest/user/promotions,/rest/user/site-instructions,/rest/auth/get_special_profile,/rest/visitor/* - billing/stripe:
/rest/billing/*(credits/paypal/subscription…),/rest/stripe/* - enterprise/org:
/rest/enterprise/*,/rest/organizations/{id}/credit-limits*,/rest/pplx-api/v2/enterprise-api-org - sse:
/rest/sse/attachment_processing/subscribe,/rest/sse/index_files,/rest/sse/perplexity_terminate,/rest/sse/related-queries/{entry_uuid} - verticais (irrelevantes para arquivamento):
/rest/finance/*,/rest/sports/*,/rest/travel/hotels/{slug},/rest/health-assistant/*,/rest/article/{uuid_or_slug} - misc:
/rest/pins,/rest/rate-limit/(all|status),/rest/notifications/web-push/*,/rest/attribution/*,/rest/homepage-widgets/upsell,/rest/ntp/upsell/,/rest/sidebar/upsell/,/rest/incentives/comet-activation,/rest/connector-service/usage
(★ = diretamente relevante para arquivamento)
3. Status de endpoint → capacidade da ferramenta e roteiro¶
O status de implementação abaixo foi sincronizado com o código atual e o conjunto de testes em 24 de julho de 2026. As evidências da API mantêm a data e o escopo da observação ao vivo original ou da análise estática; esta sincronização da documentação não reexaminou endpoints privados. As contagens de conta/arquivo são instantâneos, não garantias de toda a plataforma.
Significados dos status:
- Implementado — um caminho atual da CLI ou de produção usa o endpoint para a capacidade declarada.
- Parcial — o endpoint está em uso, mas a capacidade downstream no roteiro permanece incompleta.
- Testado, não integrado — o comportamento da API ao vivo foi observado, mas nenhum caminho da ferramenta o consome.
- Planejado — existem evidências, mas a implementação não foi iniciada.
- Bloqueado — um bloqueador upstream ou de protocolo conhecido impede a implementação.
- Fechado — as evidências refutaram o uso proposto ou o colocaram fora do escopo.
3.1 Matriz de status de capacidade¶
| Endpoint / operação | Base de verificação | Integração atual | Status | Lacuna restante |
|---|---|---|---|---|
collections/get_collection |
observação ao vivo + código atual | spaces --fetch-meta constrói o índice de proprietário/membro do espaço |
Implementado | — |
collections/list_collection_threads |
observação ao vivo + código atual | space-index usa REST por padrão com mapeamento de ID duplo context_uuid; WebBridge é fallback |
Implementado | Ordem de classificação e semântica exata de total_threads permanecem TBD |
assets/<uuid>/data |
testado ao vivo em 20/07/2026 + código atual | assets-backfill --online atualiza URLs assinados para UUIDs de assets reais |
Implementado | Handles de espaço de trabalho em nuvem toolu_ estão fora da cobertura deste endpoint |
LibraryThreadsRelayQuery e consulta de paginação |
APQ capturado + código atual | index/batch fornecem indexação completa e parada antecipada incremental |
Implementado | Consultas de filtro de modo do painel permanecem bloqueadas separadamente |
collections/list_user_collections |
observado ao vivo em julho de 2026 + código atual | init usa uma correspondência exata de título para descobrir o espaço BOT |
Parcial | Construir um registro de espaço de conta autoritativo para descoberta de novos espaços e reconstrução de spaces |
credits/thread-usage |
testado ao vivo em 20/07/2026 + código atual | usage-backfill escreve index/credit_usage_<account>.json |
Parcial | Decidir se enriquece thread.json e/ou linhas do índice da biblioteca sem duplicar autoridade |
models/config/v2 |
testado ao vivo em 21/07/2026 + código atual | pplx-ask models lista modelos/padrões; constantes de normalização são verificadas contra ele |
Parcial | Persistir metadados estáveis de exibição de modelo em registros de arquivo/índice se útil |
POST /rest/thread/export |
md/pdf/docx testado ao vivo em 20/07/2026 | nenhuma integração com CLI | Testado, não integrado | Arquivamento em vários formatos e reconciliação de Markdown oficial |
rate-limit/status |
observação de carregamento de página; semântica de resposta inexplorada | nenhum | Planejado | Validar semântica antes de usar para limitação adaptativa |
file-repository/list-files |
apenas análise estática do frontend | nenhum | Planejado | Validar se pode enumerar/resgatar handles toolu_; um instantâneo de arquivo de julho de 2026 registrou 270 handles sem um canal de download |
pins, tasks/{id} |
análise estática do frontend / observações de carregamento de página | nenhum | Planejado | Enriquecimento de estado e duração de tarefa de computador |
thread/<uuid>/members |
testado ao vivo em julho de 2026 | nenhum | Planejado | Arestas de compartilhamento em nível de thread para o grafo de relações |
GraphQL do painel threadGroup + filtros de modo |
chamadas diretas retornaram PERSISTED_QUERY_NOT_FOUND |
nenhum | Bloqueado | Recuperar hashes de consulta persistida ao vivo ou estabelecer o contexto necessário |
related_queries / sse/related-queries |
investigações forenses em todo o arquivo encerradas em 23/07/2026 | deliberadamente não produz arestas de relação | Fechado | Reabrir apenas se novas evidências estabelecerem identidade de thread resolvível |
3.2 Roteiro ativo¶
3.2.1 P0 — Integração de exportação oficial¶
- Arquivamento em vários formatos: opcionalmente reter produtos PDF/DOCX retornados por
POST /rest/thread/export. - Reconciliação de renderizador: comparar o Markdown oficial de thread inteira com
conversation.mdcomo um sinal de regressão independente.
3.2.2 P1 — Descoberta de espaços¶
- Promover
list_user_collectionsde pesquisa por título BOT para um registro de espaço autoritativo e com escopo de conta, usado para descoberta de novos espaços e reconstrução despaces.
3.2.3 P2 — Metadados, controle de risco e resgate de assets¶
- Decidir e documentar o limite de autoridade para uso de crédito: manter o
credit_usage_<account>.jsondedicado, ou também enriquecerthread.json/ linhas da biblioteca. - Adicionar metadados de exibição de modelo, estado de pin, duração de tarefa de computador e relações de compartilhamento de thread apenas onde a semântica do endpoint for estável.
- Validar
rate-limit/statusantes de projetar limitação adaptativa. - Testar
file-repository/list-filescomo um possível caminho de resgate detoolu_antes de adicionar qualquer mutação no arquivo.
3.2.4 P3 — Descoberta bloqueada¶
- Recapturar os hashes de consulta persistida do GraphQL do painel apenas se a indexação incremental por modo se tornar valiosa o suficiente para justificar o custo de manutenção.
3.3 Decisões fechadas / não adotadas¶
- Exportação oficial como fonte de relatório: refutada. O endpoint retorna
Markdown de thread inteira sem o corpo do relatório; a cadeia de URL assinada permanece
a fonte oficial para
report.md(§3.6). - Relações de
related_queries: refutado em 23/07/2026. UUIDs de itens não são UUIDs de thread e os textos de recomendação não foram resolvidos para consultas arquivadas; nenhuma aresta de relação é construída (§4). analytics/computer/usage(/members): observado como apenas para organizações (403 NOT_ORG_MEMBER) para as contas testadas.thread/request-access-info: testado como relacionado a ingresso em organização, não um sinal dethreadAccess.- Verticais de faturamento/Stripe/empresas e finanças/esportes permanecem fora do escopo da ferramenta de arquivo.
Este documento complementa pplx_export/README.md (arquitetura da ferramenta) e overview.md (design do sistema).