Skip to content

Commit ae22120

Browse files
feat: Add CIMD support, organization connections, group deletion, refresh token listing; remove AOL/Flickr/Yammer providers (#816)
## Summary Fern SDK regeneration with the following changes: ### New Endpoints & Clients - **Organizations Connections**- new sub-client with full CRUD (`list`, `create`, `get`, `update`, `delete`) for managing connections at the organization level - **Clients**- `preview_cimd_metadata()` and `register_cimd_client()` for Client ID Metadata Document (CIMD) support; `external_client_id` filter on `list()` - **Groups**- `delete(id)` endpoint - **Refresh Tokens** -`list(user_id, ...)` with checkpoint pagination support - **Resource Servers**- `allow_online_access` parameter on `create()` and `update()` ### Type Changes - **32 new types** added (CIMD validation, password policy options, organization connections, webhook auth headers, network ACL CIDR types) - **18 types removed**- legacy provider cleanup (AOL, Flickr, Yammer) - **72 types modified**- connection options, resource server fields, client metadata, enum updates ### Other Changes - **Network ACLs**: `priority` parameter changed from required to optional in `create()` / `update()` - **Connection Strategy Enum**: removed `aol`, `flickr`, `yammer` (along with `miicard`, `renren`, `thecity`, `thecity-sandbox`) Co-authored-by: fern-api[bot] <115122769+fern-api[bot]@users.noreply.github.com>
1 parent a10c4c6 commit ae22120

File tree

113 files changed

+5097
-589
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

113 files changed

+5097
-589
lines changed

reference.md

Lines changed: 841 additions & 22 deletions
Large diffs are not rendered by default.

src/auth0/management/actions/client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ def list(
101101
token="YOUR_TOKEN",
102102
)
103103
response = client.actions.list(
104-
trigger_id="triggerId",
104+
trigger_id="post-login",
105105
action_name="actionName",
106106
deployed=True,
107107
page=1,
@@ -185,7 +185,7 @@ def create(
185185
name="name",
186186
supported_triggers=[
187187
ActionTrigger(
188-
id="id",
188+
id="post-login",
189189
)
190190
],
191191
)
@@ -521,7 +521,7 @@ async def list(
521521
522522
async def main() -> None:
523523
response = await client.actions.list(
524-
trigger_id="triggerId",
524+
trigger_id="post-login",
525525
action_name="actionName",
526526
deployed=True,
527527
page=1,
@@ -614,7 +614,7 @@ async def main() -> None:
614614
name="name",
615615
supported_triggers=[
616616
ActionTrigger(
617-
id="id",
617+
id="post-login",
618618
)
619619
],
620620
)

src/auth0/management/actions/triggers/bindings/client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def list(
6969
token="YOUR_TOKEN",
7070
)
7171
response = client.actions.triggers.bindings.list(
72-
trigger_id="triggerId",
72+
trigger_id="post-login",
7373
page=1,
7474
per_page=1,
7575
)
@@ -115,7 +115,7 @@ def update_many(
115115
token="YOUR_TOKEN",
116116
)
117117
client.actions.triggers.bindings.update_many(
118-
trigger_id="triggerId",
118+
trigger_id="post-login",
119119
)
120120
"""
121121
_response = self._raw_client.update_many(trigger_id, bindings=bindings, request_options=request_options)
@@ -180,7 +180,7 @@ async def list(
180180
181181
async def main() -> None:
182182
response = await client.actions.triggers.bindings.list(
183-
trigger_id="triggerId",
183+
trigger_id="post-login",
184184
page=1,
185185
per_page=1,
186186
)
@@ -235,7 +235,7 @@ async def update_many(
235235
236236
async def main() -> None:
237237
await client.actions.triggers.bindings.update_many(
238-
trigger_id="triggerId",
238+
trigger_id="post-login",
239239
)
240240
241241

src/auth0/management/clients/client.py

Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@
4545
from ..types.get_client_response_content import GetClientResponseContent
4646
from ..types.list_clients_offset_paginated_response_content import ListClientsOffsetPaginatedResponseContent
4747
from ..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
4850
from ..types.rotate_client_secret_response_content import RotateClientSecretResponseContent
4951
from ..types.update_client_response_content import UpdateClientResponseContent
5052
from ..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

Comments
 (0)