---
title: "Add Identity Provider"
method: POST
path: "/api/v1/idps"
tags: ["IdentityProvider"]
---

# Add Identity Provider

`POST /api/v1/idps`

## Request

- Base URL: `https://your-subdomain.okta.com`
- URL: `https://your-subdomain.okta.com/api/v1/idps`
- Auth: API key in header `Authorization`

Adds a new IdP to your organization.

## Request body

- IdentityProvider
  - `_links` object
  - `created` string, date-time
  - `id` string
  - `issuerMode` 'ORG_URL' | 'CUSTOM_URL' | 'DYNAMIC'
  - `lastUpdated` string, date-time
  - `name` string
  - `policy` IdentityProviderPolicy
    - `accountLink` PolicyAccountLink
      - `action` 'AUTO' | 'DISABLED'
      - `filter` PolicyAccountLinkFilter
        - `groups` PolicyAccountLinkFilterGroups
          - `include` string[]
    - `maxClockSkew` integer
    - `provisioning` Provisioning
      - `action` 'AUTO' | 'CALLOUT' | 'DISABLED'
      - `conditions` ProvisioningConditions
        - `deprovisioned` ProvisioningDeprovisionedCondition
          - `action` 'NONE' | 'REACTIVATE'
        - `suspended` ProvisioningSuspendedCondition
          - `action` 'NONE' | 'UNSUSPEND'
      - `groups` ProvisioningGroups
        - `action` 'NONE' | 'APPEND' | 'SYNC' | 'ASSIGN'
        - `assignments` string[]
        - `filter` string[]
        - `sourceAttributeName` string
      - `profileMaster` boolean
    - `subject` PolicySubject
      - `filter` string
      - `format` string[]
      - `matchAttribute` string
      - `matchType` 'USERNAME' | 'EMAIL' | 'USERNAME_OR_EMAIL' | 'CUSTOM_ATTRIBUTE'
      - `userNameTemplate` PolicyUserNameTemplate
        - `template` string
  - `protocol` Protocol
    - `algorithms` ProtocolAlgorithms
      - `request` ProtocolAlgorithmType
        - `signature` ProtocolAlgorithmTypeSignature
          - `algorithm` string
          - `scope` 'RESPONSE' | 'TOKEN' | 'ANY' | 'REQUEST' | 'NONE'
      - `response` ProtocolAlgorithmType
        - `signature` ProtocolAlgorithmTypeSignature
          - `algorithm` string
          - `scope` 'RESPONSE' | 'TOKEN' | 'ANY' | 'REQUEST' | 'NONE'
    - `credentials` IdentityProviderCredentials
      - `client` IdentityProviderCredentialsClient
        - `client_id` string
        - `client_secret` string
      - `signing` IdentityProviderCredentialsSigning
        - `kid` string
        - `privateKey` string
        - `teamId` string
      - `trust` IdentityProviderCredentialsTrust
        - `audience` string
        - `issuer` string
        - `kid` string
        - `revocation` 'CRL' | 'DELTA_CRL' | 'OCSP'
        - `revocationCacheLifetime` integer
    - `endpoints` ProtocolEndpoints
      - `acs` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `authorization` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `jwks` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `metadata` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `slo` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `sso` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `token` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `userInfo` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
    - `issuer` ProtocolEndpoint
      - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
      - `destination` string
      - `type` 'INSTANCE' | 'ORG'
      - `url` string
    - `relayState` ProtocolRelayState
      - `format` 'OPAQUE' | 'FROM_URL'
    - `scopes` string[]
    - `settings` ProtocolSettings
      - `nameFormat` string
    - `type` 'SAML2' | 'OIDC' | 'OAUTH2' | 'MTLS'
  - `status` 'ACTIVE' | 'INACTIVE'
  - `type` 'SAML2' | 'GOOGLE' | 'FACEBOOK' | 'LINKEDIN' | 'MICROSOFT' | 'OIDC' | 'OKTA' | 'IWA' | 'AgentlessDSSO' | 'X509'

## Response `200`

Success

- IdentityProvider
  - `_links` object
  - `created` string, date-time
  - `id` string
  - `issuerMode` 'ORG_URL' | 'CUSTOM_URL' | 'DYNAMIC'
  - `lastUpdated` string, date-time
  - `name` string
  - `policy` IdentityProviderPolicy
    - `accountLink` PolicyAccountLink
      - `action` 'AUTO' | 'DISABLED'
      - `filter` PolicyAccountLinkFilter
        - `groups` PolicyAccountLinkFilterGroups
          - `include` string[]
    - `maxClockSkew` integer
    - `provisioning` Provisioning
      - `action` 'AUTO' | 'CALLOUT' | 'DISABLED'
      - `conditions` ProvisioningConditions
        - `deprovisioned` ProvisioningDeprovisionedCondition
          - `action` 'NONE' | 'REACTIVATE'
        - `suspended` ProvisioningSuspendedCondition
          - `action` 'NONE' | 'UNSUSPEND'
      - `groups` ProvisioningGroups
        - `action` 'NONE' | 'APPEND' | 'SYNC' | 'ASSIGN'
        - `assignments` string[]
        - `filter` string[]
        - `sourceAttributeName` string
      - `profileMaster` boolean
    - `subject` PolicySubject
      - `filter` string
      - `format` string[]
      - `matchAttribute` string
      - `matchType` 'USERNAME' | 'EMAIL' | 'USERNAME_OR_EMAIL' | 'CUSTOM_ATTRIBUTE'
      - `userNameTemplate` PolicyUserNameTemplate
        - `template` string
  - `protocol` Protocol
    - `algorithms` ProtocolAlgorithms
      - `request` ProtocolAlgorithmType
        - `signature` ProtocolAlgorithmTypeSignature
          - `algorithm` string
          - `scope` 'RESPONSE' | 'TOKEN' | 'ANY' | 'REQUEST' | 'NONE'
      - `response` ProtocolAlgorithmType
        - `signature` ProtocolAlgorithmTypeSignature
          - `algorithm` string
          - `scope` 'RESPONSE' | 'TOKEN' | 'ANY' | 'REQUEST' | 'NONE'
    - `credentials` IdentityProviderCredentials
      - `client` IdentityProviderCredentialsClient
        - `client_id` string
        - `client_secret` string
      - `signing` IdentityProviderCredentialsSigning
        - `kid` string
        - `privateKey` string
        - `teamId` string
      - `trust` IdentityProviderCredentialsTrust
        - `audience` string
        - `issuer` string
        - `kid` string
        - `revocation` 'CRL' | 'DELTA_CRL' | 'OCSP'
        - `revocationCacheLifetime` integer
    - `endpoints` ProtocolEndpoints
      - `acs` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `authorization` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `jwks` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `metadata` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `slo` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `sso` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `token` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
      - `userInfo` ProtocolEndpoint
        - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
        - `destination` string
        - `type` 'INSTANCE' | 'ORG'
        - `url` string
    - `issuer` ProtocolEndpoint
      - `binding` 'HTTP-POST' | 'HTTP-REDIRECT'
      - `destination` string
      - `type` 'INSTANCE' | 'ORG'
      - `url` string
    - `relayState` ProtocolRelayState
      - `format` 'OPAQUE' | 'FROM_URL'
    - `scopes` string[]
    - `settings` ProtocolSettings
      - `nameFormat` string
    - `type` 'SAML2' | 'OIDC' | 'OAUTH2' | 'MTLS'
  - `status` 'ACTIVE' | 'INACTIVE'
  - `type` 'SAML2' | 'GOOGLE' | 'FACEBOOK' | 'LINKEDIN' | 'MICROSOFT' | 'OIDC' | 'OKTA' | 'IWA' | 'AgentlessDSSO' | 'X509'

---

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