Submit feedback on an ownership inference
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}/feedbackDescripción general
Submit feedback on the current ownership inference for a resource and owner type. Valid actions are confirm, reject, correct, and persist.
The request must include the current inference checksum in inference_checksum. If the checksum does not match the current inference state, the endpoint returns 409 Conflict.
When action is correct, corrected_owner_handle and corrected_owner_type are required.
Argumentos
Parámetros de ruta
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, unknownSolicitud
Body Data (required)
data [required]The data wrapper for an ownership feedback request.
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"
}
}Respuesta
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"
]
}Ejemplo de código
# 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"