Integrações
Chaves de API de equipe, GitHub, marketplace e instalações.
| Método | Path | Resumo | Acesso |
|---|---|---|---|
| GET | /teams/{teamId}/api-keys/ | Responde GET /teams/{teamId}/api-keys — devolve as keys do team (sem secret) para a tela de gestão. | Admin da equipe |
| POST | /teams/{teamId}/api-keys/ | Responde POST /teams/{teamId}/api-keys — emite uma nova key. | Admin da equipe |
| DELETE | /teams/{teamId}/api-keys/{keyId} | Responde DELETE /teams/{teamId}/api-keys/{keyId} — soft-delete via revoked_at. | Admin da equipe |
| PATCH | /teams/{teamId}/api-keys/{keyId} | Responde PATCH /teams/{teamId}/api-keys/{keyId} — muda name/scopes/expires sem trocar o secret. | Admin da equipe |
| GET | /teams/{teamId}/github/connections | GET /teams/:id/github/connections — devolve conexões do team. | Membro da equipe |
| POST | /teams/{teamId}/github/connections | POST /teams/:id/github/connections — cria conexão channel↔repo. | Admin da equipe |
| DELETE | /teams/{teamId}/github/connections/{connectionId} | DELETE /teams/:id/github/connections/:cid — remove conexão + eventos. | Admin da equipe |
| GET | /teams/{teamId}/github/connections/{connectionId}/bug-intake | GET .../bug-intake — config atual (default desligado). | Membro da equipe |
| PUT | /teams/{teamId}/github/connections/{connectionId}/bug-intake | Enabled obrigatório; trigger ∈ {hashtag, all} (vazio = hashtag); labels normalizadas (vazio = ["bug"]). | Admin da equipe |
| GET | /teams/{teamId}/github/connections/{connectionId}/events | GET /teams/:id/github/connections/:cid/events — feed local de eventos cacheados. | Membro da equipe |
| POST | /teams/{teamId}/github/connections/{connectionId}/sync | POST /teams/:id/github/connections/:cid/sync — puxa issues+PRs recentes via REST e cacheia em `github_events`. | Admin da equipe |
| GET | /teams/{teamId}/github/issue-links | GET /github/issue-links?source_type=&source_id= — o vínculo de uma fonte (para a task/post mostrar "issue #N"). | Membro da equipe |
| POST | /teams/{teamId}/github/tasks/{taskId}/issue | Idempotente por (team, task): repetir devolve o mesmo vínculo e não cria outra issue. | Membro da equipe |
| GET | /teams/{teamId}/installations/ | Responde GET /v1/teams/{teamId}/installations — apps ativas do team. | Admin da equipe |
| POST | /teams/{teamId}/installations/ | Responde POST /v1/teams/{teamId}/installations — instala app no team via caminho server-side (sem OAuth flow, workspace bot pattern). | Admin da equipe |
| DELETE | /teams/{teamId}/installations/{id} | Responde DELETE /v1/teams/{teamId}/installations/ {id} — soft-uninstall + revoga tokens da app naquele team. | Admin da equipe |
| GET | /teams/{teamId}/integrations/ | Lista (keyset) | Membro da equipe |
| POST | /teams/{teamId}/integrations/ | Cria a integracao | Membro da equipe |
| GET | /teams/{teamId}/integrations/{id}/ | Le a integracao | Membro da equipe |
| DELETE | /teams/{teamId}/integrations/{id}/ | Remove (soft) — revoga tokens e desativa webhooks | Membro da equipe |
| PATCH | /teams/{teamId}/integrations/{id}/ | Nome, estado (active|paused|revoked), escopos, metadata | Membro da equipe |
| GET | /v1/integration-scopes | Catalogo de escopos de token de integracao | Pública |
| GET | /v1/marketplace/apps/ | Responde GET /v1/marketplace/apps — apps públicas (is_published=true). | Pública |
| GET | /v1/marketplace/apps/{slug} | Responde GET /v1/marketplace/apps/{slug} — detail público (só is_published=true; app não publicada devolve 404 pra não vazar existência). | Pública |