---
title: "Start verified GitHub App installation linking"
method: POST
path: "/api/v1/github_app/installation_authorizations"
tags: ["github_app"]
---

# Start verified GitHub App installation linking

`POST /api/v1/github_app/installation_authorizations`

## Request

- Base URL: `https://composal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://composal.com/api/v1/github_app/installation_authorizations`
- Auth: HTTP bearer

Creates a short-lived, user-bound setup state for an organization administrator and returns the server-generated GitHub App installation URL. Requires an authenticated Vex session or bearer token.

## Request body

- object
  - `organization_slug` string, required: Vex organization slug whose installation will be linked.
  - `return_target` string, required: Server-validated Vex application target used after verification.

## Response `200`

GitHub App installation URL with opaque setup state

- object
  - `installation_url` string, uri, required

## Other responses

- `201`: GitHub App installation URL with opaque setup state
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `422`: Unprocessable entity
- `502`: Bad gateway
- `503`: GitHub App or durable authorization state is not configured

---

[API](https://skmtc.dev/composal/apis/vex-api.md) - [All operations](https://skmtc.dev/composal/apis/vex-api/llms.txt) - [OpenAPI document](https://skmtc.dev/composal/apis/vex-api/revisions/74298a24e040?raw)
