---
title: "Create Credentials"
method: POST
path: "/api/v1/auth-management/clients"
tags: ["systemCredentials"]
---

# Create Credentials

`POST /api/v1/auth-management/clients`

Create new system-level credentials. System-level credentials are not tied to a specific
user and never expire.

The access of the system-level credentials are scoped to the specified roles. **If no
roles are provided, the system-level credentials will have full access to all resources**.

The client id and client secret of the created credentials can be exchanged for access tokens
which can be used to make requests to the API. These credentials should only be used for
programmatic access to the API as they are not tied to a specific user.

## Headers

- `Authorization` string, required

## Request body

- CreateClientRequest — Create system-level credentials request model
  - `name` string, required — Display name for the system-level credentials
  - `roles` Role[], nullable — List of roles to assign to the system-level credentials. This is only available to organizations that are RBAC-enabled. Please contact support if you would like to enable RBAC for your organization.
    - `role_id` string, required — Name of the role (e.g., 'admin', 'editor', 'viewer')
    - `resource` string, nullable — Optional resource type the role applies to (e.g., 'dataset')
    - `resource_instance` string, nullable — Optional resource instance ID the role applies to

## Response `201`

The details of the created system-level credentials, including the client ID and secret

- ClientResponse — System-level credentials
  - `client_id` string, required — OAuth client ID
  - `client_secret` string, required — OAuth client secret (only returned on creation)
  - `name` string, required — Display name for the OAuth client
  - `roles` Role[], required — List of roles assigned to the client
    - `role_id` string, required — Name of the role (e.g., 'admin', 'editor', 'viewer')
    - `resource` string, nullable — Optional resource type the role applies to (e.g., 'dataset')
    - `resource_instance` string, nullable — Optional resource instance ID the role applies to

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/coactive/apis/api-reference.md) · [All operations](https://skmtc.dev/coactive/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/coactive/api-reference/revisions/1223758be9ba/schema)
