---
title: "Create DCR provider"
method: POST
path: "/v2/dcr-providers"
tags: ["DCR Providers"]
---

# Create DCR provider

`POST /v2/dcr-providers`

Creates a DCR provider.

## Request body

- union — Request body for creating a DCR provider. The provider_type cannot be updated after creation.
  - object — Request body for creating an Auth0 DCR provider.
    - `provider_type` 'auth0', required
    - `dcr_config` CreateDcrConfigAuth0InRequest, required — Payload to create an Auth0 DCR provider.
      - `initial_client_id` string, required — This ID should be copied from your identity provider's settings after you create a client and assign it as the management client for DCR for this developer portal
      - `initial_client_secret` string, required — This secret should be copied from your identity provider's settings after you create a client and assign it as the management client for DCR for this developer portal
      - `initial_client_audience` string, nullable — This is the audience value used for the initial client. If using a custom domain on Auth0, this must be set as to the Auth0 Management API audience value. If left blank, the issuer will be used instead.
      - `use_developer_managed_scopes` boolean
    - `name` string, required — The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI.
    - `display_name` string — The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.
    - `issuer` string, url, required
    - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
  - object — Request body for creating an Azure AD DCR provider.
    - `provider_type` 'azureAd', required
    - `dcr_config` CreateDcrConfigAzureAdInRequest, required — Payload to create an Azure AD DCR provider.
      - `initial_client_id` string, required — This ID should be copied from your identity provider's settings after you create a client and assign it as the management client for DCR for this developer portal
      - `initial_client_secret` string, required — This secret should be copied from your identity provider's settings after you create a client and assign it as the management client for DCR for this developer portal
    - `name` string, required — The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI.
    - `display_name` string — The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.
    - `issuer` string, url, required
    - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
  - object — Request body for creating a Curity DCR provider.
    - `provider_type` 'curity', required
    - `dcr_config` CreateDcrConfigCurityInRequest, required — Payload to create a Curity DCR provider.
      - `initial_client_id` string, required — This ID should be copied from your identity provider's settings after you create a client and assign it as the management client for DCR for this developer portal
      - `initial_client_secret` string, required — This secret should be copied from your identity provider's settings after you create a client and assign it as the management client for DCR for this developer portal
    - `name` string, required — The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI.
    - `display_name` string — The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.
    - `issuer` string, url, required
    - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
  - object — Request body for creating an Okta DCR provider.
    - `provider_type` 'okta', required
    - `dcr_config` CreateDcrConfigOktaInRequest, required — Payload to create an Okta DCR provider.
      - `dcr_token` string, required — This secret should be copied from your identity provider's settings after you create a client and assign it as the management client for DCR for this developer portal
    - `name` string, required — The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI.
    - `display_name` string — The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.
    - `issuer` string, url, required
    - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
  - object — Request body for creating an HTTP DCR provider.
    - `provider_type` 'http', required
    - `dcr_config` CreateDcrConfigHttpInRequest, required — Payload to create an HTTP DCR provider.
      - `dcr_base_url` string, url, required — The base URL of the DCR server. This is the URL that will be used to make the HTTP requests from Konnect to the DCR provider. This URL must be accessible from the Konnect service.
      - `api_key` string, required — This is the API Key that will be sent with each HTTP request to the custom DCR server. It can be verified on the server to ensure that incoming requests are coming from Konnect.
      - `disable_event_hooks` boolean — This flag disables all the event-hooks on the application flow for the DCR provider.
      - `disable_refresh_secret` boolean — This flag disable the refresh-secret endpoint on the application flow for the DCR provider.
      - `allow_multiple_credentials` boolean — When enabled, indicates that the DCR provider supports creating and managing multiple credentials per application.
    - `name` string, required — The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI.
    - `display_name` string — The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.
    - `issuer` string, url, required
    - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
  - object — Request body for creating a Kong Identity DCR provider.
    - `provider_type` 'kongIdentity', required
    - `dcr_config` CreateDcrConfigKongIdentityInRequest — Payload to create a Kong Identity DCR provider.
    - `name` string, required — The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI.
    - `display_name` string — The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.
    - `issuer` string, url, required
    - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".

## Response `201`

A response containing the newly created DCR provider object.

- union
  - object — A DCR provider for Auth0 -- only properties not included in DcrProviderBase
    - `id` string, uuid, required — Contains a unique identifier used for this resource.
    - `name` string, required — The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI.
    - `display_name` string — The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.
    - `provider_type` 'auth0', required — The type of DCR provider. Can be one of the following - auth0, azureAd, curity, okta, http
    - `issuer` string, url, required — The issuer of the DCR provider.
    - `active` boolean, required — At least one active auth strategy is using this DCR provider.
    - `dcr_config` object, required — A DCR provider configuration for Auth0
      - `initial_client_id` string, required — This ID should be copied from your identity provider's settings after you create a client and assign it as the management client for DCR for this developer portal
      - `initial_client_audience` string, nullable, required — This is the audience value used for the initial client. If using a custom domain on Auth0, this must be set as to the Auth0 Management API audience value. If left blank, the issuer will be used instead.
      - `use_developer_managed_scopes` boolean, required
    - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
    - `created_at` string, date-time, required — An ISO-8601 timestamp representation of entity creation date.
    - `updated_at` string, date-time, required — An ISO-8601 timestamp representation of entity update date.
  - object — A DCR provider for Azure AD -- only properties not included in DcrProviderBase
    - `id` string, uuid, required — Contains a unique identifier used for this resource.
    - `name` string, required — The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI.
    - `display_name` string — The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.
    - `provider_type` 'azureAd', required — The type of DCR provider. Can be one of the following - auth0, azureAd, curity, okta, http
    - `issuer` string, url, required — The issuer of the DCR provider.
    - `active` boolean, required — At least one active auth strategy is using this DCR provider.
    - `dcr_config` object, required — A DCR provider configuration for Azure AD
      - `initial_client_id` string, required — This ID should be copied from your identity provider's settings after you create a client and assign it as the management client for DCR for this developer portal
    - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
    - `created_at` string, date-time, required — An ISO-8601 timestamp representation of entity creation date.
    - `updated_at` string, date-time, required — An ISO-8601 timestamp representation of entity update date.
  - object — A DCR provider for Curity -- only properties not included in DcrProviderBase
    - `id` string, uuid, required — Contains a unique identifier used for this resource.
    - `name` string, required — The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI.
    - `display_name` string — The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.
    - `provider_type` 'curity', required — The type of DCR provider. Can be one of the following - auth0, azureAd, curity, okta, http
    - `issuer` string, url, required — The issuer of the DCR provider.
    - `active` boolean, required — At least one active auth strategy is using this DCR provider.
    - `dcr_config` object, required — A DCR provider configuration for Curity
      - `initial_client_id` string, required — This ID should be copied from your identity provider's settings after you create a client and assign it as the management client for DCR for this developer portal
    - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
    - `created_at` string, date-time, required — An ISO-8601 timestamp representation of entity creation date.
    - `updated_at` string, date-time, required — An ISO-8601 timestamp representation of entity update date.
  - object — A DCR provider for Okta -- only properties not included in DcrProviderBase
    - `id` string, uuid, required — Contains a unique identifier used for this resource.
    - `name` string, required — The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI.
    - `display_name` string — The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.
    - `provider_type` 'okta', required — The type of DCR provider. Can be one of the following - auth0, azureAd, curity, okta, http
    - `issuer` string, url, required — The issuer of the DCR provider.
    - `active` boolean, required — At least one active auth strategy is using this DCR provider.
    - `dcr_config` object, required — A DCR provider configuration for Okta
    - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
    - `created_at` string, date-time, required — An ISO-8601 timestamp representation of entity creation date.
    - `updated_at` string, date-time, required — An ISO-8601 timestamp representation of entity update date.
  - object — A DCR provider for Kong Identity -- only properties not included in DcrProviderBase
    - `id` string, uuid, required — Contains a unique identifier used for this resource.
    - `name` string, required — The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI.
    - `display_name` string — The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.
    - `provider_type` 'kongIdentity', required — The type of DCR provider. Can be one of the following - auth0, azureAd, curity, okta, http
    - `issuer` string, url, required — The issuer of the DCR provider.
    - `active` boolean, required — At least one active auth strategy is using this DCR provider.
    - `dcr_config` object, required — A DCR provider configuration for Kong Identity
    - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
    - `created_at` string, date-time, required — An ISO-8601 timestamp representation of entity creation date.
    - `updated_at` string, date-time, required — An ISO-8601 timestamp representation of entity update date.
  - object — A DCR provider for HTTP -- only properties not included in DcrProviderBase
    - `id` string, uuid, required — Contains a unique identifier used for this resource.
    - `name` string, required — The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI.
    - `display_name` string — The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.
    - `provider_type` 'http', required — The type of DCR provider. Can be one of the following - auth0, azureAd, curity, okta, http
    - `issuer` string, url, required — The issuer of the DCR provider.
    - `active` boolean, required — At least one active auth strategy is using this DCR provider.
    - `dcr_config` object, required — A DCR provider configuration for HTTP
      - `dcr_base_url` string, url, required
      - `disable_event_hooks` boolean — This flag disables all the event-hooks on the application flow for the DCR provider.
      - `disable_refresh_secret` boolean — This flag disable the refresh-secret endpoint on the application flow for the DCR provider.
      - `allow_multiple_credentials` boolean — When enabled, indicates that the DCR provider supports creating and managing multiple credentials per application.
    - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
    - `created_at` string, date-time, required — An ISO-8601 timestamp representation of entity creation date.
    - `updated_at` string, date-time, required — An ISO-8601 timestamp representation of entity update date.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/kong/apis/konnect-api-go-sdk.md) · [All operations](https://skmtc.net/kong/apis/konnect-api-go-sdk/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kong/konnect-api-go-sdk/versions/0261aef4b1e2/schema)
