Skip to content

Commit 7b99506

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 778e902 of spec repo
1 parent 3438576 commit 7b99506

7 files changed

Lines changed: 289 additions & 12 deletions

examples/v1/dashboards/SendPublicDashboardInvitation.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,32 @@
22
Send shared dashboard invitation email returns "OK" response
33
"""
44

5-
from os import environ
65
from datadog_api_client import ApiClient, Configuration
76
from datadog_api_client.v1.api.dashboards_api import DashboardsApi
87
from datadog_api_client.v1.model.dashboard_invite_type import DashboardInviteType
98
from datadog_api_client.v1.model.shared_dashboard_invites import SharedDashboardInvites
9+
from datadog_api_client.v1.model.shared_dashboard_invites_data_list import SharedDashboardInvitesDataList
1010
from datadog_api_client.v1.model.shared_dashboard_invites_data_object import SharedDashboardInvitesDataObject
1111
from datadog_api_client.v1.model.shared_dashboard_invites_data_object_attributes import (
1212
SharedDashboardInvitesDataObjectAttributes,
1313
)
1414

15-
# there is a valid "shared_dashboard" in the system
16-
SHARED_DASHBOARD_TOKEN = environ["SHARED_DASHBOARD_TOKEN"]
17-
1815
body = SharedDashboardInvites(
19-
data=SharedDashboardInvitesDataObject(
20-
attributes=SharedDashboardInvitesDataObjectAttributes(
21-
email="exampledashboard@datadoghq.com",
22-
),
23-
type=DashboardInviteType.PUBLIC_DASHBOARD_INVITATION,
16+
data=SharedDashboardInvitesDataList(
17+
[
18+
SharedDashboardInvitesDataObject(
19+
attributes=SharedDashboardInvitesDataObjectAttributes(
20+
email="test@datadoghq.com",
21+
),
22+
type=DashboardInviteType.PUBLIC_DASHBOARD_INVITATION,
23+
),
24+
]
2425
),
2526
)
2627

2728
configuration = Configuration()
2829
with ApiClient(configuration) as api_client:
2930
api_instance = DashboardsApi(api_client)
30-
response = api_instance.send_public_dashboard_invitation(token=SHARED_DASHBOARD_TOKEN, body=body)
31+
response = api_instance.send_public_dashboard_invitation(token="token", body=body)
3132

3233
print(response)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
"""
2+
Send shared dashboard invitation email returns OK
3+
"""
4+
5+
from os import environ
6+
from datadog_api_client import ApiClient, Configuration
7+
from datadog_api_client.v1.api.dashboards_api import DashboardsApi
8+
from datadog_api_client.v1.model.dashboard_invite_type import DashboardInviteType
9+
from datadog_api_client.v1.model.shared_dashboard_invites import SharedDashboardInvites
10+
from datadog_api_client.v1.model.shared_dashboard_invites_data_object import SharedDashboardInvitesDataObject
11+
from datadog_api_client.v1.model.shared_dashboard_invites_data_object_attributes import (
12+
SharedDashboardInvitesDataObjectAttributes,
13+
)
14+
15+
# there is a valid "shared_dashboard" in the system
16+
SHARED_DASHBOARD_TOKEN = environ["SHARED_DASHBOARD_TOKEN"]
17+
18+
body = SharedDashboardInvites(
19+
data=SharedDashboardInvitesDataObject(
20+
attributes=SharedDashboardInvitesDataObjectAttributes(
21+
email="exampledashboard@datadoghq.com",
22+
),
23+
type=DashboardInviteType.PUBLIC_DASHBOARD_INVITATION,
24+
),
25+
)
26+
27+
configuration = Configuration()
28+
with ApiClient(configuration) as api_client:
29+
api_instance = DashboardsApi(api_client)
30+
response = api_instance.send_public_dashboard_invitation(token=SHARED_DASHBOARD_TOKEN, body=body)
31+
32+
print(response)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2026-03-19T17:48:57.466Z
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
interactions:
2+
- request:
3+
body: '{"layout_type":"ordered","title":"Test-Send_shared_dashboard_invitation_email_returns_OK-1773942537
4+
with Profile Metrics Query","widgets":[{"definition":{"requests":[{"profile_metrics_query":{"compute":{"aggregation":"sum","facet":"@prof_core_cpu_cores"},"group_by":[{"facet":"service","limit":10,"sort":{"aggregation":"sum","facet":"@prof_core_cpu_cores","order":"desc"}}],"search":{"query":"runtime:jvm"}}}],"type":"timeseries"}}]}'
5+
headers:
6+
accept:
7+
- application/json
8+
content-type:
9+
- application/json
10+
method: POST
11+
uri: https://api.datadoghq.com/api/v1/dashboard
12+
response:
13+
body:
14+
string: '{"id":"i2s-n9z-69c","title":"Test-Send_shared_dashboard_invitation_email_returns_OK-1773942537
15+
with Profile Metrics Query","description":null,"author_handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","author_name":"CI
16+
Account","layout_type":"ordered","url":"/dashboard/i2s-n9z-69c/test-sendshareddashboardinvitationemailreturnsok-1773942537-with-profile-metrics","template_variables":null,"widgets":[{"definition":{"requests":[{"profile_metrics_query":{"compute":{"aggregation":"sum","facet":"@prof_core_cpu_cores"},"group_by":[{"facet":"service","limit":10,"sort":{"aggregation":"sum","facet":"@prof_core_cpu_cores","order":"desc"}}],"search":{"query":"runtime:jvm"}}}],"type":"timeseries"},"id":3342606346172255}],"notify_list":null,"created_at":"2026-03-19T17:48:57.600536+00:00","modified_at":"2026-03-19T17:48:57.600536+00:00","restricted_roles":[]}'
17+
headers:
18+
content-type:
19+
- application/json
20+
status:
21+
code: 200
22+
message: OK
23+
- request:
24+
body: '{"dashboard_id":"i2s-n9z-69c","dashboard_type":"custom_timeboard","global_time":{"live_span":"1h"},"share_list":["testsendshareddashboardinvitationemailreturnsok1773942537@datadoghq.com"],"share_type":"invite"}'
25+
headers:
26+
accept:
27+
- application/json
28+
content-type:
29+
- application/json
30+
method: POST
31+
uri: https://api.datadoghq.com/api/v1/dashboard/public
32+
response:
33+
body:
34+
string: '{"author":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI
35+
Account"},"dashboard_id":"i2s-n9z-69c","dashboard_type":"custom_timeboard","status":"active","title":"Test-Send_shared_dashboard_invitation_email_returns_OK-1773942537
36+
with Profile Metrics Query","viewing_preferences":{},"expiration":null,"last_accessed":null,"global_time_selectable_enabled":false,"global_time":{"live_span":"1h"},"selectable_template_vars":null,"token":"fasjyydbcgwwc2uc-3dde636009128a6f937e880f67a0ad04","public_url":"https://p.datadoghq.com/sb/fasjyydbcgwwc2uc-3dde636009128a6f937e880f67a0ad04","created":"2026-03-19T17:48:58.113567+00:00","share_type":"invite","share_list":["team-intg-tools-libs-spam@datadoghq.com","testsendshareddashboardinvitationemailreturnsok1773942537@datadoghq.com"],"session_duration_in_days":30,"invitees":[{"email":"team-intg-tools-libs-spam@datadoghq.com","access_expiration":null,"last_accessed":null,"created_at":"2026-03-19T17:48:58.132469+00:00"},{"email":"testsendshareddashboardinvitationemailreturnsok1773942537@datadoghq.com","access_expiration":null,"last_accessed":null,"created_at":"2026-03-19T17:48:58.132469+00:00"}],"embeddable_domains":[]}
37+
38+
'
39+
headers:
40+
content-type:
41+
- application/json
42+
status:
43+
code: 200
44+
message: OK
45+
- request:
46+
body: '{"data":{"attributes":{"email":"testsendshareddashboardinvitationemailreturnsok1773942537@datadoghq.com"},"type":"public_dashboard_invitation"}}'
47+
headers:
48+
accept:
49+
- application/json
50+
content-type:
51+
- application/json
52+
method: POST
53+
uri: https://api.datadoghq.com/api/v1/dashboard/public/fasjyydbcgwwc2uc-3dde636009128a6f937e880f67a0ad04/invitation
54+
response:
55+
body:
56+
string: '{"data":{"type":"public_dashboard_invitation","attributes":{"email":"testsendshareddashboardinvitationemailreturnsok1773942537@datadoghq.com","share_token":"fasjyydbcgwwc2uc-3dde636009128a6f937e880f67a0ad04","created_at":"2026-03-19T17:48:58.452715+00:00","invitation_expiry":"2026-03-19T18:48:58.463251+00:00","has_session":false,"session_expiry":null}}}
57+
58+
'
59+
headers:
60+
content-type:
61+
- application/json
62+
status:
63+
code: 201
64+
message: Created
65+
- request:
66+
body: '{"data":{"attributes":{"email":"testsendshareddashboardinvitationemailreturnsok1773942537@datadoghq.com"},"type":"public_dashboard_invitation"}}'
67+
headers:
68+
accept:
69+
- '*/*'
70+
content-type:
71+
- application/json
72+
method: DELETE
73+
uri: https://api.datadoghq.com/api/v1/dashboard/public/fasjyydbcgwwc2uc-3dde636009128a6f937e880f67a0ad04/invitation
74+
response:
75+
body:
76+
string: ''
77+
headers:
78+
content-type:
79+
- text/html; charset=utf-8
80+
status:
81+
code: 204
82+
message: No Content
83+
- request:
84+
body: null
85+
headers:
86+
accept:
87+
- application/json
88+
method: DELETE
89+
uri: https://api.datadoghq.com/api/v1/dashboard/public/fasjyydbcgwwc2uc-3dde636009128a6f937e880f67a0ad04
90+
response:
91+
body:
92+
string: '{"deleted_public_dashboard_token":"fasjyydbcgwwc2uc-3dde636009128a6f937e880f67a0ad04"}
93+
94+
'
95+
headers:
96+
content-type:
97+
- application/json
98+
status:
99+
code: 200
100+
message: OK
101+
- request:
102+
body: null
103+
headers:
104+
accept:
105+
- application/json
106+
method: DELETE
107+
uri: https://api.datadoghq.com/api/v1/dashboard/i2s-n9z-69c
108+
response:
109+
body:
110+
string: '{"deleted_dashboard_id":"i2s-n9z-69c"}'
111+
headers:
112+
content-type:
113+
- application/json
114+
status:
115+
code: 200
116+
message: OK
117+
version: 1
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2026-03-18T20:27:29.628Z
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
interactions:
2+
- request:
3+
body: '{"layout_type":"ordered","title":"Test-Send_shared_dashboard_invitation_email_returns_OK_-1773865649
4+
with Profile Metrics Query","widgets":[{"definition":{"requests":[{"profile_metrics_query":{"compute":{"aggregation":"sum","facet":"@prof_core_cpu_cores"},"group_by":[{"facet":"service","limit":10,"sort":{"aggregation":"sum","facet":"@prof_core_cpu_cores","order":"desc"}}],"search":{"query":"runtime:jvm"}}}],"type":"timeseries"}}]}'
5+
headers:
6+
accept:
7+
- application/json
8+
content-type:
9+
- application/json
10+
method: POST
11+
uri: https://api.datadoghq.com/api/v1/dashboard
12+
response:
13+
body:
14+
string: '{"id":"uy7-jdc-khf","title":"Test-Send_shared_dashboard_invitation_email_returns_OK_-1773865649
15+
with Profile Metrics Query","description":null,"author_handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","author_name":"CI
16+
Account","layout_type":"ordered","url":"/dashboard/uy7-jdc-khf/test-sendshareddashboardinvitationemailreturnsok-1773865649-with-profile-metrics","template_variables":null,"widgets":[{"definition":{"requests":[{"profile_metrics_query":{"compute":{"aggregation":"sum","facet":"@prof_core_cpu_cores"},"group_by":[{"facet":"service","limit":10,"sort":{"aggregation":"sum","facet":"@prof_core_cpu_cores","order":"desc"}}],"search":{"query":"runtime:jvm"}}}],"type":"timeseries"},"id":3763196530100152}],"notify_list":null,"created_at":"2026-03-18T20:27:29.720762+00:00","modified_at":"2026-03-18T20:27:29.720762+00:00","restricted_roles":[]}'
17+
headers:
18+
content-type:
19+
- application/json
20+
status:
21+
code: 200
22+
message: OK
23+
- request:
24+
body: '{"dashboard_id":"uy7-jdc-khf","dashboard_type":"custom_timeboard","global_time":{"live_span":"1h"},"share_list":["testsendshareddashboardinvitationemailreturnsok1773865649@datadoghq.com"],"share_type":"invite"}'
25+
headers:
26+
accept:
27+
- application/json
28+
content-type:
29+
- application/json
30+
method: POST
31+
uri: https://api.datadoghq.com/api/v1/dashboard/public
32+
response:
33+
body:
34+
string: '{"author":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI
35+
Account"},"dashboard_id":"uy7-jdc-khf","dashboard_type":"custom_timeboard","status":"active","title":"Test-Send_shared_dashboard_invitation_email_returns_OK_-1773865649
36+
with Profile Metrics Query","viewing_preferences":{},"expiration":null,"last_accessed":null,"global_time_selectable_enabled":false,"global_time":{"live_span":"1h"},"selectable_template_vars":null,"token":"fasjyydbcgwwc2uc-4801190966e7cf88b180c12b876eca65","public_url":"https://p.datadoghq.com/sb/fasjyydbcgwwc2uc-4801190966e7cf88b180c12b876eca65","created":"2026-03-18T20:27:30.223874+00:00","share_type":"invite","share_list":["team-intg-tools-libs-spam@datadoghq.com","testsendshareddashboardinvitationemailreturnsok1773865649@datadoghq.com"],"session_duration_in_days":30,"invitees":[{"email":"team-intg-tools-libs-spam@datadoghq.com","access_expiration":null,"last_accessed":null,"created_at":"2026-03-18T20:27:30.248539+00:00"},{"email":"testsendshareddashboardinvitationemailreturnsok1773865649@datadoghq.com","access_expiration":null,"last_accessed":null,"created_at":"2026-03-18T20:27:30.248539+00:00"}],"embeddable_domains":[]}
37+
38+
'
39+
headers:
40+
content-type:
41+
- application/json
42+
status:
43+
code: 200
44+
message: OK
45+
- request:
46+
body: '{"data":{"attributes":{"email":"testsendshareddashboardinvitationemailreturnsok1773865649@datadoghq.com"},"type":"public_dashboard_invitation"}}'
47+
headers:
48+
accept:
49+
- application/json
50+
content-type:
51+
- application/json
52+
method: POST
53+
uri: https://api.datadoghq.com/api/v1/dashboard/public/fasjyydbcgwwc2uc-4801190966e7cf88b180c12b876eca65/invitation
54+
response:
55+
body:
56+
string: '{"data":{"type":"public_dashboard_invitation","attributes":{"email":"testsendshareddashboardinvitationemailreturnsok1773865649@datadoghq.com","share_token":"fasjyydbcgwwc2uc-4801190966e7cf88b180c12b876eca65","created_at":"2026-03-18T20:27:30.426144+00:00","invitation_expiry":"2026-03-18T21:27:30.435235+00:00","has_session":false,"session_expiry":null}}}
57+
58+
'
59+
headers:
60+
content-type:
61+
- application/json
62+
status:
63+
code: 201
64+
message: Created
65+
- request:
66+
body: '{"data":{"attributes":{"email":"testsendshareddashboardinvitationemailreturnsok1773865649@datadoghq.com"},"type":"public_dashboard_invitation"}}'
67+
headers:
68+
accept:
69+
- '*/*'
70+
content-type:
71+
- application/json
72+
method: DELETE
73+
uri: https://api.datadoghq.com/api/v1/dashboard/public/fasjyydbcgwwc2uc-4801190966e7cf88b180c12b876eca65/invitation
74+
response:
75+
body:
76+
string: ''
77+
headers:
78+
content-type:
79+
- text/html; charset=utf-8
80+
status:
81+
code: 204
82+
message: No Content
83+
- request:
84+
body: null
85+
headers:
86+
accept:
87+
- application/json
88+
method: DELETE
89+
uri: https://api.datadoghq.com/api/v1/dashboard/public/fasjyydbcgwwc2uc-4801190966e7cf88b180c12b876eca65
90+
response:
91+
body:
92+
string: '{"deleted_public_dashboard_token":"fasjyydbcgwwc2uc-4801190966e7cf88b180c12b876eca65"}
93+
94+
'
95+
headers:
96+
content-type:
97+
- application/json
98+
status:
99+
code: 200
100+
message: OK
101+
- request:
102+
body: null
103+
headers:
104+
accept:
105+
- application/json
106+
method: DELETE
107+
uri: https://api.datadoghq.com/api/v1/dashboard/uy7-jdc-khf
108+
response:
109+
body:
110+
string: '{"deleted_dashboard_id":"uy7-jdc-khf"}'
111+
headers:
112+
content-type:
113+
- application/json
114+
status:
115+
code: 200
116+
message: OK
117+
version: 1

tests/v1/features/dashboards.feature

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1357,16 +1357,24 @@ Feature: Dashboards
13571357
When the request is sent
13581358
Then the response status is 404 Not Found
13591359

1360-
@team:DataDog/reporting-and-sharing
1360+
@generated @skip @team:DataDog/reporting-and-sharing
13611361
Scenario: Send shared dashboard invitation email returns "OK" response
1362+
Given new "SendPublicDashboardInvitation" request
1363+
And request contains "token" parameter from "REPLACE.ME"
1364+
And body with value {"data": [{"attributes": {"email": "test@datadoghq.com"}, "type": "public_dashboard_invitation"}]}
1365+
When the request is sent
1366+
Then the response status is 201 OK
1367+
1368+
@team:DataDog/reporting-and-sharing
1369+
Scenario: Send shared dashboard invitation email returns OK
13621370
Given there is a valid "dashboard" in the system
13631371
And there is a valid "shared_dashboard" in the system
13641372
And new "SendPublicDashboardInvitation" request
13651373
And request contains "token" parameter from "shared_dashboard.token"
13661374
And body with value {"data": {"attributes": {"email": "{{unique_lower_alnum}}@datadoghq.com"}, "type": "public_dashboard_invitation"}}
13671375
When the request is sent
13681376
Then the response status is 201 OK
1369-
And the response "data.attributes.email" has the same value as "shared_dashboard.share_list[0]"
1377+
And the response "data.attributes.email" has the same value as "shared_dashboard.share_list[1]"
13701378
And the response "data.attributes.share_token" has the same value as "shared_dashboard.token"
13711379

13721380
@generated @skip @team:DataDog/dashboards-backend

0 commit comments

Comments
 (0)