Skip to content

Commit 13e2efc

Browse files
dd-octo-sts[bot]ci.datadog-api-spec
andauthored
Regenerate client from commit ee653d2 of spec repo (#4143)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 12cd418 commit 13e2efc

20 files changed

Lines changed: 1128 additions & 0 deletions

‎.generator/schemas/v2/openapi.yaml‎

Lines changed: 278 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108555,6 +108555,181 @@ components:
108555108555
required:
108556108556
- data
108557108557
type: object
108558+
SavedFilterAttributes:
108559+
description: Saved filter details, including the full targeting rules and conditions.
108560+
properties:
108561+
archived_at:
108562+
description: The time the saved filter was archived. Omitted when the filter is not archived.
108563+
example: "2026-01-03T12:00:00Z"
108564+
format: date-time
108565+
type: string
108566+
created_at:
108567+
description: The time the saved filter was created.
108568+
example: "2026-01-01T12:00:00Z"
108569+
format: date-time
108570+
type: string
108571+
created_by:
108572+
description: The ID of the user who created the saved filter.
108573+
example: "550e8400-e29b-41d4-a716-446655440091"
108574+
type: string
108575+
creation_type:
108576+
$ref: "#/components/schemas/SavedFilterCreationType"
108577+
description:
108578+
description: A description of the saved filter. Omitted when no description is set.
108579+
example: Users selected by email address or organization ID.
108580+
type: string
108581+
migration_metadata:
108582+
description: Optional JSON metadata supplied by migration tools for tracking the source of a saved filter.
108583+
example:
108584+
provider: launchdarkly
108585+
segment_key: early-access-users
108586+
name:
108587+
description: The name of the saved filter.
108588+
example: Early access users
108589+
type: string
108590+
targeting_rules:
108591+
description: Targeting rules combined with OR. Conditions within each rule are combined with AND. Both saved lists and saved rules use this structure.
108592+
items:
108593+
$ref: "#/components/schemas/SavedFilterTargetingRule"
108594+
type: array
108595+
updated_at:
108596+
description: The time the saved filter was last updated.
108597+
example: "2026-01-02T12:00:00Z"
108598+
format: date-time
108599+
type: string
108600+
required:
108601+
- name
108602+
- creation_type
108603+
- targeting_rules
108604+
- created_by
108605+
- created_at
108606+
- updated_at
108607+
type: object
108608+
SavedFilterCondition:
108609+
description: An inline condition in a saved filter targeting rule.
108610+
properties:
108611+
attribute:
108612+
description: The attribute evaluated by the condition.
108613+
example: email
108614+
type: string
108615+
id:
108616+
description: The ID of the condition.
108617+
example: "550e8400-e29b-41d4-a716-446655440093"
108618+
format: uuid
108619+
type: string
108620+
operator:
108621+
$ref: "#/components/schemas/SavedFilterConditionOperator"
108622+
value:
108623+
description: Values used by the condition operator.
108624+
example:
108625+
- user@example.com
108626+
items:
108627+
type: string
108628+
type: array
108629+
required:
108630+
- id
108631+
- operator
108632+
- attribute
108633+
- value
108634+
type: object
108635+
SavedFilterConditionOperator:
108636+
description: The comparison operator used by a saved filter condition.
108637+
enum:
108638+
- LT
108639+
- LTE
108640+
- GT
108641+
- GTE
108642+
- MATCHES
108643+
- NOT_MATCHES
108644+
- ONE_OF
108645+
- NOT_ONE_OF
108646+
- IS_NULL
108647+
- EQUALS
108648+
- SEMVER_EQ
108649+
- SEMVER_NEQ
108650+
- SEMVER_LT
108651+
- SEMVER_LTE
108652+
- SEMVER_GT
108653+
- SEMVER_GTE
108654+
example: ONE_OF
108655+
type: string
108656+
x-enum-varnames:
108657+
- LT
108658+
- LTE
108659+
- GT
108660+
- GTE
108661+
- MATCHES
108662+
- NOT_MATCHES
108663+
- ONE_OF
108664+
- NOT_ONE_OF
108665+
- IS_NULL
108666+
- EQUALS
108667+
- SEMVER_EQ
108668+
- SEMVER_NEQ
108669+
- SEMVER_LT
108670+
- SEMVER_LTE
108671+
- SEMVER_GT
108672+
- SEMVER_GTE
108673+
SavedFilterCreationType:
108674+
description: How the saved filter was authored. RULES indicates rule-based authoring and LIST indicates list import. Both types return targeting rules and conditions.
108675+
enum:
108676+
- RULES
108677+
- LIST
108678+
example: RULES
108679+
type: string
108680+
x-enum-varnames:
108681+
- RULES
108682+
- LIST
108683+
SavedFilterData:
108684+
description: A saved filter resource.
108685+
properties:
108686+
attributes:
108687+
$ref: "#/components/schemas/SavedFilterAttributes"
108688+
id:
108689+
description: The ID of the saved filter.
108690+
example: "550e8400-e29b-41d4-a716-446655440090"
108691+
format: uuid
108692+
type: string
108693+
type:
108694+
$ref: "#/components/schemas/SavedFilterDataType"
108695+
required:
108696+
- id
108697+
- type
108698+
- attributes
108699+
type: object
108700+
SavedFilterDataType:
108701+
description: The saved filter resource type.
108702+
enum:
108703+
- saved-filters
108704+
example: saved-filters
108705+
type: string
108706+
x-enum-varnames:
108707+
- SAVED_FILTERS
108708+
SavedFilterResponse:
108709+
description: Response containing a saved filter and its targeting rules.
108710+
properties:
108711+
data:
108712+
$ref: "#/components/schemas/SavedFilterData"
108713+
required:
108714+
- data
108715+
type: object
108716+
SavedFilterTargetingRule:
108717+
description: A targeting rule in a saved filter. A rule matches when all its conditions match.
108718+
properties:
108719+
conditions:
108720+
description: Conditions combined with AND within this targeting rule.
108721+
items:
108722+
$ref: "#/components/schemas/SavedFilterCondition"
108723+
type: array
108724+
id:
108725+
description: The ID of the targeting rule.
108726+
example: "550e8400-e29b-41d4-a716-446655440092"
108727+
format: uuid
108728+
type: string
108729+
required:
108730+
- id
108731+
- conditions
108732+
type: object
108558108733
ScaRequest:
108559108734
description: The top-level request object for submitting a Software Composition Analysis (SCA) scan result.
108560108735
properties:
@@ -171735,6 +171910,109 @@ paths:
171735171910
operator: AND
171736171911
permissions:
171737171912
- feature_flag_config_write
171913+
/api/v2/feature-flags/saved-filters/{saved_filter_id}:
171914+
get:
171915+
description: |-
171916+
Returns a saved filter by ID, including its full targeting rules, conditions, and values.
171917+
Supports both saved lists and saved rules. Targeting rules are combined with OR,
171918+
and conditions within each rule are combined with AND.
171919+
Returns the stored filter definition rather than evaluating it against users or organizations.
171920+
Archived filters can be retrieved. Filters that are deleted or belong to another organization return a not found error.
171921+
operationId: GetSavedFilter
171922+
parameters:
171923+
- description: The ID of the saved filter.
171924+
example: "550e8400-e29b-41d4-a716-446655440090"
171925+
in: path
171926+
name: saved_filter_id
171927+
required: true
171928+
schema:
171929+
format: uuid
171930+
type: string
171931+
responses:
171932+
"200":
171933+
content:
171934+
application/json:
171935+
examples:
171936+
default:
171937+
summary: A saved rule matching an email address OR an organization ID
171938+
value:
171939+
data:
171940+
attributes:
171941+
created_at: "2026-01-01T12:00:00Z"
171942+
created_by: "550e8400-e29b-41d4-a716-446655440091"
171943+
creation_type: RULES
171944+
description: Users selected by email address or organization ID.
171945+
name: Early access users
171946+
targeting_rules:
171947+
- conditions:
171948+
- attribute: email
171949+
id: "550e8400-e29b-41d4-a716-446655440093"
171950+
operator: ONE_OF
171951+
value: ["user@example.com"]
171952+
id: "550e8400-e29b-41d4-a716-446655440092"
171953+
- conditions:
171954+
- attribute: org_id
171955+
id: "550e8400-e29b-41d4-a716-446655440095"
171956+
operator: ONE_OF
171957+
value: ["12345", "67890"]
171958+
id: "550e8400-e29b-41d4-a716-446655440094"
171959+
updated_at: "2026-01-02T12:00:00Z"
171960+
id: "550e8400-e29b-41d4-a716-446655440090"
171961+
type: saved-filters
171962+
saved_list:
171963+
summary: A saved list containing user IDs
171964+
value:
171965+
data:
171966+
attributes:
171967+
created_at: "2026-01-01T12:00:00Z"
171968+
created_by: "550e8400-e29b-41d4-a716-446655440091"
171969+
creation_type: LIST
171970+
name: Early access user list
171971+
targeting_rules:
171972+
- conditions:
171973+
- attribute: user_id
171974+
id: "550e8400-e29b-41d4-a716-446655440098"
171975+
operator: ONE_OF
171976+
value: ["user-123", "user-456"]
171977+
id: "550e8400-e29b-41d4-a716-446655440097"
171978+
updated_at: "2026-01-02T12:00:00Z"
171979+
id: "550e8400-e29b-41d4-a716-446655440096"
171980+
type: saved-filters
171981+
schema:
171982+
$ref: "#/components/schemas/SavedFilterResponse"
171983+
description: OK
171984+
"400":
171985+
content:
171986+
application/json:
171987+
schema:
171988+
$ref: "#/components/schemas/JSONAPIErrorResponse"
171989+
description: Bad Request
171990+
"403":
171991+
content:
171992+
application/json:
171993+
schema:
171994+
$ref: "#/components/schemas/APIErrorResponse"
171995+
description: Forbidden
171996+
"404":
171997+
content:
171998+
application/json:
171999+
schema:
172000+
$ref: "#/components/schemas/JSONAPIErrorResponse"
172001+
description: Not Found
172002+
"429":
172003+
$ref: "#/components/responses/TooManyRequestsResponse"
172004+
security:
172005+
- apiKeyAuth: []
172006+
appKeyAuth: []
172007+
- AuthZ:
172008+
- feature_flag_config_read
172009+
summary: Get a saved filter
172010+
tags:
172011+
- Feature Flags
172012+
x-permission:
172013+
operator: AND
172014+
permissions:
172015+
- feature_flag_config_read
171738172016
/api/v2/feature-flags/{feature_flag_id}:
171739172017
get:
171740172018
description: |-
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
"""
2+
Get a saved filter returns "OK" response
3+
"""
4+
5+
from os import environ
6+
from datadog_api_client import ApiClient, Configuration
7+
from datadog_api_client.v2.api.feature_flags_api import FeatureFlagsApi
8+
from uuid import UUID
9+
10+
configuration = Configuration()
11+
configuration.access_token = environ["DD_BEARER_TOKEN"]
12+
with ApiClient(configuration) as api_client:
13+
api_instance = FeatureFlagsApi(api_client)
14+
response = api_instance.get_saved_filter(
15+
saved_filter_id=UUID("8c051ac8-df7a-496e-b5c0-de691a411100"),
16+
)
17+
18+
print(response)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
"""
2+
Get a saved filter returns a saved list
3+
"""
4+
5+
from os import environ
6+
from datadog_api_client import ApiClient, Configuration
7+
from datadog_api_client.v2.api.feature_flags_api import FeatureFlagsApi
8+
from uuid import UUID
9+
10+
configuration = Configuration()
11+
configuration.access_token = environ["DD_BEARER_TOKEN"]
12+
with ApiClient(configuration) as api_client:
13+
api_instance = FeatureFlagsApi(api_client)
14+
response = api_instance.get_saved_filter(
15+
saved_filter_id=UUID("fb44ff15-fe17-4bab-afe8-9a8eb0cf586c"),
16+
)
17+
18+
print(response)

‎src/datadog_api_client/v2/api/feature_flags_api.py‎

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from datadog_api_client.v2.model.create_environment_request import CreateEnvironmentRequest
2525
from datadog_api_client.v2.model.update_environment_request import UpdateEnvironmentRequest
2626
from datadog_api_client.v2.model.allocation_exposure_schedule_response import AllocationExposureScheduleResponse
27+
from datadog_api_client.v2.model.saved_filter_response import SavedFilterResponse
2728
from datadog_api_client.v2.model.update_feature_flag_request import UpdateFeatureFlagRequest
2829
from datadog_api_client.v2.model.allocation_response import AllocationResponse
2930
from datadog_api_client.v2.model.create_allocations_request import CreateAllocationsRequest
@@ -321,6 +322,29 @@ def __init__(self, api_client=None):
321322
api_client=api_client,
322323
)
323324

325+
self._get_saved_filter_endpoint = _Endpoint(
326+
settings={
327+
"response_type": (SavedFilterResponse,),
328+
"auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
329+
"endpoint_path": "/api/v2/feature-flags/saved-filters/{saved_filter_id}",
330+
"operation_id": "get_saved_filter",
331+
"http_method": "GET",
332+
"version": "v2",
333+
},
334+
params_map={
335+
"saved_filter_id": {
336+
"required": True,
337+
"openapi_types": (UUID,),
338+
"attribute": "saved_filter_id",
339+
"location": "path",
340+
},
341+
},
342+
headers_map={
343+
"accept": ["application/json"],
344+
},
345+
api_client=api_client,
346+
)
347+
324348
self._list_feature_flags_endpoint = _Endpoint(
325349
settings={
326350
"response_type": (ListFeatureFlagsResponse,),
@@ -946,6 +970,27 @@ def get_feature_flags_environment(
946970

947971
return self._get_feature_flags_environment_endpoint.call_with_http_info(**kwargs)
948972

973+
def get_saved_filter(
974+
self,
975+
saved_filter_id: UUID,
976+
) -> SavedFilterResponse:
977+
"""Get a saved filter.
978+
979+
Returns a saved filter by ID, including its full targeting rules, conditions, and values.
980+
Supports both saved lists and saved rules. Targeting rules are combined with OR,
981+
and conditions within each rule are combined with AND.
982+
Returns the stored filter definition rather than evaluating it against users or organizations.
983+
Archived filters can be retrieved. Filters that are deleted or belong to another organization return a not found error.
984+
985+
:param saved_filter_id: The ID of the saved filter.
986+
:type saved_filter_id: UUID
987+
:rtype: SavedFilterResponse
988+
"""
989+
kwargs: Dict[str, Any] = {}
990+
kwargs["saved_filter_id"] = saved_filter_id
991+
992+
return self._get_saved_filter_endpoint.call_with_http_info(**kwargs)
993+
949994
def list_feature_flags(
950995
self,
951996
*,

0 commit comments

Comments
 (0)