Skip to content

Commit e7e9676

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 98f0e57 of spec repo
1 parent b9f6adc commit e7e9676

19 files changed

+1803
-0
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 332 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41060,6 +41060,114 @@ components:
4106041060
type: string
4106141061
x-enum-varnames:
4106241062
- PROCESS
41063+
ProductAnalyticsServerSideEventError:
41064+
description: Error details.
41065+
properties:
41066+
detail:
41067+
description: Error message.
41068+
example: Malformed payload
41069+
type: string
41070+
status:
41071+
description: Error code.
41072+
example: '400'
41073+
type: string
41074+
title:
41075+
description: Error title.
41076+
example: Bad Request
41077+
type: string
41078+
type: object
41079+
ProductAnalyticsServerSideEventErrors:
41080+
description: Error response.
41081+
properties:
41082+
errors:
41083+
description: Structured errors.
41084+
items:
41085+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventError'
41086+
type: array
41087+
type: object
41088+
ProductAnalyticsServerSideEventItem:
41089+
description: A Product Analytics server-side event.
41090+
properties:
41091+
account:
41092+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventItemAccount'
41093+
application:
41094+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventItemApplication'
41095+
event:
41096+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventItemEvent'
41097+
session:
41098+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventItemSession'
41099+
type:
41100+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventItemType'
41101+
usr:
41102+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventItemUsr'
41103+
required:
41104+
- application
41105+
- event
41106+
- type
41107+
type: object
41108+
ProductAnalyticsServerSideEventItemAccount:
41109+
description: The account linked to your event.
41110+
properties:
41111+
id:
41112+
description: The account ID used in Datadog.
41113+
example: account-67890
41114+
type: string
41115+
required:
41116+
- id
41117+
type: object
41118+
ProductAnalyticsServerSideEventItemApplication:
41119+
description: The application in which you want to send your events.
41120+
properties:
41121+
id:
41122+
description: 'The application ID of your application. It can be found in
41123+
your
41124+
41125+
[application management page](https://app.datadoghq.com/rum/list).'
41126+
example: 123abcde-123a-123b-1234-123456789abc
41127+
type: string
41128+
required:
41129+
- id
41130+
type: object
41131+
ProductAnalyticsServerSideEventItemEvent:
41132+
description: Fields used for the event.
41133+
properties:
41134+
name:
41135+
description: The name of your event, which is used for search in the same
41136+
way as view or action names.
41137+
example: payment.processed
41138+
type: string
41139+
required:
41140+
- name
41141+
type: object
41142+
ProductAnalyticsServerSideEventItemSession:
41143+
description: The session linked to your event.
41144+
properties:
41145+
id:
41146+
description: The session ID captured by the SDK.
41147+
example: session-abcdef
41148+
type: string
41149+
required:
41150+
- id
41151+
type: object
41152+
ProductAnalyticsServerSideEventItemType:
41153+
description: The type of Product Analytics event. Must be `server` for server-side
41154+
events.
41155+
enum:
41156+
- server
41157+
example: server
41158+
type: string
41159+
x-enum-varnames:
41160+
- SERVER
41161+
ProductAnalyticsServerSideEventItemUsr:
41162+
description: The user linked to your event.
41163+
properties:
41164+
id:
41165+
description: The user ID used in Datadog.
41166+
example: user-12345
41167+
type: string
41168+
required:
41169+
- id
41170+
type: object
4106341171
Project:
4106441172
description: A Project
4106541173
properties:
@@ -77928,6 +78036,218 @@ paths:
7792878036
x-permission:
7792978037
operator: OPEN
7793078038
permissions: []
78039+
/api/v2/prodlytics:
78040+
post:
78041+
description: 'Send server-side events to Product Analytics. Server-side events
78042+
are retained for 15 months.
78043+
78044+
78045+
Server-Side events in Product Analytics are helpful for tracking events that
78046+
occur on the server,
78047+
78048+
as opposed to client-side events, which are captured by Real User Monitoring
78049+
(RUM) SDKs.
78050+
78051+
This allows for a more comprehensive view of the user journey by including
78052+
actions that happen on the server.
78053+
78054+
Typical examples could be `checkout.completed` or `payment.processed`.
78055+
78056+
78057+
Ingested server-side events are integrated into Product Analytics to allow
78058+
users to select and filter
78059+
78060+
these events in the event picker, similar to how views or actions are handled.
78061+
78062+
78063+
**Requirements:**
78064+
78065+
- At least one of `usr`, `account`, or `session` must be provided with a valid
78066+
ID.
78067+
78068+
- The `application.id` must reference a Product Analytics-enabled application.
78069+
78070+
78071+
**Custom Attributes:**
78072+
78073+
Any additional fields in the payload are flattened and searchable as facets.
78074+
78075+
For example, a payload with `{"customer": {"tier": "premium"}}` is searchable
78076+
with
78077+
78078+
the syntax `@customer.tier:premium` in Datadog.
78079+
78080+
78081+
The status codes answered by the HTTP API are:
78082+
78083+
- 202: Accepted: The request has been accepted for processing
78084+
78085+
- 400: Bad request (likely an issue in the payload formatting)
78086+
78087+
- 401: Unauthorized (likely a missing API Key)
78088+
78089+
- 403: Permission issue (likely using an invalid API Key)
78090+
78091+
- 408: Request Timeout, request should be retried after some time
78092+
78093+
- 413: Payload too large (batch is above 5MB uncompressed)
78094+
78095+
- 429: Too Many Requests, request should be retried after some time
78096+
78097+
- 500: Internal Server Error, the server encountered an unexpected condition
78098+
that prevented it from fulfilling the request, request should be retried after
78099+
some time
78100+
78101+
- 503: Service Unavailable, the server is not ready to handle the request
78102+
probably because it is overloaded, request should be retried after some time'
78103+
operationId: SubmitProductAnalyticsEvent
78104+
requestBody:
78105+
content:
78106+
application/json:
78107+
examples:
78108+
event-with-account:
78109+
description: Send a server-side event linked to an account.
78110+
summary: Event with account ID
78111+
value:
78112+
account:
78113+
id: account-456
78114+
application:
78115+
id: 123abcde-123a-123b-1234-123456789abc
78116+
event:
78117+
name: checkout.completed
78118+
type: server
78119+
event-with-custom-attributes:
78120+
description: Send a server-side event with additional custom attributes.
78121+
summary: Event with custom attributes
78122+
value:
78123+
application:
78124+
id: 123abcde-123a-123b-1234-123456789abc
78125+
customer:
78126+
tier: premium
78127+
event:
78128+
name: payment.processed
78129+
type: server
78130+
usr:
78131+
id: '123'
78132+
event-with-session:
78133+
description: Send a server-side event linked to a session.
78134+
summary: Event with session ID
78135+
value:
78136+
application:
78137+
id: 123abcde-123a-123b-1234-123456789abc
78138+
event:
78139+
name: form.submitted
78140+
session:
78141+
id: session-789
78142+
type: server
78143+
simple-event-with-user:
78144+
description: Send a server-side event linked to a user.
78145+
summary: Simple event with user ID
78146+
value:
78147+
application:
78148+
id: 123abcde-123a-123b-1234-123456789abc
78149+
event:
78150+
name: payment.processed
78151+
type: server
78152+
usr:
78153+
id: '123'
78154+
schema:
78155+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventItem'
78156+
description: Server-side event to send (JSON format).
78157+
required: true
78158+
responses:
78159+
'202':
78160+
content:
78161+
application/json:
78162+
schema:
78163+
type: object
78164+
description: Request accepted for processing (always 202 empty JSON).
78165+
'400':
78166+
content:
78167+
application/json:
78168+
schema:
78169+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors'
78170+
description: Bad Request
78171+
'401':
78172+
content:
78173+
application/json:
78174+
schema:
78175+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors'
78176+
description: Unauthorized
78177+
'403':
78178+
content:
78179+
application/json:
78180+
schema:
78181+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors'
78182+
description: Forbidden
78183+
'408':
78184+
content:
78185+
application/json:
78186+
schema:
78187+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors'
78188+
description: Request Timeout
78189+
'413':
78190+
content:
78191+
application/json:
78192+
schema:
78193+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors'
78194+
description: Payload Too Large
78195+
'429':
78196+
content:
78197+
application/json:
78198+
schema:
78199+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors'
78200+
description: Too Many Requests
78201+
'500':
78202+
content:
78203+
application/json:
78204+
schema:
78205+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors'
78206+
description: Internal Server Error
78207+
'503':
78208+
content:
78209+
application/json:
78210+
schema:
78211+
$ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors'
78212+
description: Service Unavailable
78213+
security:
78214+
- apiKeyAuth: []
78215+
servers:
78216+
- url: https://{subdomain}.{site}
78217+
variables:
78218+
site:
78219+
default: datadoghq.com
78220+
description: The regional site for customers.
78221+
enum:
78222+
- datadoghq.com
78223+
- us3.datadoghq.com
78224+
- us5.datadoghq.com
78225+
- ap1.datadoghq.com
78226+
- ap2.datadoghq.com
78227+
- datadoghq.eu
78228+
subdomain:
78229+
default: browser-intake
78230+
description: The subdomain where the API is deployed.
78231+
- url: '{protocol}://{name}'
78232+
variables:
78233+
name:
78234+
default: browser-intake-datadoghq.com
78235+
description: Full site DNS name.
78236+
protocol:
78237+
default: https
78238+
description: The protocol for accessing the API.
78239+
- url: https://{subdomain}.{site}
78240+
variables:
78241+
site:
78242+
default: datadoghq.com
78243+
description: Any Datadog deployment.
78244+
subdomain:
78245+
default: browser-intake
78246+
description: The subdomain where the API is deployed.
78247+
summary: Send server-side events
78248+
tags:
78249+
- Product Analytics
78250+
x-codegen-request-body-name: body
7793178251
/api/v2/product-analytics/accounts/facet_info:
7793278252
post:
7793378253
description: Get facet information for account attributes including possible
@@ -90124,6 +90444,18 @@ tags:
9012490444
See the [Live Processes page](https://docs.datadoghq.com/infrastructure/process/)
9012590445
for more information.
9012690446
name: Processes
90447+
- description: 'Send server-side events to Product Analytics. Server-Side Events Ingestion
90448+
allows you to collect custom events
90449+
90450+
from any server-side source, and retains events for 15 months. Server-side events
90451+
are helpful for understanding
90452+
90453+
causes of a funnel drop-off which are external to the client-side (for example,
90454+
payment processing error).
90455+
90456+
See the [Product Analytics page](https://docs.datadoghq.com/product_analytics/)
90457+
for more information.'
90458+
name: Product Analytics
9012790459
- description: Manage your Real User Monitoring (RUM) applications, and search or
9012890460
aggregate your RUM events over HTTP. See the [RUM & Session Replay page](https://docs.datadoghq.com/real_user_monitoring/)
9012990461
for more information
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// Send server-side events returns "Request accepted for processing (always 202
2+
// empty JSON)." response
3+
use datadog_api_client::datadog;
4+
use datadog_api_client::datadogV2::api_product_analytics::ProductAnalyticsAPI;
5+
use datadog_api_client::datadogV2::model::ProductAnalyticsServerSideEventItem;
6+
use datadog_api_client::datadogV2::model::ProductAnalyticsServerSideEventItemAccount;
7+
use datadog_api_client::datadogV2::model::ProductAnalyticsServerSideEventItemApplication;
8+
use datadog_api_client::datadogV2::model::ProductAnalyticsServerSideEventItemEvent;
9+
use datadog_api_client::datadogV2::model::ProductAnalyticsServerSideEventItemSession;
10+
use datadog_api_client::datadogV2::model::ProductAnalyticsServerSideEventItemType;
11+
use datadog_api_client::datadogV2::model::ProductAnalyticsServerSideEventItemUsr;
12+
13+
#[tokio::main]
14+
async fn main() {
15+
let body = ProductAnalyticsServerSideEventItem::new(
16+
ProductAnalyticsServerSideEventItemApplication::new(
17+
"123abcde-123a-123b-1234-123456789abc".to_string(),
18+
),
19+
ProductAnalyticsServerSideEventItemEvent::new("payment.processed".to_string()),
20+
ProductAnalyticsServerSideEventItemType::SERVER,
21+
)
22+
.account(ProductAnalyticsServerSideEventItemAccount::new(
23+
"account-67890".to_string(),
24+
))
25+
.session(ProductAnalyticsServerSideEventItemSession::new(
26+
"session-abcdef".to_string(),
27+
))
28+
.usr(ProductAnalyticsServerSideEventItemUsr::new(
29+
"user-12345".to_string(),
30+
));
31+
let configuration = datadog::Configuration::new();
32+
let api = ProductAnalyticsAPI::with_config(configuration);
33+
let resp = api.submit_product_analytics_event(body).await;
34+
if let Ok(value) = resp {
35+
println!("{:#?}", value);
36+
} else {
37+
println!("{:#?}", resp.unwrap_err());
38+
}
39+
}

0 commit comments

Comments
 (0)