---
id: config-update-idp
title: "Update identity provider"
description: "Replaces the settings of the identity provider. Send all the members, also the client secret: the service replaces each member with the value of the request, and a member that you do not send becomes empty (`acceptedAudiences` becomes `null`). All URLs must be absolute `https://` URLs with a host. The response contains the client secret in clear text."
sidebar_label: "Update identity provider"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "put api-method"
info_path: docs/consent-management-admin-api/igrant-io-api-documentation
custom_edit_url: null
---

> **Build this with an AI coding agent.** Install the iGrant.io Agent Skills, then ask your agent to build the integration:
>
> ```bash
> npx skills add L3-iGrant/skills
> ```


import ApiTabs from "@theme/ApiTabs";
import DiscriminatorTabs from "@theme/DiscriminatorTabs";
import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes";
import MimeTabs from "@theme/MimeTabs";
import ParamsItem from "@theme/ParamsItem";
import ResponseSamples from "@theme/ResponseSamples";
import SchemaItem from "@theme/SchemaItem";
import SchemaTabs from "@theme/SchemaTabs";
import Markdown from "@theme/Markdown";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";

<h1 className={"openapi__heading"}>Update identity provider</h1>

<MethodEndpoint method={"put"} path={"/v4/config/platform/idp/open-id/{idpId}"}></MethodEndpoint>



Replaces the settings of the identity provider. Send all the members, also the client secret: the service replaces each member with the value of the request, and a member that you do not send becomes empty (`acceptedAudiences` becomes `null`). All URLs must be absolute `https://` URLs with a host. The response contains the client secret in clear text.

## Request

<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Path Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"description":"Identity provider ID (the `id` of the identity provider).","in":"path","name":"idpId","required":true,"schema":{"type":"string"},"example":"6af0830a2d6fb7b6ac6efc90"}}></ParamsItem></ul></div></details><MimeTabs className={"openapi-tabs__mime"}><TabItem label={"application/json"} value={"application/json-schema"}><details style={{}} className={"openapi-markdown__details mime"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-mime"}><h3 className={"openapi-markdown__details-summary-header-body"}>Body</h3><strong className={"openapi-schema__required"}>required</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>idp</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The OpenID Connect identity provider of the organisation: the login service of your own users. The individuals log in with it (for example in the privacy dashboard), and the service accepts its access tokens and ID tokens on the routes that an individual can call.

</div><SchemaItem collapsible={false} name={"issuerUrl"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"https://login.example.com/realms/customers","description":"Issuer URL of the identity provider (the `iss` of its tokens): the service finds the identity provider of a token by it. Optional. When you send it, it must be an absolute `https://` URL with a host."}}></SchemaItem><SchemaItem collapsible={false} name={"authorisationUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"https://login.example.com/realms/customers/protocol/openid-connect/auth","description":"Authorisation endpoint. An absolute `https://` URL with a host."}}></SchemaItem><SchemaItem collapsible={false} name={"tokenUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"https://login.example.com/realms/customers/protocol/openid-connect/token","description":"Token endpoint. An absolute `https://` URL with a host."}}></SchemaItem><SchemaItem collapsible={false} name={"logoutUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"https://login.example.com/realms/customers/protocol/openid-connect/logout","description":"Logout endpoint. An absolute `https://` URL with a host."}}></SchemaItem><SchemaItem collapsible={false} name={"clientId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"privacy-dashboard","description":"Client ID of the service at the identity provider. The login uses it, and the service checks that the `aud` of a token of the identity provider holds this client ID or one of `acceptedAudiences`."}}></SchemaItem><SchemaItem collapsible={false} name={"clientSecret"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"<client-secret>","description":"Client secret of the service at the identity provider. The answers of the config routes return it in clear text."}}></SchemaItem><SchemaItem collapsible={false} name={"jwksUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"https://login.example.com/realms/customers/protocol/openid-connect/certs","description":"URL of the JSON Web Key Set of the identity provider. An absolute `https://` URL with a host."}}></SchemaItem><SchemaItem collapsible={false} name={"userInfoUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"https://login.example.com/realms/customers/protocol/openid-connect/userinfo","description":"UserInfo endpoint. An absolute `https://` URL with a host."}}></SchemaItem><SchemaItem collapsible={false} name={"defaultScope"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"openid profile email","description":"Scope that the login asks for."}}></SchemaItem><SchemaItem collapsible={false} name={"acceptedAudiences"} required={false} schemaName={"string[]"} qualifierMessage={undefined} schema={{"type":"array","nullable":true,"items":{"type":"string"},"example":["https://api.example.com"],"description":"Optional. More `aud` values that the service accepts in an access token of the identity provider, for example the audience of a resource server. `null` when you did not send it."}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem></MimeTabs><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The updated identity provider, with its client secret.

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>idp</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The OpenID Connect identity provider of the organisation: the login service of your own users. The individuals log in with it (for example in the privacy dashboard), and the service accepts its access tokens and ID tokens on the routes that an individual can call.

</div><SchemaItem collapsible={false} name={"id"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","readOnly":true,"example":"6af0830a2d6fb7b6ac6efc90","description":"Identity provider ID. The service sets it."}}></SchemaItem><SchemaItem collapsible={false} name={"issuerUrl"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"https://login.example.com/realms/customers","description":"Issuer URL of the identity provider (the `iss` of its tokens): the service finds the identity provider of a token by it. Optional. When you send it, it must be an absolute `https://` URL with a host."}}></SchemaItem><SchemaItem collapsible={false} name={"authorisationUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"https://login.example.com/realms/customers/protocol/openid-connect/auth","description":"Authorisation endpoint. An absolute `https://` URL with a host."}}></SchemaItem><SchemaItem collapsible={false} name={"tokenUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"https://login.example.com/realms/customers/protocol/openid-connect/token","description":"Token endpoint. An absolute `https://` URL with a host."}}></SchemaItem><SchemaItem collapsible={false} name={"logoutUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"https://login.example.com/realms/customers/protocol/openid-connect/logout","description":"Logout endpoint. An absolute `https://` URL with a host."}}></SchemaItem><SchemaItem collapsible={false} name={"clientId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"privacy-dashboard","description":"Client ID of the service at the identity provider. The login uses it, and the service checks that the `aud` of a token of the identity provider holds this client ID or one of `acceptedAudiences`."}}></SchemaItem><SchemaItem collapsible={false} name={"clientSecret"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"<client-secret>","description":"Client secret of the service at the identity provider. The answers of the config routes return it in clear text."}}></SchemaItem><SchemaItem collapsible={false} name={"jwksUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"https://login.example.com/realms/customers/protocol/openid-connect/certs","description":"URL of the JSON Web Key Set of the identity provider. An absolute `https://` URL with a host."}}></SchemaItem><SchemaItem collapsible={false} name={"userInfoUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"https://login.example.com/realms/customers/protocol/openid-connect/userinfo","description":"UserInfo endpoint. An absolute `https://` URL with a host."}}></SchemaItem><SchemaItem collapsible={false} name={"defaultScope"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"openid profile email","description":"Scope that the login asks for."}}></SchemaItem><SchemaItem collapsible={false} name={"acceptedAudiences"} required={false} schemaName={"string[]"} qualifierMessage={undefined} schema={{"type":"array","nullable":true,"items":{"type":"string"},"example":["https://api.example.com"],"description":"Optional. More `aud` values that the service accepts in an access token of the identity provider, for example the audience of a resource server. `null` when you did not send it."}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"idp\": {\n    \"id\": \"6af0830a2d6fb7b6ac6efc90\",\n    \"issuerUrl\": \"https://login.example.com/realms/customers\",\n    \"authorisationUrl\": \"https://login.example.com/realms/customers/protocol/openid-connect/auth\",\n    \"tokenUrl\": \"https://login.example.com/realms/customers/protocol/openid-connect/token\",\n    \"logoutUrl\": \"https://login.example.com/realms/customers/protocol/openid-connect/logout\",\n    \"clientId\": \"privacy-dashboard\",\n    \"clientSecret\": \"<client-secret>\",\n    \"jwksUrl\": \"https://login.example.com/realms/customers/protocol/openid-connect/certs\",\n    \"userInfoUrl\": \"https://login.example.com/realms/customers/protocol/openid-connect/userinfo\",\n    \"defaultScope\": \"openid profile email\",\n    \"acceptedAudiences\": [\n      \"https://api.example.com\"\n    ]\n  }\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"idp\": {\n    \"id\": \"6af0830a2d6fb7b6ac6efc90\",\n    \"issuerUrl\": \"https://login.example.com/realms/customers\",\n    \"authorisationUrl\": \"https://login.example.com/realms/customers/protocol/openid-connect/auth\",\n    \"tokenUrl\": \"https://login.example.com/realms/customers/protocol/openid-connect/token\",\n    \"logoutUrl\": \"https://login.example.com/realms/customers/protocol/openid-connect/logout\",\n    \"clientId\": \"privacy-dashboard\",\n    \"clientSecret\": \"<client-secret>\",\n    \"jwksUrl\": \"https://login.example.com/realms/customers/protocol/openid-connect/certs\",\n    \"userInfoUrl\": \"https://login.example.com/realms/customers/protocol/openid-connect/userinfo\",\n    \"defaultScope\": \"openid profile email\",\n    \"acceptedAudiences\": [\n      \"https://api.example.com\"\n    ]\n  }\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The body is not valid JSON or has an unknown member, a mandatory member is missing or empty, or a URL is not an absolute `https://` URL with a host. These answers have the older body `{"Code", "Message"}`.

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"Code"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The HTTP status.","example":403}}></SchemaItem><SchemaItem collapsible={false} name={"Message"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"What went wrong.","example":"Unauthorized access;User doesn't have enough permissions;"}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"Code\": 403,\n  \"Message\": \"Unauthorized access;User doesn't have enough permissions;\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"401"} value={"401"}><div>

The API key or the token is missing or not valid.

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"403"} value={"403"}><div>

The API key or token does not allow this call. An API key without the scope of the operation gets the older body `{"Code", "Message"}`. An `X-SandboxOrgId` header that names another sandbox organisation than the one of the API key gets `{"errorCode", "errorDescription"}`. When a platform admin has turned off the feature of the operation for the organisation, the answer has `errorKey` `feature_disabled` and the member `feature` (the name of the feature).

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><div><span className={"badge badge--info"}>anyOf</span><SchemaTabs><TabItem label={"MOD1"} value={"0-item-properties"}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></TabItem><TabItem label={"Older error body"} value={"1-item-properties"}><SchemaItem collapsible={false} name={"Code"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The HTTP status.","example":403}}></SchemaItem><SchemaItem collapsible={false} name={"Message"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"What went wrong.","example":"Unauthorized access;User doesn't have enough permissions;"}}></SchemaItem></TabItem></SchemaTabs></div></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"Code\": 403,\n  \"Message\": \"Unauthorized access;User doesn't have enough permissions;\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

The organisation has no identity provider with this ID (`Failed to fetch identity provider: <idpId>`), or the server could not save the change.

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      