Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,378 changes: 1,378 additions & 0 deletions .generator/schemas/v2/openapi.yaml

Large diffs are not rendered by default.

37 changes: 37 additions & 0 deletions examples/v2/cohort/GetRumCohort.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Get rum cohort returns "Successful response with cohort analysis data" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.get_rum_cohort".to_sym] = true
end
api_instance = DatadogAPIClient::V2::CohortAPI.new

body = DatadogAPIClient::V2::GetCohortRequest.new({
data: DatadogAPIClient::V2::GetCohortRequestData.new({
attributes: DatadogAPIClient::V2::GetCohortRequestDataAttributes.new({
definition: DatadogAPIClient::V2::GetCohortRequestDataAttributesDefinition.new({
audience_filters: DatadogAPIClient::V2::GetCohortRequestDataAttributesDefinitionAudienceFilters.new({
accounts: [
DatadogAPIClient::V2::GetCohortRequestDataAttributesDefinitionAudienceFiltersAccountsItems.new({
name: "",
}),
],
segments: [
DatadogAPIClient::V2::GetCohortRequestDataAttributesDefinitionAudienceFiltersSegmentsItems.new({
name: "",
segment_id: "",
}),
],
users: [
DatadogAPIClient::V2::GetCohortRequestDataAttributesDefinitionAudienceFiltersUsersItems.new({
name: "",
}),
],
}),
}),
time: DatadogAPIClient::V2::GetCohortRequestDataAttributesTime.new({}),
}),
type: DatadogAPIClient::V2::GetCohortRequestDataType::COHORT_REQUEST,
}),
})
p api_instance.get_rum_cohort(body)
37 changes: 37 additions & 0 deletions examples/v2/cohort/GetRumCohortUsers.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Get rum cohort users returns "Successful response with cohort users" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.get_rum_cohort_users".to_sym] = true
end
api_instance = DatadogAPIClient::V2::CohortAPI.new

body = DatadogAPIClient::V2::GetCohortUsersRequest.new({
data: DatadogAPIClient::V2::GetCohortUsersRequestData.new({
attributes: DatadogAPIClient::V2::GetCohortUsersRequestDataAttributes.new({
definition: DatadogAPIClient::V2::GetCohortUsersRequestDataAttributesDefinition.new({
audience_filters: DatadogAPIClient::V2::GetCohortUsersRequestDataAttributesDefinitionAudienceFilters.new({
accounts: [
DatadogAPIClient::V2::GetCohortUsersRequestDataAttributesDefinitionAudienceFiltersAccountsItems.new({
name: "",
}),
],
segments: [
DatadogAPIClient::V2::GetCohortUsersRequestDataAttributesDefinitionAudienceFiltersSegmentsItems.new({
name: "",
segment_id: "",
}),
],
users: [
DatadogAPIClient::V2::GetCohortUsersRequestDataAttributesDefinitionAudienceFiltersUsersItems.new({
name: "",
}),
],
}),
}),
time: DatadogAPIClient::V2::GetCohortUsersRequestDataAttributesTime.new({}),
}),
type: DatadogAPIClient::V2::GetCohortUsersRequestDataType::COHORT_USERS_REQUEST,
}),
})
p api_instance.get_rum_cohort_users(body)
41 changes: 41 additions & 0 deletions examples/v2/funnel/GetRumFunnel.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Get rum funnel returns "Successful response with funnel analysis data" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.get_rum_funnel".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FunnelAPI.new

body = DatadogAPIClient::V2::FunnelRequest.new({
data: DatadogAPIClient::V2::FunnelRequestData.new({
attributes: DatadogAPIClient::V2::FunnelRequestDataAttributes.new({
data_source: "rum",
enforced_execution_type: "",
request_id: "",
search: DatadogAPIClient::V2::FunnelRequestDataAttributesSearch.new({
cross_session_filter: "",
query_string: "@type:view",
steps: [
DatadogAPIClient::V2::FunnelRequestDataAttributesSearchStepsItems.new({
facet: "@view.name",
step_filter: "",
value: "/apm/home",
}),
DatadogAPIClient::V2::FunnelRequestDataAttributesSearchStepsItems.new({
facet: "@view.name",
step_filter: "",
value: "/apm/traces",
}),
],
subquery_id: "",
}),
time: DatadogAPIClient::V2::FunnelRequestDataAttributesTime.new({
from: 1756425600000,
to: 1756857600000,
}),
}),
id: "funnel_request",
type: DatadogAPIClient::V2::FunnelRequestDataType::FUNNEL_REQUEST,
}),
})
p api_instance.get_rum_funnel(body)
37 changes: 37 additions & 0 deletions examples/v2/funnel/GetRumFunnelStepSuggestions.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Get rum funnel step suggestions returns "Successful response with funnel step suggestions" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.get_rum_funnel_step_suggestions".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FunnelAPI.new

body = DatadogAPIClient::V2::FunnelSuggestionRequest.new({
data: DatadogAPIClient::V2::FunnelSuggestionRequestData.new({
attributes: DatadogAPIClient::V2::FunnelSuggestionRequestDataAttributes.new({
data_source: "",
search: DatadogAPIClient::V2::FunnelSuggestionRequestDataAttributesSearch.new({
cross_session_filter: "",
query_string: "@type:view",
steps: [
DatadogAPIClient::V2::FunnelSuggestionRequestDataAttributesSearchStepsItems.new({
facet: "@view.name",
step_filter: "",
value: "/apm/home",
}),
],
subquery_id: "",
}),
term_search: DatadogAPIClient::V2::FunnelSuggestionRequestDataAttributesTermSearch.new({
query: "apm",
}),
time: DatadogAPIClient::V2::FunnelSuggestionRequestDataAttributesTime.new({
from: 1756425600000,
to: 1756857600000,
}),
}),
id: "funnel_suggestion_request",
type: DatadogAPIClient::V2::FunnelSuggestionRequestDataType::FUNNEL_SUGGESTION_REQUEST,
}),
})
p api_instance.get_rum_funnel_step_suggestions(body)
50 changes: 50 additions & 0 deletions examples/v2/segments/CreateRumSegment.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Create rum segment returns "Segment created successfully" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.create_rum_segment".to_sym] = true
end
api_instance = DatadogAPIClient::V2::SegmentsAPI.new

body = DatadogAPIClient::V2::Segment.new({
data: DatadogAPIClient::V2::SegmentData.new({
attributes: DatadogAPIClient::V2::SegmentDataAttributes.new({
created_at: "0001-01-01T00:00:00Z",
created_by: DatadogAPIClient::V2::SegmentDataSource.new({
handle: "",
id: "",
uuid: "",
}),
data_query: DatadogAPIClient::V2::SegmentDataAttributesDataQuery.new({
event_platform: [
DatadogAPIClient::V2::SegmentDataAttributesDataQueryEventPlatformItems.new({
facet: "@usr.id",
from: "2025-08-01",
name: "high_value_users",
query: "@type:view @view.name:/logs @usr.session_duration:>300000",
to: "2025-09-01",
}),
],
}),
description: "Users who frequently visit logs and have high session duration",
modified_at: "0001-01-01T00:00:00Z",
modified_by: DatadogAPIClient::V2::SegmentDataSource.new({
handle: "",
id: "",
uuid: "",
}),
name: "High-Value Users",
org_id: 123456,
source: 0,
tags: [
"high-value",
"logs",
"active",
],
version: 1,
}),
id: "segment-12345",
type: DatadogAPIClient::V2::SegmentDataType::SEGMENT,
}),
})
p api_instance.create_rum_segment(body)
8 changes: 8 additions & 0 deletions examples/v2/segments/InitializeRumSegments.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Initialize rum segments returns "Default segments created successfully" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.initialize_rum_segments".to_sym] = true
end
api_instance = DatadogAPIClient::V2::SegmentsAPI.new
p api_instance.initialize_rum_segments()
8 changes: 8 additions & 0 deletions examples/v2/segments/ListRumSegments.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# List rum segments returns "Successful response with list of segments" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.list_rum_segments".to_sym] = true
end
api_instance = DatadogAPIClient::V2::SegmentsAPI.new
p api_instance.list_rum_segments()
38 changes: 38 additions & 0 deletions examples/v2/user-flow/GetRumSankey.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Get rum sankey returns "Successful response with Sankey diagram data" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.get_rum_sankey".to_sym] = true
end
api_instance = DatadogAPIClient::V2::UserFlowAPI.new

body = DatadogAPIClient::V2::SankeyRequest.new({
data: DatadogAPIClient::V2::SankeyRequestData.new({
attributes: DatadogAPIClient::V2::SankeyRequestDataAttributes.new({
data_source: "",
definition: DatadogAPIClient::V2::SankeyRequestDataAttributesDefinition.new({
entries_per_step: 10,
number_of_steps: 5,
source: "@view.name",
target: "@view.name",
}),
enforced_execution_type: "",
request_id: "",
sampling: DatadogAPIClient::V2::SankeyRequestDataAttributesSampling.new({
enabled: true,
}),
search: DatadogAPIClient::V2::SankeyRequestDataAttributesSearch.new({
audience_filters: DatadogAPIClient::V2::SankeyRequestDataAttributesSearchAudienceFilters.new({}),
query: "@type:view @application.id:*",
subquery_id: "",
}),
time: DatadogAPIClient::V2::SankeyRequestDataAttributesTime.new({
from: 1756425600000,
to: 1756857600000,
}),
}),
id: "sankey_request",
type: DatadogAPIClient::V2::SankeyRequestDataType::SANKEY_REQUEST,
}),
})
p api_instance.get_rum_sankey(body)
18 changes: 18 additions & 0 deletions features/scenarios_model_mapping.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2828,6 +2828,12 @@
"rf_id" => "String",
"body" => "RumRetentionFilterUpdateRequest",
},
"v2.GetRumCohort" => {
"body" => "GetCohortRequest",
},
"v2.GetRumCohortUsers" => {
"body" => "GetCohortUsersRequest",
},
"v2.CreateRumMetric" => {
"body" => "RumMetricCreateRequest",
},
Expand All @@ -2841,6 +2847,18 @@
"metric_id" => "String",
"body" => "RumMetricUpdateRequest",
},
"v2.GetRumFunnel" => {
"body" => "FunnelRequest",
},
"v2.GetRumFunnelStepSuggestions" => {
"body" => "FunnelSuggestionRequest",
},
"v2.GetRumSankey" => {
"body" => "SankeyRequest",
},
"v2.CreateRumSegment" => {
"body" => "Segment",
},
"v2.ListScorecardOutcomes" => {
"page_size" => "Integer",
"page_offset" => "Integer",
Expand Down
24 changes: 24 additions & 0 deletions features/v2/cohort.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
@endpoint(cohort) @endpoint(cohort-v2)
Feature: Cohort
API for Cohort.

Background:
Given a valid "apiKeyAuth" key in the system
And a valid "appKeyAuth" key in the system
And an instance of "Cohort" API

@generated @skip @team:DataDog/product-analytics-backend
Scenario: Get rum cohort returns "Successful response with cohort analysis data" response
Given operation "GetRumCohort" enabled
And new "GetRumCohort" request
And body with value {"data": {"attributes": {"definition": {"audience_filters": {"accounts": [{"name": ""}], "segments": [{"name": "", "segment_id": ""}], "users": [{"name": ""}]}}, "time": {}}, "type": "cohort_request"}}
When the request is sent
Then the response status is 200 Successful response with cohort analysis data

@generated @skip @team:DataDog/product-analytics-backend
Scenario: Get rum cohort users returns "Successful response with cohort users" response
Given operation "GetRumCohortUsers" enabled
And new "GetRumCohortUsers" request
And body with value {"data": {"attributes": {"definition": {"audience_filters": {"accounts": [{"name": ""}], "segments": [{"name": "", "segment_id": ""}], "users": [{"name": ""}]}}, "time": {}}, "type": "cohort_users_request"}}
When the request is sent
Then the response status is 200 Successful response with cohort users
24 changes: 24 additions & 0 deletions features/v2/funnel.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
@endpoint(funnel) @endpoint(funnel-v2)
Feature: Funnel
API for funnel.

Background:
Given a valid "apiKeyAuth" key in the system
And a valid "appKeyAuth" key in the system
And an instance of "Funnel" API

@generated @skip @team:DataDog/product-analytics-backend
Scenario: Get rum funnel returns "Successful response with funnel analysis data" response
Given operation "GetRumFunnel" enabled
And new "GetRumFunnel" request
And body with value {"data": {"attributes": {"data_source": "rum", "enforced_execution_type": "", "request_id": "", "search": {"cross_session_filter": "", "query_string": "@type:view", "steps": [{"facet": "@view.name", "step_filter": "", "value": "/apm/home"}, {"facet": "@view.name", "step_filter": "", "value": "/apm/traces"}], "subquery_id": ""}, "time": {"from": 1756425600000, "to": 1756857600000}}, "id": "funnel_request", "type": "funnel_request"}}
When the request is sent
Then the response status is 200 Successful response with funnel analysis data

@generated @skip @team:DataDog/product-analytics-backend
Scenario: Get rum funnel step suggestions returns "Successful response with funnel step suggestions" response
Given operation "GetRumFunnelStepSuggestions" enabled
And new "GetRumFunnelStepSuggestions" request
And body with value {"data": {"attributes": {"data_source": "", "search": {"cross_session_filter": "", "query_string": "@type:view", "steps": [{"facet": "@view.name", "step_filter": "", "value": "/apm/home"}], "subquery_id": ""}, "term_search": {"query": "apm"}, "time": {"from": 1756425600000, "to": 1756857600000}}, "id": "funnel_suggestion_request", "type": "funnel_suggestion_request"}}
When the request is sent
Then the response status is 200 Successful response with funnel step suggestions
30 changes: 30 additions & 0 deletions features/v2/segments.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
@endpoint(segments) @endpoint(segments-v2)
Feature: Segments
API for segments.

Background:
Given a valid "apiKeyAuth" key in the system
And a valid "appKeyAuth" key in the system
And an instance of "Segments" API

@generated @skip @team:DataDog/product-analytics-backend
Scenario: Create rum segment returns "Segment created successfully" response
Given operation "CreateRumSegment" enabled
And new "CreateRumSegment" request
And body with value {"data": {"attributes": {"created_at": "0001-01-01T00:00:00Z", "created_by": {"handle": "", "id": "", "uuid": ""}, "data_query": {"event_platform": [{"facet": "@usr.id", "from": "2025-08-01", "name": "high_value_users", "query": "@type:view @view.name:/logs @usr.session_duration:>300000", "to": "2025-09-01"}]}, "description": "Users who frequently visit logs and have high session duration", "modified_at": "0001-01-01T00:00:00Z", "modified_by": {"handle": "", "id": "", "uuid": ""}, "name": "High-Value Users", "org_id": 123456, "source": 0, "tags": ["high-value", "logs", "active"], "version": 1}, "id": "segment-12345", "type": "segment"}}
When the request is sent
Then the response status is 201 Segment created successfully

@generated @skip @team:DataDog/product-analytics-backend
Scenario: Initialize rum segments returns "Default segments created successfully" response
Given operation "InitializeRumSegments" enabled
And new "InitializeRumSegments" request
When the request is sent
Then the response status is 200 Default segments created successfully

@generated @skip @team:DataDog/product-analytics-backend
Scenario: List rum segments returns "Successful response with list of segments" response
Given operation "ListRumSegments" enabled
And new "ListRumSegments" request
When the request is sent
Then the response status is 200 Successful response with list of segments
Loading
Loading