Docs

List the revisions of an identity provider connection

GET
/idps/{id}/revisions

Returns every revision of one connection, newest first, paginated with a cursor. The order is fixed, so there is no sorting.

The lookup is scoped to the project in project_id.

Authorization

oauth2 idp.read
headerAuthorizationBearer <token>

Scope: idp.read

Path Parameters

id*string

The connection id, allocated when the connection was created.

Query Parameters

project_id*string

The unique identifier of the project

Match^[a-zA-Z0-9_-]+$
limit?integer

Maximum number of items to return.

Range1 <= value <= 100
Default20
page_token?string

Token for fetching the next page of results. Obtain this value from next_page_token in the previous response. Omit to start from the beginning. Its format is opaque and may change between releases.

Response Body

The revisions of the identity provider connection were returned successfully.

application/json
  1. response

Paginated list of the revisions of one identity provider connection, newest first.

revisions*array<>
next_page_token?|

Token to pass as page_token in the next request to fetch the following page. Absent when there are no more results.

Example Request
import { createZitadelClient } from "@zitadel/api/client";const client = createZitadelClient({  baseUrl: process.env.ZITADEL_URL ?? "http://localhost:8080",  token: process.env.ZITADEL_PROJECT_SECRET!, // server-side only});const idpRevisions = await client.listIdpRevisions(  "idp_01KWH3B72K7M7F0N9WD3P2E4YM",  { project_id: "proj_01KWH1P4MYS7F0N9WD3P2E4YM5" },);
Example Response

Both rows share id and slug. The second revision added a scope, so revision_id and updated_at differ. It is newest, so it comes first.

{  "revisions": [    {      "id": "idp_01KWH3B72K7M7F0N9WD3P2E4YM",      "revision_id": "idprev_01KWHF2XY6RN7F0N9WD3P2E4YM",      "slug": "google",      "created_at": "2026-07-14T09:11:00Z",      "updated_at": "2026-07-16T14:20:00Z",      "definition": {        "slug": "google",        "protocol": "oidc",        "template": "google",        "display_name": "Google",        "subject_claim": "sub",        "claim_mapping": {          "email": "email",          "givenName": "given_name",          "familyName": "family_name"        },        "verified_claims": {          "email": "email_verified"        },        "provisioning": {          "creation": "auto"        },        "oidc": {          "issuer": "https://accounts.google.com",          "id_token_mapping": false,          "client_id": "${{ GOOGLE_CLIENT_ID }}",          "client_secret": "${{ GOOGLE_CLIENT_SECRET }}",          "token_endpoint_auth_method": "client_secret_basic",          "scopes": [            "openid",            "profile",            "email",            "https://www.googleapis.com/auth/user.phonenumbers.read"          ],          "pkce_enabled": true,          "static_authorize_parameters": {            "prompt": "select_account"          }        }      }    },    {      "id": "idp_01KWH3B72K7M7F0N9WD3P2E4YM",      "revision_id": "idprev_01KWH3B72K7M7F0N9WD3P2E4YN",      "slug": "google",      "created_at": "2026-07-14T09:11:00Z",      "updated_at": "2026-07-14T09:11:00Z",      "definition": {        "slug": "google",        "protocol": "oidc",        "template": "google",        "display_name": "Google",        "subject_claim": "sub",        "claim_mapping": {          "email": "email",          "givenName": "given_name",          "familyName": "family_name"        },        "verified_claims": {          "email": "email_verified"        },        "provisioning": {          "creation": "auto"        },        "oidc": {          "issuer": "https://accounts.google.com",          "id_token_mapping": false,          "client_id": "${{ GOOGLE_CLIENT_ID }}",          "client_secret": "${{ GOOGLE_CLIENT_SECRET }}",          "token_endpoint_auth_method": "client_secret_basic",          "scopes": [            "openid",            "profile",            "email"          ],          "pkce_enabled": true,          "static_authorize_parameters": {            "prompt": "select_account"          }        }      }    }  ]}

Was this helpful?