---
title: "Create OAuth configuration"
method: POST
path: "/api/auth/oauth/configs"
tags: ["Admin"]
---

# Create OAuth configuration

`POST /api/auth/oauth/configs`

Create a new OAuth provider configuration (admin only)

## Request body

- object
  - `provider` 'google' | 'github' | 'discord' | 'linkedin' | 'facebook' | 'instagram' | 'tiktok' | 'apple' | 'x' | 'spotify' | 'microsoft', required
  - `clientId` string
  - `clientSecret` string
  - `redirectUri` string
  - `scopes` string[]
  - `useSharedKey` boolean

## Response `200`

OAuth configuration created

- OAuthConfig
  - `id` string, uuid
  - `provider` 'google' | 'github' | 'discord' | 'linkedin' | 'facebook' | 'instagram' | 'tiktok' | 'apple' | 'x' | 'spotify' | 'microsoft'
  - `clientId` string, nullable
  - `redirectUri` string, nullable
  - `scopes` string[], nullable
  - `useSharedKey` boolean
  - `createdAt` string, date-time
  - `updatedAt` string, date-time

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — Forbidden - Admin only

---

[API](https://skmtc.net/insforge/apis/insforge-authentication-api.md) · [All operations](https://skmtc.net/insforge/apis/insforge-authentication-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/insforge/insforge-authentication-api/versions/a935bb49f932/schema)
