Integrations
Team API keys, GitHub, marketplace and installations.
| Método | Path | Resumo | Access |
|---|---|---|---|
| GET | /teams/{teamId}/api-keys/ | Responde GET /teams/{teamId}/api-keys — devolve as keys do team (sem secret) para a tela de gestão. | Team admin |
| POST | /teams/{teamId}/api-keys/ | Responde POST /teams/{teamId}/api-keys — emite uma nova key. | Team admin |
| DELETE | /teams/{teamId}/api-keys/{keyId} | Responde DELETE /teams/{teamId}/api-keys/{keyId} — soft-delete via revoked_at. | Team admin |
| PATCH | /teams/{teamId}/api-keys/{keyId} | Responde PATCH /teams/{teamId}/api-keys/{keyId} — muda name/scopes/expires sem trocar o secret. | Team admin |
| GET | /teams/{teamId}/github/connections | GET /teams/:id/github/connections — devolve conexões do team. | Team member |
| POST | /teams/{teamId}/github/connections | POST /teams/:id/github/connections — cria conexão channel↔repo. | Team admin |
| DELETE | /teams/{teamId}/github/connections/{connectionId} | DELETE /teams/:id/github/connections/:cid — remove conexão + eventos. | Team admin |
| GET | /teams/{teamId}/github/connections/{connectionId}/bug-intake | GET .../bug-intake — config atual (default desligado). | Team member |
| PUT | /teams/{teamId}/github/connections/{connectionId}/bug-intake | Enabled obrigatório; trigger ∈ {hashtag, all} (vazio = hashtag); labels normalizadas (vazio = ["bug"]). | Team admin |
| GET | /teams/{teamId}/github/connections/{connectionId}/events | GET /teams/:id/github/connections/:cid/events — feed local de eventos cacheados. | Team member |
| 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`. | Team admin |
| 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"). | Team member |
| POST | /teams/{teamId}/github/tasks/{taskId}/issue | Idempotente por (team, task): repetir devolve o mesmo vínculo e não cria outra issue. | Team member |
| GET | /teams/{teamId}/installations/ | Responde GET /v1/teams/{teamId}/installations — apps ativas do team. | Team admin |
| POST | /teams/{teamId}/installations/ | Responde POST /v1/teams/{teamId}/installations — instala app no team via caminho server-side (sem OAuth flow, workspace bot pattern). | Team admin |
| DELETE | /teams/{teamId}/installations/{id} | Responde DELETE /v1/teams/{teamId}/installations/ {id} — soft-uninstall + revoga tokens da app naquele team. | Team admin |
| GET | /teams/{teamId}/integrations/ | Lista (keyset) | Team member |
| POST | /teams/{teamId}/integrations/ | Cria a integracao | Team member |
| GET | /teams/{teamId}/integrations/{id}/ | Le a integracao | Team member |
| DELETE | /teams/{teamId}/integrations/{id}/ | Remove (soft) — revoga tokens e desativa webhooks | Team member |
| PATCH | /teams/{teamId}/integrations/{id}/ | Nome, estado (active|paused|revoked), escopos, metadata | Team member |
| GET | /v1/integration-scopes | Catalogo de escopos de token de integracao | Public |
| GET | /v1/marketplace/apps/ | Responde GET /v1/marketplace/apps — apps públicas (is_published=true). | Public |
| 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). | Public |