One of the workspace's GitHub Apps and where it is installed (owner or admin)
role is author (the App that clones, pushes and opens pull requests; …/github-app is the same) or reviewer (an optional second App that only submits pull request reviews, since GitHub refuses an approval from the App that opened the pull request), served while the role has at most one connection (else 409 GITHUB_APP_CONFLICT ambiguous_role), or a connection id (GET …/github-apps lists them; 404 for one not the workspace's). usage says what removing it affects: repositories pinned to it, agents with GitHub on whose active release names one, sessions not ended on one, and whether people link their accounts with it. Answers as GET …/github-app does for that role's App: the App as registered, its permissions as GitHub reports them now, its installations, and for each catalog repository written as auth: { kind: github_app } the installation that covers it and what that installation grants (installation_permissions; it trails the App's own permissions until an owner approves a raise on GitHub). API keys are refused.
Auth: cookie session only; no scope.
cookieSession__Host-werft_session<token>For the web console: the browser session cookie set by POST /v1/auth/login. It holds the scopes of the user's workspace role (owner: all; admin and member: all but sessions:recover). Requests other than GET must also send X-Requested-With: werft-web.
id*stringThe workspace's id.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidrole*|A GitHub App role, or the id of one connection of a role.
The App and its installations; never the private key.
application/json- response
github_app*|nullcheck*||nullinstallations*array<>repositories*array<>manifest_blocked?|nullusage?|nullcurl -X GET 'https://example.com/v1/workspaces/497f6eca-6276-4993-bfeb-53cbbbba6f08/github-apps/author'{ "github_app": { "role": "reviewer", "app_id": 234567, "slug": "acme-reviewer", "name": "Acme reviewer", "html_url": "https://github.com/apps/acme-reviewer", "private_key": { "updated_at": "2026-10-30T09:00:00Z", "updated_by": { "user_id": "3e7f1a90-5c2d-4b8e-8f61-2a9d0c4b7e35", "display_name": "Jae" } }, "created_at": "2026-10-30T09:00:00Z", "updated_at": "2026-10-30T09:00:00Z", "permissions": { "contents": "read", "metadata": "read", "pull_requests": "write" }, "permissions_checked_at": "2026-10-30T09:00:00Z", "warnings": [] }, "check": { "state": "ok" }, "installations": [ { "id": 7654322, "account": "acme", "repository_selection": "selected", "html_url": "https://github.com/organizations/acme/settings/installations/7654322" } ], "repositories": [ { "id": "app", "url": "https://github.com/acme/app.git", "installation_id": 7654322, "installation_permissions": { "contents": "read", "metadata": "read", "pull_requests": "write" } } ]}