---
title: "Create an OAuth client"
method: POST
path: "/oauthClients.create"
tags: ["OAuthClients"]
---

# Create an OAuth client

`POST /oauthClients.create`

## Request

- Base URL: `https://app.getoutline.com/api`
- URL: `https://app.getoutline.com/api/oauthClients.create`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://app.getoutline.com/oauth/authorize`
    - Token URL: `https://app.getoutline.com/oauth/token` scopes: `read`, `write`

Create a new OAuth client application that can be used to authenticate users and access the API on their behalf.

## Request body

- object
  - `name` string, required: Name of the OAuth client.
  - `description` string: A short description of this OAuth client.
  - `developerName` string: The name of the developer who created this OAuth client.
  - `developerUrl` string: The URL of the developer who created this OAuth client.
  - `avatarUrl` string: A URL pointing to an image representing the OAuth client.
  - `redirectUris` string[], required: List of redirect URIs for the OAuth client. Each entry must be an absolute URL that includes a scheme, for example `https://example.com/callback`. Private-use URI schemes for native applications are also accepted, for example `com.example.app:/oauth2redirect` (see RFC 8252).
  - `published` boolean: Whether the OAuth client is available to other workspaces.

## Response `200`

OK

- object
  - `data` OAuthClient
    - `id` string, uuid: Unique identifier for the object.
    - `name` string: The name of this OAuth client.
    - `description` string, nullable: A short description of this OAuth client.
    - `developerName` string, nullable: The name of the developer who created this OAuth client.
    - `developerUrl` string, nullable: The URL of the developer who created this OAuth client.
    - `avatarUrl` string, nullable: A URL pointing to an image representing the OAuth client.
    - `clientId` string: The client ID for the OAuth client.
    - `clientSecret` string: The client secret for the OAuth client. Only returned when the request is authenticated with a credential whose scope permits managing OAuth clients.
    - `clientType` 'public' | 'confidential': The type of the OAuth client.
    - `redirectUris` string[]: The redirect URIs for the OAuth client.
    - `published` boolean: Whether the OAuth client is available to other workspaces.
    - `lastActiveAt` string, date-time, nullable: Date and time when this OAuth client was last used.
    - `createdAt` string, date-time: Date and time when this OAuth client was created
    - `updatedAt` string, date-time: Date and time when this OAuth client was updated
  - `policies` Policy[]
    - `id` string, uuid: Unique identifier for the object this policy references.
    - `abilities` object: The abilities that are allowed by this policy, if an array is returned then the individual ID's in the array represent the memberships that grant the ability.

## Other responses

- `401`: The API key is missing or otherwise invalid.
- `403`: The current API key is not authorized to perform this action.
- `429`: The request was rate limited.

## Changes

- **2026-09-22** `cd18cbbc1706`: 6 warning
  - the `avatarUrl` request property's maxLength was set to `1024`
  - the `description` request property's maxLength was set to `255`
  - the `developerName` request property's maxLength was set to `100`
  - the `developerUrl` request property's maxLength was set to `1024`
  - …2 more
- **2026-05-30** `304cd065561b`: 4 breaking, 2 info
  - the response property `data/avatarUrl` became nullable for the status `200`
  - the response property `data/description` became nullable for the status `200`
  - the response property `data/developerName` became nullable for the status `200`
  - the response property `data/developerUrl` became nullable for the status `200`
  - …2 more
- **2026-02-01** `2b998aa571f9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/defaulr/apis/outline-api/changes/oauthClients.create/post.md)

---

[API](https://skmtc.dev/defaulr/apis/outline-api.md) - [All operations](https://skmtc.dev/defaulr/apis/outline-api/llms.txt) - [OpenAPI document](https://skmtc.dev/defaulr/apis/outline-api/revisions/5ddf01ffba84?raw)
