---
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

## Headers

- `Authorization` string, required

## 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_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_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_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_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_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 `200`

OK

- SchemasAuthProviderResponse
  - `binding` SchemasBindingResponse
    - `id` string
    - `type` 'static' | 'tenant' | 'project' | 'account'
  - `created_at` string
  - `description` string
  - `id` string
  - `oauth2` SchemasOAuth2ConfigResponse
    - `authorize_request` SchemasOAuth2RequestConfigResponse
      - `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
      - `hint` string
      - `value` string
    - `pkce` SchemasPKCEConfigResponse
      - `code_challenge_method` string
      - `enabled` boolean
    - `redirect_uri` string — The redirect URI required for this provider.
    - `refresh_request` SchemasOAuth2RequestConfigResponse
      - `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_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_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_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

---

[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/8446c4e394ac/schema)
