---
title: "Save an org's OAuth client for a provider"
method: POST
path: "/v1/oauth-providers/{providerId}/client"
tags: ["Authentication"]
---

# Save an org's OAuth client for a provider

`POST /v1/oauth-providers/{providerId}/client`

Admin-only. Lets an org bring its own OAuth app (client id + secret) for a native provider such as google-workspace, instead of relying on an OpenWork-owned client.

## Path parameters

- `providerId` string, required

## Request body

- object
  - `clientId` string
  - `clientSecret` string
  - `features` string[]
  - `tenantId` string

## Response `200`

OAuth client saved.

- OAuthClientConfigResponse
  - `ok` true, required
  - `providerId` string, required
  - `clientId` string, required
  - `features` string[], required
  - `tenantId` string, nullable, required

## Other responses

- `400` — The request body or providerId was invalid.
- `401` — The caller must be signed in.
- `403` — Only workspace owners and admins can configure an OAuth client.
- `404` — Unknown providerId.

---

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