---
title: "Post Identity Providers"
method: POST
path: "/api/v1/entities/identityProviders"
tags: ["Identity Providers"]
---

# Post Identity Providers

`POST /api/v1/entities/identityProviders`

## Request

- Base URL: `https://www.gooddata.ai`
- URL: `https://www.gooddata.ai/api/v1/entities/identityProviders`
- Auth: none declared

## Request body

- JsonApiIdentityProviderInDocument
  - `data` JsonApiIdentityProviderIn, required: JSON:API representation of identityProvider entity.
    - `attributes` object
      - `customClaimMapping` object: Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.
      - `identifiers` string[]: List of identifiers for this IdP, where an identifier is a domain name. Users with email addresses belonging to these domains will be authenticated by this IdP.
      - `idpType` 'MANAGED_IDP' | 'FIM_IDP' | 'DEX_IDP' | 'CUSTOM_IDP': Type of IdP for management purposes. MANAGED_IDP represents a GoodData managed IdP used in single OIDC setup, which is protected from altering/deletion. FIM_IDP represents a GoodData managed IdP used in federated identity management setup, which is protected from altering/deletion. DEX_IDP represents internal Dex IdP which is protected from altering/deletion. CUSTOM_IDP represents customer's own IdP, protected from deletion if currently used by org for authentication, deletable otherwise.
      - `oauthClientId` string: The OAuth client id of your OIDC provider. This field is mandatory for OIDC IdP.
      - `oauthClientSecret` string: The OAuth client secret of your OIDC provider. This field is mandatory for OIDC IdP.
      - `oauthCustomAuthAttributes` object: Map of additional authentication attributes that should be added to the OAuth2 authentication requests, where the key is the name of the attribute and the value is the value of the attribute.
      - `oauthCustomScopes` string[], nullable: List of additional OAuth scopes which may be required by other providers (e.g. Snowflake)
      - `oauthIssuerId` string: Any string identifying the OIDC provider. This value is used as suffix for OAuth2 callback (redirect) URL. If not defined, the standard callback URL is used. This value is valid only for external OIDC providers, not for the internal DEX provider.
      - `oauthIssuerLocation` string: The location of your OIDC provider. This field is mandatory for OIDC IdP.
      - `oauthSubjectIdClaim` string: Any string identifying the claim in ID token, that should be used for user identification. The default value is 'sub'.
      - `samlMetadata` string: Base64 encoded xml document with SAML metadata. This document is issued by your SAML provider. It includes the issuer's name, expiration information, and keys that can be used to validate the response from the identity provider. This field is mandatory for SAML IdP.
    - `id` string, required: API identifier of an object
    - `type` 'identityProvider', required: Object type

## Response `201`

Request successfully processed

- JsonApiIdentityProviderOutDocument
  - `data` JsonApiIdentityProviderOut, required: JSON:API representation of identityProvider entity.
    - `attributes` object
      - `customClaimMapping` object: Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.
      - `identifiers` string[]: List of identifiers for this IdP, where an identifier is a domain name. Users with email addresses belonging to these domains will be authenticated by this IdP.
      - `idpType` 'MANAGED_IDP' | 'FIM_IDP' | 'DEX_IDP' | 'CUSTOM_IDP': Type of IdP for management purposes. MANAGED_IDP represents a GoodData managed IdP used in single OIDC setup, which is protected from altering/deletion. FIM_IDP represents a GoodData managed IdP used in federated identity management setup, which is protected from altering/deletion. DEX_IDP represents internal Dex IdP which is protected from altering/deletion. CUSTOM_IDP represents customer's own IdP, protected from deletion if currently used by org for authentication, deletable otherwise.
      - `oauthClientId` string: The OAuth client id of your OIDC provider. This field is mandatory for OIDC IdP.
      - `oauthCustomAuthAttributes` object: Map of additional authentication attributes that should be added to the OAuth2 authentication requests, where the key is the name of the attribute and the value is the value of the attribute.
      - `oauthCustomScopes` string[], nullable: List of additional OAuth scopes which may be required by other providers (e.g. Snowflake)
      - `oauthIssuerId` string: Any string identifying the OIDC provider. This value is used as suffix for OAuth2 callback (redirect) URL. If not defined, the standard callback URL is used. This value is valid only for external OIDC providers, not for the internal DEX provider.
      - `oauthIssuerLocation` string: The location of your OIDC provider. This field is mandatory for OIDC IdP.
      - `oauthSubjectIdClaim` string: Any string identifying the claim in ID token, that should be used for user identification. The default value is 'sub'.
    - `id` string, required: API identifier of an object
    - `type` 'identityProvider', required: Object type
  - `links` ObjectLinks
    - `self` string, uri, required: A string containing the link's URL.

---

[API](https://skmtc.dev/gooddata/apis/gooddata-cn-oapi-all-api.md) - [All operations](https://skmtc.dev/gooddata/apis/gooddata-cn-oapi-all-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gooddata/apis/gooddata-cn-oapi-all-api/revisions/c728ef303bfb?raw)
