---
title: "Create an auth provider"
method: POST
path: "/v1/admin/auth_providers"
tags: ["Admin"]
---

# Create an auth provider

`POST /v1/admin/auth_providers`

Create a new auth provider

## Request body

- SchemasAuthProviderCreateRequest
  - `description` string
  - `external_id` string — The unique external ID for the auth provider
  - `id` string, required
  - `oauth2` SchemasOAuth2ConfigCreateRequest
    - `authorize_request` SchemasOAuth2RequestConfigCreateRequest
      - `auth_header_value_format` string
      - `auth_method` string
      - `endpoint` string, required
      - `method` string
      - `params` object
      - `request_content_type` 'application/x-www-form-urlencoded' | 'application/json'
      - `response_content_type` 'application/x-www-form-urlencoded' | 'application/json'
      - `response_map` object
    - `client_id` string, required
    - `client_secret` string
    - `pkce` SchemasPKCEConfigCreateRequest
      - `code_challenge_method` string
      - `enabled` boolean
    - `refresh_request` SchemasOAuth2RequestConfigCreateRequest
      - `auth_header_value_format` string
      - `auth_method` string
      - `endpoint` string, required
      - `method` string
      - `params` object
      - `request_content_type` 'application/x-www-form-urlencoded' | 'application/json'
      - `response_content_type` 'application/x-www-form-urlencoded' | 'application/json'
      - `response_map` object
    - `scope_delimiter` ',' | ' '
    - `token_introspection_request` SchemasTokenIntrospectionCreateRequest
      - `auth_header_value_format` string
      - `auth_method` string
      - `endpoint` string, required
      - `method` string
      - `params` object
      - `request_content_type` 'application/x-www-form-urlencoded' | 'application/json'
      - `response_content_type` 'application/x-www-form-urlencoded' | 'application/json'
      - `response_map` object
      - `triggers` SchemasTokenIntrospectionTriggersCreateRequest, required
        - `on_token_grant` boolean
        - `on_token_refresh` boolean
    - `token_request` SchemasOAuth2RequestConfigCreateRequest
      - `auth_header_value_format` string
      - `auth_method` string
      - `endpoint` string, required
      - `method` string
      - `params` object
      - `request_content_type` 'application/x-www-form-urlencoded' | 'application/json'
      - `response_content_type` 'application/x-www-form-urlencoded' | 'application/json'
      - `response_map` object
    - `user_info_request` SchemasUserInfoRequestConfigCreateRequest
      - `auth_header_value_format` string
      - `auth_method` string
      - `endpoint` string, required
      - `method` string
      - `params` object
      - `request_content_type` 'application/x-www-form-urlencoded' | 'application/json'
      - `response_content_type` 'application/x-www-form-urlencoded' | 'application/json'
      - `response_map` object
      - `triggers` SchemasUserInfoRequestTriggersCreateRequest, required
        - `on_token_grant` boolean
        - `on_token_refresh` boolean
  - `provider_id` string
  - `status` string
  - `type` string

## Response `201`

Created

- SchemasAuthProviderResponse
  - `binding` SchemasBindingResponse
    - `id` string
    - `type` 'static' | 'tenant' | 'project' | 'account'
  - `created_at` string
  - `description` string
  - `id` string
  - `oauth2` SchemasOAuth2ConfigResponse
    - `authorize_request` SchemasOAuth2RequestConfigResponse
      - `auth_header_value_format` string
      - `auth_method` string
      - `endpoint` string
      - `expiration_format` string
      - `method` string
      - `params` object
      - `request_content_type` string
      - `response_content_type` string
      - `response_map` object
    - `client_id` string
    - `client_secret` SchemasSecretResponse
      - `binding` 'static' | 'tenant' | 'project' | 'account'
      - `editable` boolean
      - `exists` boolean
      - `value` string
    - `pkce` SchemasPKCEConfigResponse
      - `code_challenge_method` string
      - `enabled` boolean
    - `redirect_uri` string — The redirect URI required for this provider.
    - `refresh_request` SchemasOAuth2RequestConfigResponse
      - `auth_header_value_format` string
      - `auth_method` string
      - `endpoint` string
      - `expiration_format` string
      - `method` string
      - `params` object
      - `request_content_type` string
      - `response_content_type` string
      - `response_map` object
    - `scope_delimiter` string
    - `token_introspection_request` SchemasTokenIntrospectionRequestConfigResponse
      - `auth_header_value_format` string
      - `auth_method` string
      - `enabled` boolean
      - `endpoint` string
      - `expiration_format` string
      - `method` string
      - `params` object
      - `request_content_type` string
      - `response_content_type` string
      - `response_map` object
      - `triggers` SchemasTokenIntrospectionRequestTriggersResponse
        - `on_token_grant` boolean
        - `on_token_refresh` boolean
    - `token_request` SchemasOAuth2RequestConfigResponse
      - `auth_header_value_format` string
      - `auth_method` string
      - `endpoint` string
      - `expiration_format` string
      - `method` string
      - `params` object
      - `request_content_type` string
      - `response_content_type` string
      - `response_map` object
    - `user_info_request` SchemasUserInfoRequestConfigResponse
      - `auth_header_value_format` string
      - `auth_method` string
      - `endpoint` string
      - `expiration_format` string
      - `method` string
      - `params` object
      - `request_content_type` string
      - `response_content_type` string
      - `response_map` object
      - `triggers` SchemasUserInfoRequestTriggersResponse
        - `on_token_grant` boolean
        - `on_token_refresh` boolean
  - `provider_id` string
  - `status` string
  - `type` string
  - `updated_at` string

## Other responses

- `400` — Bad Request
- `500` — Internal Server Error

## Changes

- **2026-02-20** `13d86377193e` — 1 breaking, 1 info
  - removed the success response with the status `200`
  - added the success response with the status `201`
- **2026-02-18** `2a6c58164e9f` — 1 warning
  - removed the optional property `oauth2/client_secret/hint` from the response with the `200` status
- **2025-11-06** `0a15ddd7e03a` — 10 info
  - added the new optional request property `oauth2/authorize_request/auth_header_value_format`
  - added the new optional request property `oauth2/refresh_request/auth_header_value_format`
  - added the new optional request property `oauth2/token_introspection_request/auth_header_value_format`
  - added the new optional request property `oauth2/token_request/auth_header_value_format`
  - …6 more
- **2025-10-30** `f59a2fe653b8` — 1 warning, 1 info
  - deleted the `header` request parameter `Authorization`
  - the endpoint scheme security `Bearer` was added to the API

[Change history](https://skmtc.dev/arcadeai/apis/arcade-api/changes/v1/admin/auth_providers/post.md)

---

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