4545from ..types .get_client_response_content import GetClientResponseContent
4646from ..types .list_clients_offset_paginated_response_content import ListClientsOffsetPaginatedResponseContent
4747from ..types .native_social_login import NativeSocialLogin
48+ from ..types .preview_cimd_metadata_response_content import PreviewCimdMetadataResponseContent
49+ from ..types .register_cimd_client_response_content import RegisterCimdClientResponseContent
4850from ..types .rotate_client_secret_response_content import RotateClientSecretResponseContent
4951from ..types .update_client_response_content import UpdateClientResponseContent
5052from ..types .update_token_quota import UpdateTokenQuota
@@ -86,6 +88,7 @@ def list(
8688 is_global : typing .Optional [bool ] = None ,
8789 is_first_party : typing .Optional [bool ] = None ,
8890 app_type : typing .Optional [str ] = None ,
91+ external_client_id : typing .Optional [str ] = None ,
8992 q : typing .Optional [str ] = None ,
9093 request_options : typing .Optional [RequestOptions ] = None ,
9194 ) -> SyncPager [Client , ListClientsOffsetPaginatedResponseContent ]:
@@ -150,6 +153,9 @@ def list(
150153 app_type : typing.Optional[str]
151154 Optional filter by a comma-separated list of application types.
152155
156+ external_client_id : typing.Optional[str]
157+ Optional filter by the <a href="https://www.ietf.org/archive/id/draft-ietf-oauth-client-id-metadata-document-04.html">Client ID Metadata Document</a> URI for CIMD-registered clients.
158+
153159 q : typing.Optional[str]
154160 Advanced Query in <a href="https://lucene.apache.org/core/2_9_4/queryparsersyntax.html">Lucene</a> syntax.<br /><b>Permitted Queries</b>:<br /><ul><li><i>client_grant.organization_id:{organization_id}</i></li><li><i>client_grant.allow_any_organization:true</i></li></ul><b>Additional Restrictions</b>:<br /><ul><li>Cannot be used in combination with other filters</li><li>Requires use of the <i>from</i> and <i>take</i> paging parameters (checkpoint paginatinon)</li><li>Reduced rate limits apply. See <a href="https://auth0.com/docs/troubleshoot/customer-support/operational-policies/rate-limit-policy/rate-limit-configurations/enterprise-public">Rate Limit Configurations</a></li></ul><i><b>Note</b>: Recent updates may not be immediately reflected in query results</i>
155161
@@ -177,6 +183,7 @@ def list(
177183 is_global=True,
178184 is_first_party=True,
179185 app_type="app_type",
186+ external_client_id="external_client_id",
180187 q="q",
181188 )
182189 for item in response:
@@ -194,6 +201,7 @@ def list(
194201 is_global = is_global ,
195202 is_first_party = is_first_party ,
196203 app_type = app_type ,
204+ external_client_id = external_client_id ,
197205 q = q ,
198206 request_options = request_options ,
199207 )
@@ -478,6 +486,83 @@ def create(
478486 )
479487 return _response .data
480488
489+ def preview_cimd_metadata (
490+ self , * , external_client_id : str , request_options : typing .Optional [RequestOptions ] = None
491+ ) -> PreviewCimdMetadataResponseContent :
492+ """
493+
494+ Fetches and validates a Client ID Metadata Document without creating a client.
495+ Returns the raw metadata and how it would be mapped to Auth0 client fields.
496+ This endpoint is useful for testing metadata URIs before creating CIMD clients.
497+
498+
499+ Parameters
500+ ----------
501+ external_client_id : str
502+ URL to the Client ID Metadata Document
503+
504+ request_options : typing.Optional[RequestOptions]
505+ Request-specific configuration.
506+
507+ Returns
508+ -------
509+ PreviewCimdMetadataResponseContent
510+ Metadata successfully fetched and validated, or retrieval error returned with errors array.
511+
512+ Examples
513+ --------
514+ from auth0 import Auth0
515+
516+ client = Auth0(
517+ token="YOUR_TOKEN",
518+ )
519+ client.clients.preview_cimd_metadata(
520+ external_client_id="external_client_id",
521+ )
522+ """
523+ _response = self ._raw_client .preview_cimd_metadata (
524+ external_client_id = external_client_id , request_options = request_options
525+ )
526+ return _response .data
527+
528+ def register_cimd_client (
529+ self , * , external_client_id : str , request_options : typing .Optional [RequestOptions ] = None
530+ ) -> RegisterCimdClientResponseContent :
531+ """
532+
533+ Idempotent registration for Client ID Metadata Document (CIMD) clients.
534+ Uses external_client_id as the unique identifier for upsert operations.
535+ **Create:** Returns 201 when a new client is created (requires \\
536+
537+ Parameters
538+ ----------
539+ external_client_id : str
540+ URL to the Client ID Metadata Document. Acts as the unique identifier for upsert operations.
541+
542+ request_options : typing.Optional[RequestOptions]
543+ Request-specific configuration.
544+
545+ Returns
546+ -------
547+ RegisterCimdClientResponseContent
548+ CIMD client successfully updated (idempotent).
549+
550+ Examples
551+ --------
552+ from auth0 import Auth0
553+
554+ client = Auth0(
555+ token="YOUR_TOKEN",
556+ )
557+ client.clients.register_cimd_client(
558+ external_client_id="external_client_id",
559+ )
560+ """
561+ _response = self ._raw_client .register_cimd_client (
562+ external_client_id = external_client_id , request_options = request_options
563+ )
564+ return _response .data
565+
481566 def get (
482567 self ,
483568 id : str ,
@@ -951,6 +1036,7 @@ async def list(
9511036 is_global : typing .Optional [bool ] = None ,
9521037 is_first_party : typing .Optional [bool ] = None ,
9531038 app_type : typing .Optional [str ] = None ,
1039+ external_client_id : typing .Optional [str ] = None ,
9541040 q : typing .Optional [str ] = None ,
9551041 request_options : typing .Optional [RequestOptions ] = None ,
9561042 ) -> AsyncPager [Client , ListClientsOffsetPaginatedResponseContent ]:
@@ -1015,6 +1101,9 @@ async def list(
10151101 app_type : typing.Optional[str]
10161102 Optional filter by a comma-separated list of application types.
10171103
1104+ external_client_id : typing.Optional[str]
1105+ Optional filter by the <a href="https://www.ietf.org/archive/id/draft-ietf-oauth-client-id-metadata-document-04.html">Client ID Metadata Document</a> URI for CIMD-registered clients.
1106+
10181107 q : typing.Optional[str]
10191108 Advanced Query in <a href="https://lucene.apache.org/core/2_9_4/queryparsersyntax.html">Lucene</a> syntax.<br /><b>Permitted Queries</b>:<br /><ul><li><i>client_grant.organization_id:{organization_id}</i></li><li><i>client_grant.allow_any_organization:true</i></li></ul><b>Additional Restrictions</b>:<br /><ul><li>Cannot be used in combination with other filters</li><li>Requires use of the <i>from</i> and <i>take</i> paging parameters (checkpoint paginatinon)</li><li>Reduced rate limits apply. See <a href="https://auth0.com/docs/troubleshoot/customer-support/operational-policies/rate-limit-policy/rate-limit-configurations/enterprise-public">Rate Limit Configurations</a></li></ul><i><b>Note</b>: Recent updates may not be immediately reflected in query results</i>
10201109
@@ -1047,6 +1136,7 @@ async def main() -> None:
10471136 is_global=True,
10481137 is_first_party=True,
10491138 app_type="app_type",
1139+ external_client_id="external_client_id",
10501140 q="q",
10511141 )
10521142 async for item in response:
@@ -1068,6 +1158,7 @@ async def main() -> None:
10681158 is_global = is_global ,
10691159 is_first_party = is_first_party ,
10701160 app_type = app_type ,
1161+ external_client_id = external_client_id ,
10711162 q = q ,
10721163 request_options = request_options ,
10731164 )
@@ -1360,6 +1451,99 @@ async def main() -> None:
13601451 )
13611452 return _response .data
13621453
1454+ async def preview_cimd_metadata (
1455+ self , * , external_client_id : str , request_options : typing .Optional [RequestOptions ] = None
1456+ ) -> PreviewCimdMetadataResponseContent :
1457+ """
1458+
1459+ Fetches and validates a Client ID Metadata Document without creating a client.
1460+ Returns the raw metadata and how it would be mapped to Auth0 client fields.
1461+ This endpoint is useful for testing metadata URIs before creating CIMD clients.
1462+
1463+
1464+ Parameters
1465+ ----------
1466+ external_client_id : str
1467+ URL to the Client ID Metadata Document
1468+
1469+ request_options : typing.Optional[RequestOptions]
1470+ Request-specific configuration.
1471+
1472+ Returns
1473+ -------
1474+ PreviewCimdMetadataResponseContent
1475+ Metadata successfully fetched and validated, or retrieval error returned with errors array.
1476+
1477+ Examples
1478+ --------
1479+ import asyncio
1480+
1481+ from auth0 import AsyncAuth0
1482+
1483+ client = AsyncAuth0(
1484+ token="YOUR_TOKEN",
1485+ )
1486+
1487+
1488+ async def main() -> None:
1489+ await client.clients.preview_cimd_metadata(
1490+ external_client_id="external_client_id",
1491+ )
1492+
1493+
1494+ asyncio.run(main())
1495+ """
1496+ _response = await self ._raw_client .preview_cimd_metadata (
1497+ external_client_id = external_client_id , request_options = request_options
1498+ )
1499+ return _response .data
1500+
1501+ async def register_cimd_client (
1502+ self , * , external_client_id : str , request_options : typing .Optional [RequestOptions ] = None
1503+ ) -> RegisterCimdClientResponseContent :
1504+ """
1505+
1506+ Idempotent registration for Client ID Metadata Document (CIMD) clients.
1507+ Uses external_client_id as the unique identifier for upsert operations.
1508+ **Create:** Returns 201 when a new client is created (requires \\
1509+
1510+ Parameters
1511+ ----------
1512+ external_client_id : str
1513+ URL to the Client ID Metadata Document. Acts as the unique identifier for upsert operations.
1514+
1515+ request_options : typing.Optional[RequestOptions]
1516+ Request-specific configuration.
1517+
1518+ Returns
1519+ -------
1520+ RegisterCimdClientResponseContent
1521+ CIMD client successfully updated (idempotent).
1522+
1523+ Examples
1524+ --------
1525+ import asyncio
1526+
1527+ from auth0 import AsyncAuth0
1528+
1529+ client = AsyncAuth0(
1530+ token="YOUR_TOKEN",
1531+ )
1532+
1533+
1534+ async def main() -> None:
1535+ await client.clients.register_cimd_client(
1536+ external_client_id="external_client_id",
1537+ )
1538+
1539+
1540+ asyncio.run(main())
1541+ """
1542+ _response = await self ._raw_client .register_cimd_client (
1543+ external_client_id = external_client_id , request_options = request_options
1544+ )
1545+ return _response .data
1546+
13631547 async def get (
13641548 self ,
13651549 id : str ,
0 commit comments