Skip to content

Commit 5acdecd

Browse files
committed
[fern-generated] Update SDK
Generated by Fern CLI Version: unknown Generators: - fernapi/fern-python-sdk: 5.12.10
1 parent 3b19ca9 commit 5acdecd

69 files changed

Lines changed: 921 additions & 188 deletions

File tree

Some content is hidden

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

CONTRIBUTING.md

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# Contributing
2+
3+
Thanks for your interest in contributing to this SDK! This document provides guidelines for contributing to the project.
4+
5+
## Getting Started
6+
7+
### Prerequisites
8+
9+
- Python 3.9+
10+
- pip
11+
- poetry
12+
13+
### Installation
14+
15+
Install the project dependencies:
16+
17+
```bash
18+
poetry install
19+
```
20+
21+
### Building
22+
23+
Build the project:
24+
25+
```bash
26+
poetry build
27+
```
28+
29+
### Testing
30+
31+
Run the test suite:
32+
33+
```bash
34+
poetry run pytest
35+
```
36+
37+
### Linting and Formatting
38+
39+
Check code style:
40+
41+
```bash
42+
poetry run ruff check .
43+
poetry run ruff format .
44+
```
45+
46+
### Type Checking
47+
48+
Run the type checker:
49+
50+
```bash
51+
poetry run mypy .
52+
```
53+
54+
## About Generated Code
55+
56+
**Important**: Most files in this SDK are automatically generated by [Fern](https://buildwithfern.com) from the API definition. Direct modifications to generated files will be overwritten the next time the SDK is generated.
57+
58+
### Generated Files
59+
60+
The following directories contain generated code:
61+
- `src/` - API client classes and types
62+
- Most Python files in the project
63+
64+
### How to Customize
65+
66+
If you need to customize the SDK, you have two options:
67+
68+
#### Option 1: Use `.fernignore`
69+
70+
For custom code that should persist across SDK regenerations:
71+
72+
1. Create a `.fernignore` file in the project root
73+
2. Add file patterns for files you want to preserve (similar to `.gitignore` syntax)
74+
3. Add your custom code to those files
75+
76+
Files listed in `.fernignore` will not be overwritten when the SDK is regenerated.
77+
78+
For more information, see the [Fern documentation on custom code](https://buildwithfern.com/learn/sdks/overview/custom-code).
79+
80+
#### Option 2: Contribute to the Generator
81+
82+
If you want to change how code is generated for all users of this SDK:
83+
84+
1. The Python SDK generator lives in the [Fern repository](https://github.com/fern-api/fern)
85+
2. Generator code is located at `generators/python-v2/`
86+
3. Follow the [Fern contributing guidelines](https://github.com/fern-api/fern/blob/main/CONTRIBUTING.md)
87+
4. Submit a pull request with your changes to the generator
88+
89+
This approach is best for:
90+
- Bug fixes in generated code
91+
- New features that would benefit all users
92+
- Improvements to code generation patterns
93+
94+
## Making Changes
95+
96+
### Workflow
97+
98+
1. Create a new branch for your changes
99+
2. Make your modifications
100+
3. Run tests to ensure nothing breaks: `poetry run pytest`
101+
4. Run linting and formatting: `poetry run ruff check .` and `poetry run ruff format .`
102+
5. Run type checking: `poetry run mypy .`
103+
6. Build the project: `poetry build`
104+
7. Commit your changes with a clear commit message
105+
8. Push your branch and create a pull request
106+
107+
### Commit Messages
108+
109+
Write clear, descriptive commit messages that explain what changed and why.
110+
111+
### Code Style
112+
113+
This project uses automated code formatting and linting. Run `poetry run ruff format .` and `poetry run ruff check .` before committing to ensure your code meets the project's style guidelines.
114+
115+
## Questions or Issues?
116+
117+
If you have questions or run into issues:
118+
119+
1. Check the [Fern documentation](https://buildwithfern.com)
120+
2. Search existing [GitHub issues](https://github.com/fern-api/fern/issues)
121+
3. Open a new issue if your question hasn't been addressed
122+
123+
## License
124+
125+
By contributing to this project, you agree that your contributions will be licensed under the same license as the project.

reference.md

Lines changed: 95 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2167,10 +2167,19 @@ client.clients.preview_cimd_metadata(
21672167
<dl>
21682168
<dd>
21692169

2170+
Idempotent registration for Client ID Metadata Document (CIMD) clients.
2171+
Uses external_client_id as the unique identifier for upsert operations.
21702172

2171-
Idempotent registration for Client ID Metadata Document (CIMD) clients.
2172-
Uses external_client_id as the unique identifier for upsert operations.
2173-
**Create:** Returns 201 when a new client is created (requires \
2173+
<strong>Create:</strong> Returns 201 when a new client is created (requires <code>create:clients</code> scope).
2174+
<strong>Update:</strong> Returns 200 when an existing client is updated (requires <code>update:clients</code> scope).
2175+
2176+
This endpoint automatically:
2177+
<ul>
2178+
<li>Fetches and validates the metadata document</li>
2179+
<li>Maps CIMD fields to Auth0 client configuration</li>
2180+
<li>Creates/rotates credentials from the JWKS</li>
2181+
<li>Enforces CIMD security policies (HTTPS-only, no shared secrets)</li>
2182+
</ul>
21742183
</dd>
21752184
</dl>
21762185
</dd>
@@ -10953,6 +10962,14 @@ client.refresh_tokens.revoke()
1095310962
<dl>
1095410963
<dd>
1095510964

10965+
**audience:** `typing.Optional[str]` — Resource server identifier (audience) to scope the revocation. Must be used with both `user_id` and `client_id`.
10966+
10967+
</dd>
10968+
</dl>
10969+
10970+
<dl>
10971+
<dd>
10972+
1095610973
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
1095710974

1095810975
</dd>
@@ -11413,6 +11430,14 @@ client.resource_servers.create(
1141311430
<dl>
1141411431
<dd>
1141511432

11433+
**allow_online_access_with_ephemeral_sessions:** `typing.Optional[bool]` — Whether Online Refresh Tokens can be issued even when sessions are configured as ephemeral (true) or not (false).
11434+
11435+
</dd>
11436+
</dl>
11437+
11438+
<dl>
11439+
<dd>
11440+
1141611441
**token_lifetime:** `typing.Optional[int]` — Expiration value (in seconds) for access tokens issued for this API from the token endpoint.
1141711442

1141811443
</dd>
@@ -11777,6 +11802,14 @@ client.resource_servers.update(
1177711802
<dl>
1177811803
<dd>
1177911804

11805+
**allow_online_access_with_ephemeral_sessions:** `typing.Optional[bool]` — Whether Online Refresh Tokens can be issued even when sessions are configured as ephemeral (true) or not (false).
11806+
11807+
</dd>
11808+
</dl>
11809+
11810+
<dl>
11811+
<dd>
11812+
1178011813
**token_lifetime:** `typing.Optional[int]` — Expiration value (in seconds) for access tokens issued for this API from the token endpoint.
1178111814

1178211815
</dd>
@@ -14222,7 +14255,7 @@ client.tickets.change_password()
1422214255
<dl>
1422314256
<dd>
1422414257

14225-
**result_url:** `typing.Optional[str]` — URL the user will be redirected to in the classic Universal Login experience once the ticket is used. Cannot be specified when using client_id or organization_id.
14258+
**result_url:** `typing.Optional[str]` — URL the user will be redirected to in the classic Universal Login experience once the ticket is used. Cannot be specified when using organization_id. May be specified together with client_id when the tenant has a custom password reset page enabled and a password-reset-post-challenge Action bound.
1422614259

1422714260
</dd>
1422814261
</dl>
@@ -34782,15 +34815,23 @@ client.users.authentication_methods.create(
3478234815
<dl>
3478334816
<dd>
3478434817

34785-
**key_id:** `typing.Optional[str]` — Applies to webauthn authentication methods only. The id of the credential.
34818+
**key_id:** `typing.Optional[str]` — Applies to webauthn/passkey authentication methods only. The id of the credential.
34819+
34820+
</dd>
34821+
</dl>
34822+
34823+
<dl>
34824+
<dd>
34825+
34826+
**public_key:** `typing.Optional[str]` — Applies to webauthn/passkey authentication methods only. The public key, which is encoded as base64.
3478634827

3478734828
</dd>
3478834829
</dl>
3478934830

3479034831
<dl>
3479134832
<dd>
3479234833

34793-
**public_key:** `typing.Optional[str]` — Applies to webauthn authentication methods only. The public key, which is encoded as base64.
34834+
**aaguid:** `typing.Optional[str]` — Applies to passkeys only. Authenticator Attestation Globally Unique Identifier
3479434835

3479534836
</dd>
3479634837
</dl>
@@ -34806,6 +34847,54 @@ client.users.authentication_methods.create(
3480634847
<dl>
3480734848
<dd>
3480834849

34850+
**credential_device_type:** `typing.Optional[CredentialDeviceTypeEnum]`
34851+
34852+
</dd>
34853+
</dl>
34854+
34855+
<dl>
34856+
<dd>
34857+
34858+
**credential_backed_up:** `typing.Optional[bool]` — Applies to passkeys only. Whether the credential was backed up.
34859+
34860+
</dd>
34861+
</dl>
34862+
34863+
<dl>
34864+
<dd>
34865+
34866+
**identity_user_id:** `typing.Optional[str]` — Applies to passkeys only. The ID of the user identity linked with the authentication method.
34867+
34868+
</dd>
34869+
</dl>
34870+
34871+
<dl>
34872+
<dd>
34873+
34874+
**user_agent:** `typing.Optional[str]` — Applies to passkeys only. The user-agent of the browser used to create the passkey.
34875+
34876+
</dd>
34877+
</dl>
34878+
34879+
<dl>
34880+
<dd>
34881+
34882+
**user_handle:** `typing.Optional[str]` — Applies to passkeys only. The user handle of the user identity.
34883+
34884+
</dd>
34885+
</dl>
34886+
34887+
<dl>
34888+
<dd>
34889+
34890+
**transports:** `typing.Optional[typing.List[str]]` — Applies to passkeys only. The transports used by clients to communicate with the authenticator.
34891+
34892+
</dd>
34893+
</dl>
34894+
34895+
<dl>
34896+
<dd>
34897+
3480934898
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
3481034899

3481134900
</dd>

0 commit comments

Comments
 (0)