# API Coverage — Gitea REST API (Releases und Release-Dateien) > Full coverage by default. Opt-outs are explicit, reasoned decisions. Einzige externe Schnittstelle dieser Phase: die Gitea-REST-API der eigenen Instanz (`git.vicolab.de`, Gitea 1.26.2), angesprochen aus `.gitea/scripts/publish-release.sh` im CI-Job `publish` (nur bei Tags `v*`). Alle Pfade liegen unter `/api/v1/repos/{owner}/{repo}` (in der Tabelle als `…` abgekuerzt). Der Bereich ist die Releases-Ressource eines Repositories; alles andere in Gitea (Issues, Pull Requests, Pakete, Wiki, Webhooks, Benutzer) liegt ausserhalb der Phase. Die drei mit "seit 18-01" markierten Faehigkeiten sind neu; die uebrigen INTEGRATE-Zeilen bestehen seit quick-260916-dcz. | capability | decision | reason | |---|---|---| | releases: get by tag (`GET …/releases/tags/{tag}`) | INTEGRATE | bestehend — Idempotenz (Release vorhanden?) | | releases: create (`POST /repos/{owner}/{repo}/releases`) | INTEGRATE | bestehend — Release aus CHANGELOG-Abschnitt | | releases: update (`PATCH /repos/{owner}/{repo}/releases/{id}`) | INTEGRATE | bestehend — Text nachziehen | | release assets: list (`GET …/releases/{id}/assets`) | INTEGRATE | seit 18-01 — vorhandene Datei gleichen Namens finden | | release assets: delete (`DELETE …/releases/{id}/assets/{asset_id}`) | INTEGRATE | seit 18-01 — idempotentes Ersetzen | | release assets: upload (`POST …/releases/{id}/assets?name=`, multipart) | INTEGRATE | seit 18-01 — `Tessera-Setup-X.Y.Z.exe` und `Tessera-X.Y.Z.AppImage` | | release assets: edit name (`PATCH …/assets/{asset_id}`) | OPT-OUT | nicht noetig — Name wird beim Upload gesetzt, Ersetzen laeuft ueber delete + upload | | release assets: download via Gitea (`GET …/assets/{asset_id}`) | OPT-OUT | explizit ausserhalb — Anwender laden ueber die Tessera-API (D-01/D-08), nicht ueber Gitea | | releases: delete (`DELETE …/releases/{id}`) | OPT-OUT | nicht noetig — Releases werden nie automatisch entfernt | | releases: list (`GET …/releases`) | OPT-OUT | nicht noetig — Zugriff erfolgt per Tag | | settings: attachment limits (`GET /api/v1/settings/attachment`) | OPT-OUT | nur einmalig zur Planung abgefragt (2026-09-16); Release-Anhaenge unterliegen `[repository.release]` (Voreinstellung 2048 MB, alle Typen) — keine Laufzeitabfrage | | actions: runs/jobs/logs (`GET …/actions/...`) | OPT-OUT | explizit ausserhalb — der Orchestrator liest CI-Laeufe ueber Gitea-MCP/Weboberflaeche (18-04), kein Skript spricht diese Endpunkte | | packages / container registry API | OPT-OUT | nicht Teil der Phase — der Registry-Push laeuft weiterhin ueber `docker push` (Phase 6) |