---
title: "Create client"
method: POST
path: "/v2/clients/"
tags: ["Clients"]
---

# Create client

`POST /v2/clients/`

Create a new OAuth2 client.

Returns 201 with a JSON:API resource object including the one-time
``client_secret`` in the attributes.  The secret is never retrievable
after this response.

**Required OAuth scope:** `clients:write`

## Request body

- ClientCreateRequest — Request body for creating a new API client.
  - `name` string, required
  - `description` string, nullable
  - `scope_codenames` string[]
  - `scope_preset` string, nullable
  - `ip_allowlist` string[]

## Response `201`

Created

- object

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/skilljar/apis/skilljar-api-v2.md) · [All operations](https://skmtc.net/skilljar/apis/skilljar-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/skilljar/skilljar-api-v2/revisions/f8025de20169/schema)
