---
title: "Upsert webhook OAuth config"
method: PUT
path: "/api/notifications/v1/webhooks/{webhookId}/oauth-config"
tags: ["Notification Webhooks"]
---

# Upsert webhook OAuth config

`PUT /api/notifications/v1/webhooks/{webhookId}/oauth-config`

Creates or updates the OAuth 2.0 client credentials configuration for a webhook. The client secret is encrypted at rest using KMS when the oauth-kms-enabled feature flag is active.

## Path parameters

- `webhookId` string, required

## Request body

- UpsertWebhookOAuthConfigRequest
  - `tokenUrl` string, required
  - `clientId` string, required
  - `clientSecret` string, required
  - `scope` string, required

## Response `200`

OAuth config upserted successfully

- GetWebhookOAuthConfigResponse
  - `webhookId` string, required
  - `tokenUrl` string, required
  - `clientId` string, required
  - `scope` string, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `400` — Invalid request parameters
- `403` — Access denied
- `500` — Unexpected error occurred

---

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