Analisar referência
tong_reference_submitEnvie a ação configurada usando sua conta e créditos Tong. Acompanhe a operação salva até terminar.
/v1/tools/tong_reference_submit/operationsExemplo de solicitação#
curl -X POST 'https://platform.tongai.io/v1/tools/tong_reference_submit/operations' \ -H "Authorization: Bearer $TONG_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 45be69f1-c266-4a09-a82c-bf3c6303eb03" \ -d '{ "input": { "params": { "id": "aaaaaaaaaaaaaaaaaaaaaaaa", "jobId": "aaaaaaaaaaaaaaaaaaaaaaaa" } }}'Configuração
curl --versionPermissões#
Use uma chave API no servidor para sua conta, ou OAuth para a conta de cada cliente. Nunca envie chaves em prompts ou argumentos.
analysis:writecredits:spendCorpo da solicitação#
As solicitações REST envolvem os argumentos em input. As chamadas MCP enviam os mesmos argumentos diretamente.
paramsobjectObrigatórioMostrar campos aninhados
idstringObrigatórioUm ID hexadecimal de 24 caracteres.
"aaaaaaaaaaaaaaaaaaaaaaaa"jobIdstringObrigatórioUm ID hexadecimal de 24 caracteres.
"aaaaaaaaaaaaaaaaaaaaaaaa"Cabeçalhos da solicitação#
Authorization: Bearer $TONG_API_KEYContent-Type: application/jsonIdempotency-Key: 45be69f1-c266-4a09-a82c-bf3c6303eb03Mantenha um UUID por ação e reutilize após timeout ou nova tentativa. Entradas diferentes com o mesmo UUID são rejeitadas.
Campos de resposta#
Uma solicitação aceita não é uma geração concluída. Acompanhe o trabalho até o resultado estar pronto.
Aceita significa que a solicitação foi salva. Consulte a operação para acompanhar a execução.
{ "id": "e8aa0a87-6cd9-42eb-975a-b72bf43218c8", "tool": "tong_reference_submit", "category": "analysis", "channel": "api", "state": "queued", "status": "accepted", "stage": "admission", "dispatch_status": "pending", "created_at": "2026-10-22T09:00:00.000Z", "updated_at": "2026-10-22T09:00:00.000Z", "detail_expires_at": null, "detail_expired": false, "timing": { "dispatch_started_at": null, "acknowledged_at": null, "completed_at": null, "dispatch_acknowledgement_ms": null, "end_to_end_ms": null }, "review": null, "result": null, "error": null, "billing": { "status": "pending", "usage_credits": "0.000000", "wallet_debited_credits": "0.000000" }}idstringObrigatórioO ID exclusivo da operação salva.
Um UUID, por exemplo e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
toolstringObrigatóriocategorystringObrigatóriochannelstringObrigatório"api""mcp"statestringObrigatórioO estado atual de execução do trabalho salvo.
"queued""running""waiting""needs_review""paused""reconciling""succeeded""failed""cancelled"statusstringObrigatórioO status geral para acompanhar a operação.
"accepted""running""needs_review""paused""reconciling""succeeded""failed""cancelled"stagestringObrigatórioA fase atual da operação.
"admission""dispatch""review""generation""reconciliation""complete"dispatch_statusstringObrigatórioIndica se a ferramenta aceitou a solicitação. A confirmação não significa que a geração terminou.
"pending""unknown""acknowledged"created_atstringObrigatórioData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
updated_atstringObrigatórioData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
detail_expires_atstring | nullObrigatórioQuando os detalhes salvos expiram. O valor null indica que não há expiração definida.
Data e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
detail_expiredbooleanObrigatórioIndica se os detalhes salvos da operação expiraram.
timingobjectObrigatórioDatas e durações para acompanhar esta operação.
Mostrar campos aninhados
dispatch_started_atstring | nullObrigatórioData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
acknowledged_atstring | nullObrigatórioData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
completed_atstring | nullObrigatórioData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
dispatch_acknowledgement_msnumber | nullObrigatórioMínimo: 0.
end_to_end_msnumber | nullObrigatórioMínimo: 0.
reviewJSON | nullObrigatórioInformações de revisão quando a operação exige intervenção humana; caso contrário, null.
resultJSON | nullObrigatórioA saída desta ferramenta, ou null enquanto não houver saída disponível.
errorobject | nullObrigatórioO código de erro público se a operação falhou; caso contrário, null.
Mostrar campos aninhados
codestringObrigatóriobillingobjectObrigatórioUso de créditos e cobranças da carteira. A disponibilidade da saída e a liquidação são independentes.
Mostrar campos aninhados
statusstringObrigatório"none""pending""settled""released""reconciling"usage_creditsstringObrigatórioUma string decimal com seis casas decimais, por exemplo 1.250000.
wallet_debited_creditsstringObrigatórioUma string decimal com seis casas decimais, por exemplo 1.250000.
released_creditsstringOpcionalUma string decimal com seis casas decimais, por exemplo 1.250000.
refunded_creditsstringOpcionalUma string decimal com seis casas decimais, por exemplo 1.250000.
unfunded_creditsstringOpcionalUma string decimal com seis casas decimais, por exemplo 1.250000.
pending_creditsstringOpcionalUma string decimal com seis casas decimais, por exemplo 1.250000.
tokensobjectOpcionalMostrar campos aninhados
inputnumberOpcionalMínimo: 0.
outputnumberOpcionalMínimo: 0.
cachednumberOpcionalMínimo: 0.
cache_writenumberOpcionalMínimo: 0.
componentsobject[]OpcionalMostrar campos aninhados
idstringOpcionalsource_idstringObrigatóriotoolstringObrigatóriomodelstring | nullObrigatóriochannelstringObrigatório"api""mcp"credential_idstringObrigatóriokindstringObrigatório"text_pool""reasoning""generation"usage_creditsstringObrigatórioUma string decimal com seis casas decimais, por exemplo 1.250000.
wallet_debited_creditsstringObrigatórioUma string decimal com seis casas decimais, por exemplo 1.250000.
evidence_atstringOpcionalData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
updated_atstringOpcionalData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
quoteobjectOpcionalA configuração, o preço e os valores de envio quando há uma cotação.
Mostrar campos aninhados
idstringObrigatórioUm UUID, por exemplo e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
operation_idstringObrigatórioUm UUID, por exemplo e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
toolstringObrigatóriooperationstring | nullObrigatóriomodelstring | nullObrigatórioconfigurationobjectObrigatóriosubmit_valuestringObrigatóriosubmit_fieldstringObrigatórioquoted_creditsstring | nullObrigatórioUma string decimal com seis casas decimais, por exemplo 1.250000.
expires_atstring | nullObrigatórioData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
Chamada MCP#
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "tong_reference_submit", "arguments": { "params": { "id": "aaaaaaaaaaaaaaaaaaaaaaaa", "jobId": "aaaaaaaaaaaaaaaaaaaaaaaa" } }, "_meta": { "io.tongai/idempotency-key": "45be69f1-c266-4a09-a82c-bf3c6303eb03" } }}As solicitações REST envolvem os argumentos em input. As chamadas MCP enviam os mesmos argumentos diretamente.
Resposta
{ "jsonrpc": "2.0", "id": 1, "result": { "structuredContent": { "id": "e8aa0a87-6cd9-42eb-975a-b72bf43218c8", "tool": "tong_reference_submit", "category": "analysis", "channel": "mcp", "state": "queued", "status": "accepted", "stage": "admission", "dispatch_status": "pending", "created_at": "2026-10-22T09:00:00.000Z", "updated_at": "2026-10-22T09:00:00.000Z", "detail_expires_at": null, "detail_expired": false, "timing": { "dispatch_started_at": null, "acknowledged_at": null, "completed_at": null, "dispatch_acknowledgement_ms": null, "end_to_end_ms": null }, "review": null, "result": null, "error": null, "billing": { "status": "pending", "usage_credits": "0.000000", "wallet_debited_credits": "0.000000" } }, "content": [ { "type": "text", "text": "{\"id\":\"e8aa0a87-6cd9-42eb-975a-b72bf43218c8\",\"tool\":\"tong_reference_submit\",\"category\":\"analysis\",\"channel\":\"mcp\",\"state\":\"queued\",\"status\":\"accepted\",\"stage\":\"admission\",\"dispatch_status\":\"pending\",\"created_at\":\"2026-10-22T09:00:00.000Z\",\"updated_at\":\"2026-10-22T09:00:00.000Z\",\"detail_expires_at\":null,\"detail_expired\":false,\"timing\":{\"dispatch_started_at\":null,\"acknowledged_at\":null,\"completed_at\":null,\"dispatch_acknowledgement_ms\":null,\"end_to_end_ms\":null},\"review\":null,\"result\":null,\"error\":null,\"billing\":{\"status\":\"pending\",\"usage_credits\":\"0.000000\",\"wallet_debited_credits\":\"0.000000\"}}" } ] }}Erros e limites#
| HTTP | Erro | Recuperação |
|---|---|---|
400 | Solicitação inválidaREQUEST_INVALID | Corrija os campos indicados pelo erro antes de tentar novamente. |
401 | Credencial inválidaCREDENTIAL_INVALID | Verifique a credencial, a validade e se foi revogada. |
402 | Créditos insuficientesINSUFFICIENT_CREDITS | Adicione créditos à conta da credencial e continue o trabalho salvo. |
403 | Permissão negadaSCOPE_REQUIRED | Use uma credencial com os escopos necessários e acesso ao recurso selecionado. |
404 | Recurso indisponívelRESOURCE_UNAVAILABLE | Verifique o ID do recurso e se pertence à conta autorizada. |
409 | Conflito de intençãoIDEMPOTENCY_CONFLICT | Reutilize uma intenção apenas com a solicitação original. Use um novo UUID para outra ação. |
429 | Limite de requisições atingidoRATE_LIMITED | Aguarde o prazo de Retry-After antes de repetir a mesma solicitação. |
503 | Temporariamente indisponívelDEPENDENCY_UNAVAILABLE | Aguarde Retry-After e repita com a mesma intenção. Verifique a operação salva após um tempo limite. |