Migrate Generic OIDC Identity Provider​
Migrate Generic OIDC Identity Provider
Path Parameters
id string required
Header Parameters
x-zitadel-orgid string
The default is always the organization of the requesting user. If you like to get/set a result of another organization include the header. Make sure the user has permission to access the requested data.
application/json
application/grpc
application/grpc-web+proto
Request Body required
azure object
google object
Request Body required
azure object
google object
Request Body required
azure object
google object
Responses
- 200
- default
A successful response.
application/json
application/grpc
application/grpc-web+proto
Schema
Example (from schema)
Schema
details object
{
"details": {
"sequence": "2",
"creationDate": "2024-06-13T07:44:40.047Z",
"changeDate": "2024-06-13T07:44:40.047Z",
"resourceOwner": "69629023906488334"
}
}
Schema
Example (from schema)
Schema
details object
{
"details": {
"sequence": "2",
"creationDate": "2024-06-13T07:44:40.047Z",
"changeDate": "2024-06-13T07:44:40.047Z",
"resourceOwner": "69629023906488334"
}
}
Schema
Example (from schema)
Schema
details object
{
"details": {
"sequence": "2",
"creationDate": "2024-06-13T07:44:40.047Z",
"changeDate": "2024-06-13T07:44:40.047Z",
"resourceOwner": "69629023906488334"
}
}
An unexpected error response.
application/json
application/grpc
application/grpc-web+proto
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
POST /idps/generic_oidc/:id/_migrate
Authorization
name: OAuth2type: oauth2scopes:openid,urn:zitadel:iam:org:project:id:zitadel:aud
flows: { "authorizationCode": { "authorizationUrl": "$CUSTOM-DOMAIN/oauth/v2/authorize", "tokenUrl": "$CUSTOM-DOMAIN/oauth/v2/token", "scopes": { "openid": "openid", "urn:zitadel:iam:org:project:id:zitadel:aud": "urn:zitadel:iam:org:project:id:zitadel:aud" } } }
Request
Request
curl / cURL
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/generic_oidc/:id/_migrate' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"azure": {
"name": "Azure AD",
"clientId": "client-id",
"clientSecret": "secret",
"tenant": {
"tenantType": "AZURE_AD_TENANT_TYPE_COMMON",
"tenantId": "string"
},
"emailVerified": true,
"scopes": [
"openid",
"profile",
"email",
"User.Read"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
},
"google": {
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}
}'
python / requests
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/generic_oidc/:id/_migrate' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"azure": {
"name": "Azure AD",
"clientId": "client-id",
"clientSecret": "secret",
"tenant": {
"tenantType": "AZURE_AD_TENANT_TYPE_COMMON",
"tenantId": "string"
},
"emailVerified": true,
"scopes": [
"openid",
"profile",
"email",
"User.Read"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
},
"google": {
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}
}'
go / native
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/generic_oidc/:id/_migrate' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"azure": {
"name": "Azure AD",
"clientId": "client-id",
"clientSecret": "secret",
"tenant": {
"tenantType": "AZURE_AD_TENANT_TYPE_COMMON",
"tenantId": "string"
},
"emailVerified": true,
"scopes": [
"openid",
"profile",
"email",
"User.Read"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
},
"google": {
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}
}'
nodejs / axios
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/generic_oidc/:id/_migrate' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"azure": {
"name": "Azure AD",
"clientId": "client-id",
"clientSecret": "secret",
"tenant": {
"tenantType": "AZURE_AD_TENANT_TYPE_COMMON",
"tenantId": "string"
},
"emailVerified": true,
"scopes": [
"openid",
"profile",
"email",
"User.Read"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
},
"google": {
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}
}'
ruby / Net::HTTP
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/generic_oidc/:id/_migrate' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"azure": {
"name": "Azure AD",
"clientId": "client-id",
"clientSecret": "secret",
"tenant": {
"tenantType": "AZURE_AD_TENANT_TYPE_COMMON",
"tenantId": "string"
},
"emailVerified": true,
"scopes": [
"openid",
"profile",
"email",
"User.Read"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
},
"google": {
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}
}'
csharp / RestSharp
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/generic_oidc/:id/_migrate' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"azure": {
"name": "Azure AD",
"clientId": "client-id",
"clientSecret": "secret",
"tenant": {
"tenantType": "AZURE_AD_TENANT_TYPE_COMMON",
"tenantId": "string"
},
"emailVerified": true,
"scopes": [
"openid",
"profile",
"email",
"User.Read"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
},
"google": {
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}
}'
php / cURL
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/generic_oidc/:id/_migrate' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"azure": {
"name": "Azure AD",
"clientId": "client-id",
"clientSecret": "secret",
"tenant": {
"tenantType": "AZURE_AD_TENANT_TYPE_COMMON",
"tenantId": "string"
},
"emailVerified": true,
"scopes": [
"openid",
"profile",
"email",
"User.Read"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
},
"google": {
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}
}'
java / OkHttp
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/generic_oidc/:id/_migrate' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"azure": {
"name": "Azure AD",
"clientId": "client-id",
"clientSecret": "secret",
"tenant": {
"tenantType": "AZURE_AD_TENANT_TYPE_COMMON",
"tenantId": "string"
},
"emailVerified": true,
"scopes": [
"openid",
"profile",
"email",
"User.Read"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
},
"google": {
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}
}'
powershell / RestMethod
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/generic_oidc/:id/_migrate' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"azure": {
"name": "Azure AD",
"clientId": "client-id",
"clientSecret": "secret",
"tenant": {
"tenantType": "AZURE_AD_TENANT_TYPE_COMMON",
"tenantId": "string"
},
"emailVerified": true,
"scopes": [
"openid",
"profile",
"email",
"User.Read"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
},
"google": {
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}
}'