API REST
API REST
Base, token pessoal, limites, erros, links e o formato dos textos.
Para CI, scripts e importação de outras ferramentas. JSON nos dois sentidos.
- Base: https://tracker.aquarela.app/api/v1
- Autenticação: token pessoal no cabeçalho
Authorization: Bearer <token>. A pessoa cria o token em https://tracker.aquarela.app/account/tokens, escolhe a validade (30, 90, 180, 365 dias) e se ele pode criar issues; o token vale para a organização em que foi criado, aparece uma vez só e pode ser revogado na mesma tela (até 20 ativos por pessoa). Os tokens OAuth do MCP não valem na API. - Mesmas regras da interface: o token vê só os projetos da pessoa e cria issues só onde o perfil dela permite. Pessoa desativada ou removida da organização desliga o token na hora.
- Links: o
urlde uma issue é o link canônico pelo código,https://tracker.aquarela.app/issues/MOB-0012?org=<slug da empresa>, que se lê, se digita e continua valendo depois de mover a issue de projeto (o código antigo também abre). O prefixo é único só dentro da empresa, entãoorgdiz de qual: o app troca para ela quando a pessoa participa. Semorg,/issues/MOB-0012procura primeiro na empresa selecionada e depois nas outras da pessoa (se o código existir em mais de uma, pergunta em qual abrir);/issues/<id>também funciona, em qualquer empresa da pessoa. - Limite: 120 chamadas por minuto por token (429 com Retry-After).
- Erros:
{"error": "<código>", "message": "<texto>"}, com 400 (dados inválidos, edetailspor campo), 401 (sem token ou token inválido), 403 (perfil ou token sem permissão), 404 (também para projeto na lixeira e as issues dele: excluir e restaurar projeto fica no app, só admin), 409 (já existe), 413, 415, 422 (recusado pelas regras do projeto), 429. GET /version(público, sem token): a versão do tracker no ar,{"version": "0.2.0", "commit": "5f83c7b"}(commité o deploy,nullfora dele). A tagv<version>no GitHub marca cada versão.GET /mee whoami trazem o mesmo emserver.
Markdown: todo texto longo é markdown. Na issue, description e os outros textos longos (preconditions, steps_to_reproduce, actual_result, expected_result, impact, suggested_solution, root_cause, fix_notes) e o texto dos comentários; fora dela, as notas da release, a pré-condição, os dados, os passos e o resultado esperado dos casos de teste, o comentário de cada resultado de teste, a descrição e as respostas das ideias, as atualizações de incidente da página de status, o comentário das horas e o da decisão de aprovação. Vale **negrito**, *itálico*, ~~riscado~~, listas com - ou 1. (sublista com dois espaços de recuo), código entre crases (uma para trecho, três para bloco), [link](https://...), > citação e títulos com ##. A API devolve o texto como foi escrito (markdown cru); as telas do tracker (web e app) e os e-mails mostram formatado. HTML não é interpretado.