---
title: "Exchange github oidc token"
method: POST
path: "/auth/github-oidc"
tags: ["github"]
---

# Exchange github oidc token

`POST /auth/github-oidc`

## Request

- Base URL: `https://api.faable.com`
- URL: `https://api.faable.com/auth/github-oidc`
- Auth: none declared

Exchange github oidc token

## Request body

- object
  - `token` string, required
  - `app_id` string: Explicitly select wich app to deploy when multiple apps are linked to the same github repository

## Response `200`

Default Response

## Other responses

- `400`: `ambiguous_app_for_repository` — Several apps are linked to that repository; pass `--app-slug`. `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
- `401`: `oidc_untrusted` — The CI OIDC token (GitHub Actions or GitLab CI) was rejected. `message` says why.
- `403`: `app_repository_mismatch` — The app does not exist or is not linked to the repository the token comes from.
- `404`: `no_app_for_repository` — No app is linked to that repository.
- `429`: `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header.
- `500`: `internal_error` — Unexpected server error. Retry later; the request id is logged.
- `503`: `database_unavailable` — Faable cannot reach its database right now. Transient: retry after the `Retry-After` header.

---

[API](https://skmtc.dev/faable/apis/faablecloud-api.md) · [All operations](https://skmtc.dev/faable/apis/faablecloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/faable/apis/faablecloud-api/revisions/e2fc93da3c49?raw)
