Skip to content

Commit a92f9ef

Browse files
chore(api): update composite API spec
1 parent a39d1eb commit a92f9ef

13 files changed

Lines changed: 323 additions & 89 deletions

File tree

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 2204
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-a6c352830d1270d0abb5bb983058ea21815e1bb7d2e163965335dcb0e706f057.yml
3-
openapi_spec_hash: 52aad06f805e68dbb16da9a73c3a3ee6
3+
openapi_spec_hash: e722ad1f58e3dfb3a928cf9890d48da4
44
config_hash: ff549978909de2badc92845fea964f4b

src/cloudflare/resources/zero_trust/access/logs/access_requests.py

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def list(
5757
direction: Literal["desc", "asc"] | Omit = omit,
5858
email: str | Omit = omit,
5959
email_exact: bool | Omit = omit,
60-
email_op: Literal["eq", "neq"] | Omit = omit,
60+
email_op: Literal["eq", "neq", "contains"] | Omit = omit,
6161
fields: str | Omit = omit,
6262
idp_op: Literal["eq", "neq"] | Omit = omit,
6363
limit: int | Omit = omit,
@@ -92,14 +92,23 @@ def list(
9292
9393
direction: The chronological sorting order for the logs.
9494
95-
email: Filter by user email. Defaults to substring matching. To force exact matching,
96-
set `email_exact=true`. Example (default): `email=@example.com` returns all
97-
events with that domain. Example (exact):
98-
`email=user@example.com&email_exact=true` returns only that user.
95+
email: Filter by user email. Match mode is controlled by `emailOp` (preferred) or the
96+
legacy `email_exact` flag.
97+
98+
- Default (no `emailOp`, `email_exact=false` or unset): substring match —
99+
`email=@example.com` returns all events with that domain.
100+
- Exact match: set `emailOp=eq` (preferred) or `email_exact=true` — e.g.
101+
`email=user@example.com&email_exact=true` returns only that user.
102+
- Explicit substring match: set `emailOp=contains` (without `email_exact=true`).
103+
When both are set, `email_exact=true` takes precedence and the match is exact.
104+
- Exclusion: set `emailOp=neq`. With `email_exact=true` this is an exact-value
105+
exclusion; without it, a fuzzy substring exclusion.
99106
100107
email_exact: When true, `email` is matched exactly instead of substring matching.
101108
102-
email_op: Operator for the `email` filter.
109+
email_op: Operator for the `email` filter. `contains` performs a substring
110+
(case-sensitive) match. When `email_exact=true` is also set, `email_exact` takes
111+
precedence and `contains` is ignored.
103112
104113
fields: Comma-separated list of fields to include in the response. When omitted, all
105114
fields are returned.
@@ -120,9 +129,11 @@ def list(
120129
121130
until: The latest event timestamp to query.
122131
123-
user_id: Filter by user UUID.
132+
user_id: Deprecated. Accepted for backward compatibility but no longer applied as a
133+
filter. Use `email` instead.
124134
125-
user_id_op: Operator for the `user_id` filter.
135+
user_id_op: Deprecated. Accepted for backward compatibility but no longer applied as a
136+
filter (the `user_id` parameter is itself deprecated).
126137
127138
extra_headers: Send extra headers
128139
@@ -202,7 +213,7 @@ async def list(
202213
direction: Literal["desc", "asc"] | Omit = omit,
203214
email: str | Omit = omit,
204215
email_exact: bool | Omit = omit,
205-
email_op: Literal["eq", "neq"] | Omit = omit,
216+
email_op: Literal["eq", "neq", "contains"] | Omit = omit,
206217
fields: str | Omit = omit,
207218
idp_op: Literal["eq", "neq"] | Omit = omit,
208219
limit: int | Omit = omit,
@@ -237,14 +248,23 @@ async def list(
237248
238249
direction: The chronological sorting order for the logs.
239250
240-
email: Filter by user email. Defaults to substring matching. To force exact matching,
241-
set `email_exact=true`. Example (default): `email=@example.com` returns all
242-
events with that domain. Example (exact):
243-
`email=user@example.com&email_exact=true` returns only that user.
251+
email: Filter by user email. Match mode is controlled by `emailOp` (preferred) or the
252+
legacy `email_exact` flag.
253+
254+
- Default (no `emailOp`, `email_exact=false` or unset): substring match —
255+
`email=@example.com` returns all events with that domain.
256+
- Exact match: set `emailOp=eq` (preferred) or `email_exact=true` — e.g.
257+
`email=user@example.com&email_exact=true` returns only that user.
258+
- Explicit substring match: set `emailOp=contains` (without `email_exact=true`).
259+
When both are set, `email_exact=true` takes precedence and the match is exact.
260+
- Exclusion: set `emailOp=neq`. With `email_exact=true` this is an exact-value
261+
exclusion; without it, a fuzzy substring exclusion.
244262
245263
email_exact: When true, `email` is matched exactly instead of substring matching.
246264
247-
email_op: Operator for the `email` filter.
265+
email_op: Operator for the `email` filter. `contains` performs a substring
266+
(case-sensitive) match. When `email_exact=true` is also set, `email_exact` takes
267+
precedence and `contains` is ignored.
248268
249269
fields: Comma-separated list of fields to include in the response. When omitted, all
250270
fields are returned.
@@ -265,9 +285,11 @@ async def list(
265285
266286
until: The latest event timestamp to query.
267287
268-
user_id: Filter by user UUID.
288+
user_id: Deprecated. Accepted for backward compatibility but no longer applied as a
289+
filter. Use `email` instead.
269290
270-
user_id_op: Operator for the `user_id` filter.
291+
user_id_op: Deprecated. Accepted for backward compatibility but no longer applied as a
292+
filter (the `user_id` parameter is itself deprecated).
271293
272294
extra_headers: Send extra headers
273295

src/cloudflare/resources/zero_trust/access/logs/scim/updates.py

Lines changed: 40 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,16 @@ def list(
5151
*,
5252
account_id: str,
5353
idp_id: SequenceNotStr[str],
54-
cf_resource_id: str | Omit = omit,
54+
cf_resource_id: SequenceNotStr[str] | Omit = omit,
5555
direction: Literal["desc", "asc"] | Omit = omit,
56-
idp_resource_id: str | Omit = omit,
56+
idp_resource_id: SequenceNotStr[str] | Omit = omit,
5757
limit: int | Omit = omit,
5858
page: int | Omit = omit,
5959
per_page: int | Omit = omit,
6060
request_method: List[Literal["DELETE", "PATCH", "POST", "PUT"]] | Omit = omit,
61-
resource_group_name: str | Omit = omit,
61+
resource_group_name: SequenceNotStr[str] | Omit = omit,
6262
resource_type: List[Literal["USER", "GROUP"]] | Omit = omit,
63-
resource_user_email: str | Omit = omit,
63+
resource_user_email: SequenceNotStr[str] | Omit = omit,
6464
since: Union[str, datetime] | Omit = omit,
6565
status: List[Literal["FAILURE", "SUCCESS"]] | Omit = omit,
6666
until: Union[str, datetime] | Omit = omit,
@@ -81,11 +81,17 @@ def list(
8181
8282
idp_id: The unique Id of the IdP that has SCIM enabled.
8383
84-
cf_resource_id: The unique Cloudflare-generated Id of the SCIM resource.
84+
cf_resource_id: The unique Cloudflare-generated Id of the SCIM resource. Pass once for a single
85+
lookup (`?cf_resource_id=A`) or repeat the parameter
86+
(`?cf_resource_id=A&cf_resource_id=B`) to filter by multiple resources in one
87+
request.
8588
8689
direction: The chronological order used to sort the logs.
8790
88-
idp_resource_id: The IdP-generated Id of the SCIM resource.
91+
idp_resource_id: The IdP-generated Id of the SCIM resource. Pass once for a single lookup
92+
(`?idp_resource_id=A`) or repeat the parameter
93+
(`?idp_resource_id=A&idp_resource_id=B`) to filter by multiple resources in one
94+
request.
8995
9096
limit: The maximum number of update logs to retrieve.
9197
@@ -95,11 +101,17 @@ def list(
95101
96102
request_method: The request method of the SCIM request.
97103
98-
resource_group_name: The display name of the SCIM Group resource.
104+
resource_group_name: The display name of the SCIM Group resource. Pass once for a single lookup
105+
(`?resource_group_name=A`) or repeat the parameter
106+
(`?resource_group_name=A&resource_group_name=B`) to filter by multiple group
107+
names in one request.
99108
100109
resource_type: The resource type of the SCIM request.
101110
102-
resource_user_email: The email address of the SCIM User resource.
111+
resource_user_email: The email address of the SCIM User resource. Pass once for a single lookup
112+
(`?resource_user_email=A`) or repeat the parameter
113+
(`?resource_user_email=A&resource_user_email=B`) to filter by multiple emails in
114+
one request.
103115
104116
since: the timestamp of the earliest update log.
105117
@@ -174,16 +186,16 @@ def list(
174186
*,
175187
account_id: str,
176188
idp_id: SequenceNotStr[str],
177-
cf_resource_id: str | Omit = omit,
189+
cf_resource_id: SequenceNotStr[str] | Omit = omit,
178190
direction: Literal["desc", "asc"] | Omit = omit,
179-
idp_resource_id: str | Omit = omit,
191+
idp_resource_id: SequenceNotStr[str] | Omit = omit,
180192
limit: int | Omit = omit,
181193
page: int | Omit = omit,
182194
per_page: int | Omit = omit,
183195
request_method: List[Literal["DELETE", "PATCH", "POST", "PUT"]] | Omit = omit,
184-
resource_group_name: str | Omit = omit,
196+
resource_group_name: SequenceNotStr[str] | Omit = omit,
185197
resource_type: List[Literal["USER", "GROUP"]] | Omit = omit,
186-
resource_user_email: str | Omit = omit,
198+
resource_user_email: SequenceNotStr[str] | Omit = omit,
187199
since: Union[str, datetime] | Omit = omit,
188200
status: List[Literal["FAILURE", "SUCCESS"]] | Omit = omit,
189201
until: Union[str, datetime] | Omit = omit,
@@ -204,11 +216,17 @@ def list(
204216
205217
idp_id: The unique Id of the IdP that has SCIM enabled.
206218
207-
cf_resource_id: The unique Cloudflare-generated Id of the SCIM resource.
219+
cf_resource_id: The unique Cloudflare-generated Id of the SCIM resource. Pass once for a single
220+
lookup (`?cf_resource_id=A`) or repeat the parameter
221+
(`?cf_resource_id=A&cf_resource_id=B`) to filter by multiple resources in one
222+
request.
208223
209224
direction: The chronological order used to sort the logs.
210225
211-
idp_resource_id: The IdP-generated Id of the SCIM resource.
226+
idp_resource_id: The IdP-generated Id of the SCIM resource. Pass once for a single lookup
227+
(`?idp_resource_id=A`) or repeat the parameter
228+
(`?idp_resource_id=A&idp_resource_id=B`) to filter by multiple resources in one
229+
request.
212230
213231
limit: The maximum number of update logs to retrieve.
214232
@@ -218,11 +236,17 @@ def list(
218236
219237
request_method: The request method of the SCIM request.
220238
221-
resource_group_name: The display name of the SCIM Group resource.
239+
resource_group_name: The display name of the SCIM Group resource. Pass once for a single lookup
240+
(`?resource_group_name=A`) or repeat the parameter
241+
(`?resource_group_name=A&resource_group_name=B`) to filter by multiple group
242+
names in one request.
222243
223244
resource_type: The resource type of the SCIM request.
224245
225-
resource_user_email: The email address of the SCIM User resource.
246+
resource_user_email: The email address of the SCIM User resource. Pass once for a single lookup
247+
(`?resource_user_email=A`) or repeat the parameter
248+
(`?resource_user_email=A&resource_user_email=B`) to filter by multiple emails in
249+
one request.
226250
227251
since: the timestamp of the earliest update log.
228252

src/cloudflare/resources/zero_trust/identity_providers/scim/groups.py

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import httpx
66

7-
from ....._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
7+
from ....._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
88
from ....._utils import path_template, maybe_transform
99
from ....._compat import cached_property
1010
from ....._resource import SyncAPIResource, AsyncAPIResource
@@ -47,8 +47,8 @@ def list(
4747
identity_provider_id: str,
4848
*,
4949
account_id: str,
50-
cf_resource_id: str | Omit = omit,
51-
idp_resource_id: str | Omit = omit,
50+
cf_resource_id: SequenceNotStr[str] | Omit = omit,
51+
idp_resource_id: SequenceNotStr[str] | Omit = omit,
5252
name: str | Omit = omit,
5353
page: int | Omit = omit,
5454
per_page: int | Omit = omit,
@@ -69,10 +69,16 @@ def list(
6969
identity_provider_id: UUID.
7070
7171
cf_resource_id: The unique Cloudflare-generated Id of the SCIM Group resource; also known as the
72-
"Id".
72+
"Id". Pass once for a single lookup (`?cf_resource_id=A`) or repeat the
73+
parameter (`?cf_resource_id=A&cf_resource_id=B`) to look up multiple groups in
74+
one request, up to 50 values. Mutually exclusive with `idp_resource_id`, `name`,
75+
`search_contains`, and `search_starts_with`.
7376
7477
idp_resource_id: The IdP-generated Id of the SCIM Group resource; also known as the "external
75-
Id".
78+
Id". Pass once for a single lookup (`?idp_resource_id=A`) or repeat the
79+
parameter (`?idp_resource_id=A&idp_resource_id=B`) to look up multiple groups in
80+
one request, up to 50 values. Mutually exclusive with `cf_resource_id`, `name`,
81+
`search_contains`, and `search_starts_with`.
7682
7783
name: The display name of the SCIM Group resource.
7884
@@ -146,8 +152,8 @@ def list(
146152
identity_provider_id: str,
147153
*,
148154
account_id: str,
149-
cf_resource_id: str | Omit = omit,
150-
idp_resource_id: str | Omit = omit,
155+
cf_resource_id: SequenceNotStr[str] | Omit = omit,
156+
idp_resource_id: SequenceNotStr[str] | Omit = omit,
151157
name: str | Omit = omit,
152158
page: int | Omit = omit,
153159
per_page: int | Omit = omit,
@@ -168,10 +174,16 @@ def list(
168174
identity_provider_id: UUID.
169175
170176
cf_resource_id: The unique Cloudflare-generated Id of the SCIM Group resource; also known as the
171-
"Id".
177+
"Id". Pass once for a single lookup (`?cf_resource_id=A`) or repeat the
178+
parameter (`?cf_resource_id=A&cf_resource_id=B`) to look up multiple groups in
179+
one request, up to 50 values. Mutually exclusive with `idp_resource_id`, `name`,
180+
`search_contains`, and `search_starts_with`.
172181
173182
idp_resource_id: The IdP-generated Id of the SCIM Group resource; also known as the "external
174-
Id".
183+
Id". Pass once for a single lookup (`?idp_resource_id=A`) or repeat the
184+
parameter (`?idp_resource_id=A&idp_resource_id=B`) to look up multiple groups in
185+
one request, up to 50 values. Mutually exclusive with `cf_resource_id`, `name`,
186+
`search_contains`, and `search_starts_with`.
175187
176188
name: The display name of the SCIM Group resource.
177189

src/cloudflare/resources/zero_trust/identity_providers/scim/users.py

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import httpx
66

7-
from ....._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
7+
from ....._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
88
from ....._utils import path_template, maybe_transform
99
from ....._compat import cached_property
1010
from ....._resource import SyncAPIResource, AsyncAPIResource
@@ -47,9 +47,9 @@ def list(
4747
identity_provider_id: str,
4848
*,
4949
account_id: str,
50-
cf_resource_id: str | Omit = omit,
50+
cf_resource_id: SequenceNotStr[str] | Omit = omit,
5151
email: str | Omit = omit,
52-
idp_resource_id: str | Omit = omit,
52+
idp_resource_id: SequenceNotStr[str] | Omit = omit,
5353
name: str | Omit = omit,
5454
page: int | Omit = omit,
5555
per_page: int | Omit = omit,
@@ -71,11 +71,18 @@ def list(
7171
identity_provider_id: UUID.
7272
7373
cf_resource_id: The unique Cloudflare-generated Id of the SCIM User resource; also known as the
74-
"Id".
74+
"Id". Pass once for a single lookup (`?cf_resource_id=A`) or repeat the
75+
parameter (`?cf_resource_id=A&cf_resource_id=B`) to look up multiple users in
76+
one request, up to 50 values. Mutually exclusive with `idp_resource_id`,
77+
`username`, `email`, `name`, `search_contains`, and `search_starts_with`.
7578
7679
email: The email address of the SCIM User resource.
7780
7881
idp_resource_id: The IdP-generated Id of the SCIM User resource; also known as the "external Id".
82+
Pass once for a single lookup (`?idp_resource_id=A`) or repeat the parameter
83+
(`?idp_resource_id=A&idp_resource_id=B`) to look up multiple users in one
84+
request, up to 50 values. Mutually exclusive with `cf_resource_id`, `username`,
85+
`email`, `name`, `search_contains`, and `search_starts_with`.
7986
8087
name: The name of the SCIM User resource.
8188
@@ -153,9 +160,9 @@ def list(
153160
identity_provider_id: str,
154161
*,
155162
account_id: str,
156-
cf_resource_id: str | Omit = omit,
163+
cf_resource_id: SequenceNotStr[str] | Omit = omit,
157164
email: str | Omit = omit,
158-
idp_resource_id: str | Omit = omit,
165+
idp_resource_id: SequenceNotStr[str] | Omit = omit,
159166
name: str | Omit = omit,
160167
page: int | Omit = omit,
161168
per_page: int | Omit = omit,
@@ -177,11 +184,18 @@ def list(
177184
identity_provider_id: UUID.
178185
179186
cf_resource_id: The unique Cloudflare-generated Id of the SCIM User resource; also known as the
180-
"Id".
187+
"Id". Pass once for a single lookup (`?cf_resource_id=A`) or repeat the
188+
parameter (`?cf_resource_id=A&cf_resource_id=B`) to look up multiple users in
189+
one request, up to 50 values. Mutually exclusive with `idp_resource_id`,
190+
`username`, `email`, `name`, `search_contains`, and `search_starts_with`.
181191
182192
email: The email address of the SCIM User resource.
183193
184194
idp_resource_id: The IdP-generated Id of the SCIM User resource; also known as the "external Id".
195+
Pass once for a single lookup (`?idp_resource_id=A`) or repeat the parameter
196+
(`?idp_resource_id=A&idp_resource_id=B`) to look up multiple users in one
197+
request, up to 50 values. Mutually exclusive with `cf_resource_id`, `username`,
198+
`email`, `name`, `search_contains`, and `search_starts_with`.
185199
186200
name: The name of the SCIM User resource.
187201

0 commit comments

Comments
 (0)