---
title: "Register an app's OAuth client"
method: POST
path: "/api/orgs/{slug}/apps/{app}/oauth-client"
tags: ["Apps"]
---

# Register an app's OAuth client

`POST /api/orgs/{slug}/apps/{app}/oauth-client`

## Request

- Base URL: `https://git.cafe`
- URL: `https://git.cafe/api/orgs/{slug}/apps/{app}/oauth-client`
- Auth: one of:
  - API key in cookie `gc-session`
  - HTTP bearer
  - HTTP basic
  - HTTP token

Registers the app's public PKCE OAuth client with exactly the redirect URIs its manifest declares, or returns the one already registered. Members of an organization that installed the app authorize it to act as themselves, within the installation's repositories and user permissions. Requires authenticated authority and enforces current resource policy.

## Path parameters

- `slug` string, required
- `app` string, required

## Response `200`

Response for status 200

- object
  - `clientId` string, required
  - `redirectUris` string[], required

## Other responses

- `400`: The request is invalid.
- `401`: Authentication is required, or the supplied credential is invalid.
- `403`: The credential does not permit this operation. A `code`, when present, names the refusal.
- `404`: The resource does not exist or is not visible to the caller.
- `409`: The request conflicts with the current state. A `code`, when present, names the refusal; `retryable` says whether the same request can succeed later, and `operationId` names the operation in the way.
- `429`: A rate limit is exhausted. Wait Retry-After seconds; the value is a hint, so back off on a repeat 429.
- `503`: A required service is temporarily unavailable; retry later.

---

[API](https://skmtc.dev/gitcafe/apis/git-cafe-api.md) - [All operations](https://skmtc.dev/gitcafe/apis/git-cafe-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gitcafe/apis/git-cafe-api/revisions/9fa233d2986d?raw)
