ReferenceHTTP APIWorkspace settings

Remove one of the workspace's GitHub Apps (owner or admin)

DELETE
/v1/workspaces/{id}/github-apps/{role}

Deletes a connection and its private key and writes a delete_github_app receipt naming the role. role is a role while it has exactly one connection (else 409 GITHUB_APP_CONFLICT ambiguous_role), or a connection id. Repositories pinned to it keep their pin, emptied: their work for that role is refused (pinned_app_removed) until an admin pins another connection, or the same App is added again. The connection people link their accounts with is refused while another author connection exists (409 in_use_for_user_link; choose another with PUT …/github-settings/user-link-app first); the last author connection is removed with the link. Without a reviewer App, review work is refused from the next request on (409 GITHUB_REFUSED no_reviewer_app). GET on it answers usage first. The App stays on GitHub. 404 when none is registered. API keys are refused.

Auth: cookie session only; no scope. Idempotency-Key: ignored.

Authorization

cookieSession
cookie__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.

Path Parameters

id*string

The workspace's id.

Match^([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)$
Formatuuid
role*|

A GitHub App role, or the id of one connection of a role.

Header Parameters

X-Requested-With?"werft-web"

Required with a cookie session: the literal werft-web.

Value in"werft-web"

Response Body

Deleted; the receipt.

application/json
  1. response
receipt_id*string
Match^([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)$
Formatuuid
Example Request
curl -X DELETE 'https://example.com/v1/workspaces/497f6eca-6276-4993-bfeb-53cbbbba6f08/github-apps/author'
Example Response
{  "receipt_id": "c4a1e9d2-7b3f-4e8a-a6c5-1d2e3f4a5b6c"}