소유권 추론에 대한 피드백 제출
https://api.datadoghq.com/api/v2/csm/ownership/{resource_id}/{owner_type}/feedbackhttps://api.us3.datadoghq.com/api/v2/csm/ownership/{resource_id}/{owner_type}/feedbackhttps://api.us5.datadoghq.com/api/v2/csm/ownership/{resource_id}/{owner_type}/feedbackhttps://api.datadoghq.eu/api/v2/csm/ownership/{resource_id}/{owner_type}/feedbackhttps://api.ap1.datadoghq.com/api/v2/csm/ownership/{resource_id}/{owner_type}/feedbackhttps://api.ap2.datadoghq.com/api/v2/csm/ownership/{resource_id}/{owner_type}/feedbackhttps://api.uk1.datadoghq.com/api/v2/csm/ownership/{resource_id}/{owner_type}/feedbackhttps://api.ddog-gov.com/api/v2/csm/ownership/{resource_id}/{owner_type}/feedbackhttps://api.us2.ddog-gov.com/api/v2/csm/ownership/{resource_id}/{owner_type}/feedback개요
리소스 및 소유자 유형에 대한 현재 소유권 추론에 대한 피드백을 제출합니다. 유효한 작업은 confirm, reject, correct 및 persist입니다.
요청은 inference_checksum에 현재 추론 checksum을 포함해야 합니다. 체크섬이 현재 추론 상태와 일치하지 않으면 엔드포인트는 409 Conflict를 반환합니다.
action이 correct인 경우 corrected_owner_handle 및 corrected_owner_type이 필요합니다.
인수
경로 파라미터
resource_id [required]The identifier of the resource that the feedback applies to.
owner_type [required]The type of owner that the feedback applies to.
user, team, service, unknown요청
Body Data (required)
data [required]소유권 피드백 제출에 대한 요청 본문입니다.
attributes [required]The attributes of an ownership feedback request.
action [required]The feedback action to apply to an inference.
confirm, reject, correct, persistcorrected_owner_handleThe corrected owner handle. Required when action is correct.
corrected_owner_typeThe corrected owner type. Required when action is correct.
inference_checksum [required]The checksum of the inference being acted upon. Must match the current inference checksum or the request returns a conflict.
reasonAn optional free-form reason explaining the feedback.
type [required]The type of the ownership feedback request resource. The value should always be ownership_feedback.
ownership_feedbackownership_feedback{
"data": {
"attributes": {
"action": "confirm",
"corrected_owner_handle": "team-b",
"corrected_owner_type": "team",
"inference_checksum": "abc123",
"reason": "Confirmed by team lead."
},
"type": "ownership_feedback"
}
}응답
Created
The response returned after applying ownership feedback to an inference.
data [required]The data wrapper for an ownership feedback result response.
attributes [required]The attributes of an ownership feedback result.
action [required]The feedback action to apply to an inference.
confirm, reject, correct, persistchecksum [required]The checksum of the inference after the feedback was applied.
new_status [required]The lifecycle status of an ownership inference.
suggested, persisted, overridden, failed, unknownowner_type [required]The owner type for an ownership inference.
user, team, service, unknownprevious_status [required]The lifecycle status of an ownership inference.
suggested, persisted, overridden, failed, unknownprimary_contact_refThe primary contact reference for the inferred owner after the feedback was applied, formatted as ref:handle/<owner_handle>.
updated_at [required]The time when the inference was updated by the feedback.
id [required]The identifier of the resource that the feedback was applied to.
type [required]The type of the ownership feedback result resource. The value should always be ownership_feedback_result.
ownership_feedback_resultownership_feedback_result{
"data": {
"attributes": {
"action": "confirm",
"checksum": "abc123",
"new_status": "suggested",
"owner_type": "team",
"previous_status": "suggested",
"primary_contact_ref": "ref:handle/team-a",
"updated_at": "2026-01-15T10:00:00Z"
},
"id": "res-1",
"type": "ownership_feedback_result"
}
}Bad Request
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Unauthorized
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Not Found
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Conflict
The response returned when retrieving a single ownership inference for an owner type.
data [required]The data wrapper for a single ownership inference response.
attributes [required]The attributes of a single ownership inference.
checksum [required]A checksum that uniquely identifies the current state of the inference. Required when submitting feedback.
confidence [required]The confidence score of the inference, expressed as a numeric string with up to four decimal places.
created_at [required]The time when the inference was created.
evidence_versions [required]The list of evidence versions associated with an inference.
explanation [required]A human-readable explanation of how the inference was produced.
owner_type [required]The owner type for an ownership inference.
user, team, service, unknownprimary_contact_refThe primary contact reference for the inferred owner, formatted as ref:handle/<owner_handle>.
sources [required]The list of sources backing an ownership inference. Empty when the inference status is not whitelisted to expose sources.
status [required]The lifecycle status of an ownership inference.
suggested, persisted, overridden, failed, unknownupdated_at [required]The time when the inference was last updated.
id [required]The identifier of the inference, formatted as resource_id:owner_type.
type [required]The type of the ownership inference resource. The value should always be ownership_inference.
ownership_inferenceownership_inference{
"data": {
"attributes": {
"checksum": "abc123",
"confidence": "0.9500",
"created_at": "2026-01-15T10:00:00Z",
"evidence_versions": [
[]
],
"explanation": "High confidence match",
"owner_type": "team",
"primary_contact_ref": "ref:handle/team-a",
"sources": [
[]
],
"status": "suggested",
"updated_at": "2026-01-15T10:00:00Z"
},
"id": "test-resource:team",
"type": "ownership_inference"
}
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}코드 예시
# Path parameters
export resource_id="res-1"
export owner_type="team"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/csm/ownership/${resource_id}/${owner_type}/feedback" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": "confirm",
"inference_checksum": "abc123"
},
"type": "ownership_feedback"
}
}
EOF# Path parameters
export resource_id="res-1"
export owner_type="team"
# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/csm/ownership/${resource_id}/${owner_type}/feedback" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": "confirm",
"inference_checksum": "abc123"
},
"type": "ownership_feedback"
}
}
EOF# Path parameters
export resource_id="res-1"
export owner_type="team"
# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/csm/ownership/${resource_id}/${owner_type}/feedback" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": "confirm",
"inference_checksum": "abc123"
},
"type": "ownership_feedback"
}
}
EOF# Path parameters
export resource_id="res-1"
export owner_type="team"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/csm/ownership/${resource_id}/${owner_type}/feedback" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": "confirm",
"inference_checksum": "abc123"
},
"type": "ownership_feedback"
}
}
EOF# Path parameters
export resource_id="res-1"
export owner_type="team"
# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/csm/ownership/${resource_id}/${owner_type}/feedback" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": "confirm",
"inference_checksum": "abc123"
},
"type": "ownership_feedback"
}
}
EOF# Path parameters
export resource_id="res-1"
export owner_type="team"
# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/csm/ownership/${resource_id}/${owner_type}/feedback" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": "confirm",
"inference_checksum": "abc123"
},
"type": "ownership_feedback"
}
}
EOF# Path parameters
export resource_id="res-1"
export owner_type="team"
# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/csm/ownership/${resource_id}/${owner_type}/feedback" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": "confirm",
"inference_checksum": "abc123"
},
"type": "ownership_feedback"
}
}
EOF# Path parameters
export resource_id="res-1"
export owner_type="team"
# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/csm/ownership/${resource_id}/${owner_type}/feedback" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": "confirm",
"inference_checksum": "abc123"
},
"type": "ownership_feedback"
}
}
EOF# Path parameters
export resource_id="res-1"
export owner_type="team"
# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/csm/ownership/${resource_id}/${owner_type}/feedback" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": "confirm",
"inference_checksum": "abc123"
},
"type": "ownership_feedback"
}
}
EOF// Submit feedback on an ownership inference returns "Created" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main() {
body := datadogV2.OwnershipFeedbackRequest{
Data: datadogV2.OwnershipFeedbackRequestData{
Attributes: datadogV2.OwnershipFeedbackRequestAttributes{
Action: datadogV2.OWNERSHIPFEEDBACKACTION_CONFIRM,
CorrectedOwnerHandle: *datadog.NewNullableString(datadog.PtrString("team-b")),
CorrectedOwnerType: *datadog.NewNullableString(datadog.PtrString("team")),
InferenceChecksum: "abc123",
Reason: *datadog.NewNullableString(datadog.PtrString("Confirmed by team lead.")),
},
Type: datadogV2.OWNERSHIPFEEDBACKTYPE_OWNERSHIP_FEEDBACK,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("v2.CreateOwnershipFeedback", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewCSMOwnershipApi(apiClient)
resp, r, err := api.CreateOwnershipFeedback(ctx, "res-1", datadogV2.OWNERSHIPOWNERTYPE_TEAM, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CSMOwnershipApi.CreateOwnershipFeedback`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `CSMOwnershipApi.CreateOwnershipFeedback`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Submit feedback on an ownership inference returns "Created" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.CsmOwnershipApi;
import com.datadog.api.client.v2.model.OwnershipFeedbackAction;
import com.datadog.api.client.v2.model.OwnershipFeedbackRequest;
import com.datadog.api.client.v2.model.OwnershipFeedbackRequestAttributes;
import com.datadog.api.client.v2.model.OwnershipFeedbackRequestData;
import com.datadog.api.client.v2.model.OwnershipFeedbackResponse;
import com.datadog.api.client.v2.model.OwnershipFeedbackType;
import com.datadog.api.client.v2.model.OwnershipOwnerType;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
defaultClient.setUnstableOperationEnabled("v2.createOwnershipFeedback", true);
CsmOwnershipApi apiInstance = new CsmOwnershipApi(defaultClient);
OwnershipFeedbackRequest body =
new OwnershipFeedbackRequest()
.data(
new OwnershipFeedbackRequestData()
.attributes(
new OwnershipFeedbackRequestAttributes()
.action(OwnershipFeedbackAction.CONFIRM)
.correctedOwnerHandle("team-b")
.correctedOwnerType("team")
.inferenceChecksum("abc123")
.reason("Confirmed by team lead."))
.type(OwnershipFeedbackType.OWNERSHIP_FEEDBACK));
try {
OwnershipFeedbackResponse result =
apiInstance.createOwnershipFeedback("res-1", OwnershipOwnerType.TEAM, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling CsmOwnershipApi#createOwnershipFeedback");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Submit feedback on an ownership inference returns "Created" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.csm_ownership_api import CSMOwnershipApi
from datadog_api_client.v2.model.ownership_feedback_action import OwnershipFeedbackAction
from datadog_api_client.v2.model.ownership_feedback_request import OwnershipFeedbackRequest
from datadog_api_client.v2.model.ownership_feedback_request_attributes import OwnershipFeedbackRequestAttributes
from datadog_api_client.v2.model.ownership_feedback_request_data import OwnershipFeedbackRequestData
from datadog_api_client.v2.model.ownership_feedback_type import OwnershipFeedbackType
from datadog_api_client.v2.model.ownership_owner_type import OwnershipOwnerType
body = OwnershipFeedbackRequest(
data=OwnershipFeedbackRequestData(
attributes=OwnershipFeedbackRequestAttributes(
action=OwnershipFeedbackAction.CONFIRM,
corrected_owner_handle="team-b",
corrected_owner_type="team",
inference_checksum="abc123",
reason="Confirmed by team lead.",
),
type=OwnershipFeedbackType.OWNERSHIP_FEEDBACK,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["create_ownership_feedback"] = True
with ApiClient(configuration) as api_client:
api_instance = CSMOwnershipApi(api_client)
response = api_instance.create_ownership_feedback(
resource_id="res-1", owner_type=OwnershipOwnerType.TEAM, body=body
)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Submit feedback on an ownership inference returns "Created" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
config.unstable_operations["v2.create_ownership_feedback".to_sym] = true
end
api_instance = DatadogAPIClient::V2::CSMOwnershipAPI.new
body = DatadogAPIClient::V2::OwnershipFeedbackRequest.new({
data: DatadogAPIClient::V2::OwnershipFeedbackRequestData.new({
attributes: DatadogAPIClient::V2::OwnershipFeedbackRequestAttributes.new({
action: DatadogAPIClient::V2::OwnershipFeedbackAction::CONFIRM,
corrected_owner_handle: "team-b",
corrected_owner_type: "team",
inference_checksum: "abc123",
reason: "Confirmed by team lead.",
}),
type: DatadogAPIClient::V2::OwnershipFeedbackType::OWNERSHIP_FEEDBACK,
}),
})
p api_instance.create_ownership_feedback("res-1", OwnershipOwnerType::TEAM, body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Submit feedback on an ownership inference returns "Created" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_csm_ownership::CSMOwnershipAPI;
use datadog_api_client::datadogV2::model::OwnershipFeedbackAction;
use datadog_api_client::datadogV2::model::OwnershipFeedbackRequest;
use datadog_api_client::datadogV2::model::OwnershipFeedbackRequestAttributes;
use datadog_api_client::datadogV2::model::OwnershipFeedbackRequestData;
use datadog_api_client::datadogV2::model::OwnershipFeedbackType;
use datadog_api_client::datadogV2::model::OwnershipOwnerType;
#[tokio::main]
async fn main() {
let body = OwnershipFeedbackRequest::new(OwnershipFeedbackRequestData::new(
OwnershipFeedbackRequestAttributes::new(
OwnershipFeedbackAction::CONFIRM,
"abc123".to_string(),
)
.corrected_owner_handle(Some("team-b".to_string()))
.corrected_owner_type(Some("team".to_string()))
.reason(Some("Confirmed by team lead.".to_string())),
OwnershipFeedbackType::OWNERSHIP_FEEDBACK,
));
let mut configuration = datadog::Configuration::new();
configuration.set_unstable_operation_enabled("v2.create_ownership_feedback", true);
let api = CSMOwnershipAPI::with_config(configuration);
let resp = api
.create_ownership_feedback("res-1".to_string(), OwnershipOwnerType::TEAM, body)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run/**
* Submit feedback on an ownership inference returns "Created" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
configuration.unstableOperations["v2.createOwnershipFeedback"] = true;
const apiInstance = new v2.CSMOwnershipApi(configuration);
const params: v2.CSMOwnershipApiCreateOwnershipFeedbackRequest = {
body: {
data: {
attributes: {
action: "confirm",
correctedOwnerHandle: "team-b",
correctedOwnerType: "team",
inferenceChecksum: "abc123",
reason: "Confirmed by team lead.",
},
type: "ownership_feedback",
},
},
resourceId: "res-1",
ownerType: "team",
};
apiInstance
.createOwnershipFeedback(params)
.then((data: v2.OwnershipFeedbackResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"