---
title: "Create Custom Provider"
method: POST
path: "/workspaces/{workspace_id}/providers"
tags: ["providers"]
---

# Create Custom Provider

`POST /workspaces/{workspace_id}/providers`

## Request

- Base URL: `https://platform.tracecat.com/api`
- URL: `https://platform.tracecat.com/api/workspaces/{workspace_id}/providers`
- Auth: one of:
  - API key in cookie `fastapiusersauth`
  - HTTP bearer

## Path parameters

- `workspace_id` string, uuid, required

## Request body

- CustomOAuthProviderCreate: Request payload for creating a custom OAuth provider.
  - `name` string, required
  - `description` string, nullable
  - `grant_type` 'authorization_code' | 'client_credentials', required: Grant type for OAuth 2.0.
  - `authorization_endpoint` string, required: OAuth authorization endpoint URL
  - `token_endpoint` string, required: OAuth token endpoint URL
  - `scopes` string[], nullable: Default OAuth scopes to request
  - `provider_id` string, nullable: Optional custom identifier for the provider
  - `client_id` string, required: OAuth client identifier
  - `client_secret` string, password, nullable: OAuth client secret for the provider

## Response `201`

Successful Response

- ProviderReadMinimal
  - `id` string, required
  - `name` string, required
  - `description` string, required
  - `requires_config` boolean, required
  - `integration_status` 'not_configured' | 'configured' | 'connected' | 'reauth_required', required: Status of an integration.
  - `enabled` boolean, required
  - `grant_type` 'authorization_code' | 'client_credentials', required: Grant type for OAuth 2.0.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tracecat/apis/tracecat-api.md) - [All operations](https://skmtc.dev/tracecat/apis/tracecat-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tracecat/apis/tracecat-api/revisions/2efdda25045f?raw)
