diff --git a/.generated-info b/.generated-info
index 1aabf0e6bb4e..3f951d9dd85c 100644
--- a/.generated-info
+++ b/.generated-info
@@ -1,4 +1,4 @@
{
- "spec_repo_commit": "8001cbb",
- "generated": "2025-08-13 20:28:25.331"
+ "spec_repo_commit": "c9f30db",
+ "generated": "2025-08-15 16:36:42.349"
}
diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml
index 5ab5923ba83d..795350a5934f 100644
--- a/.generator/schemas/v2/openapi.yaml
+++ b/.generator/schemas/v2/openapi.yaml
@@ -14454,6 +14454,10 @@ components:
description: Entity definition in raw JSON or YAML representation.
example: "apiVersion: v3\nkind: service\nmetadata:\n name: myservice\n"
type: string
+ EntityReference:
+ description: The unique reference for an IDP entity.
+ example: service:my-service
+ type: string
EntityRelationships:
description: Entity relationships.
properties:
@@ -43591,6 +43595,57 @@ components:
id:
$ref: '#/components/schemas/ApiID'
type: object
+ UpdateOutcomesAsyncAttributes:
+ description: The JSON:API attributes for a batched set of scorecard outcomes.
+ properties:
+ results:
+ description: Set of scorecard outcomes to update asynchronously.
+ items:
+ $ref: '#/components/schemas/UpdateOutcomesAsyncRequestItem'
+ type: array
+ type: object
+ UpdateOutcomesAsyncRequest:
+ description: Scorecard outcomes batch request.
+ properties:
+ data:
+ $ref: '#/components/schemas/UpdateOutcomesAsyncRequestData'
+ type: object
+ UpdateOutcomesAsyncRequestData:
+ description: Scorecard outcomes batch request data.
+ properties:
+ attributes:
+ $ref: '#/components/schemas/UpdateOutcomesAsyncAttributes'
+ type:
+ $ref: '#/components/schemas/UpdateOutcomesAsyncType'
+ type: object
+ UpdateOutcomesAsyncRequestItem:
+ description: Scorecard outcome for a single entity and rule.
+ properties:
+ entity_reference:
+ $ref: '#/components/schemas/EntityReference'
+ remarks:
+ description: Any remarks regarding the scorecard rule's evaluation, and
+ supports HTML hyperlinks.
+ example: 'See: Services'
+ type: string
+ rule_id:
+ $ref: '#/components/schemas/RuleId'
+ state:
+ $ref: '#/components/schemas/State'
+ required:
+ - rule_id
+ - entity_reference
+ - state
+ type: object
+ UpdateOutcomesAsyncType:
+ default: batched-outcome
+ description: The JSON:API type for scorecard outcomes.
+ enum:
+ - batched-outcome
+ example: batched-outcome
+ type: string
+ x-enum-varnames:
+ - BATCHED_OUTCOME
UpdateResourceEvaluationFiltersRequest:
description: Request object to update a resource filter.
properties:
@@ -61575,6 +61630,37 @@ paths:
resultsPath: data
x-unstable: '**Note**: This endpoint is in public beta.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).'
+ post:
+ description: Updates multiple scorecard rule outcomes in a single batched request.
+ operationId: UpdateScorecardOutcomesAsync
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateOutcomesAsyncRequest'
+ description: Set of scorecard outcomes.
+ required: true
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequestResponse'
+ '403':
+ $ref: '#/components/responses/ForbiddenResponse'
+ '429':
+ $ref: '#/components/responses/TooManyRequestsResponse'
+ security:
+ - apiKeyAuth: []
+ appKeyAuth: []
+ - AuthZ:
+ - apm_service_catalog_write
+ summary: Update Scorecard outcomes asynchronously
+ tags:
+ - Service Scorecards
+ x-codegen-request-body-name: body
+ x-unstable: '**Note**: This endpoint is in public beta.
+
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).'
/api/v2/scorecard/outcomes/batch:
post:
diff --git a/examples/v2/service-scorecards/UpdateScorecardOutcomesAsync.ts b/examples/v2/service-scorecards/UpdateScorecardOutcomesAsync.ts
new file mode 100644
index 000000000000..a4a16d429777
--- /dev/null
+++ b/examples/v2/service-scorecards/UpdateScorecardOutcomesAsync.ts
@@ -0,0 +1,36 @@
+/**
+ * Update Scorecard outcomes asynchronously returns "Accepted" response
+ */
+
+import { client, v2 } from "@datadog/datadog-api-client";
+
+const configuration = client.createConfiguration();
+configuration.unstableOperations["v2.updateScorecardOutcomesAsync"] = true;
+const apiInstance = new v2.ServiceScorecardsApi(configuration);
+
+const params: v2.ServiceScorecardsApiUpdateScorecardOutcomesAsyncRequest = {
+ body: {
+ data: {
+ attributes: {
+ results: [
+ {
+ entityReference: "service:my-service",
+ remarks: `See: Services`,
+ ruleId: "q8MQxk8TCqrHnWkx",
+ state: "pass",
+ },
+ ],
+ },
+ type: "batched-outcome",
+ },
+ },
+};
+
+apiInstance
+ .updateScorecardOutcomesAsync(params)
+ .then((data: any) => {
+ console.log(
+ "API called successfully. Returned data: " + JSON.stringify(data)
+ );
+ })
+ .catch((error: any) => console.error(error));
diff --git a/features/support/scenarios_model_mapping.ts b/features/support/scenarios_model_mapping.ts
index c35553405b4b..920a79db420d 100644
--- a/features/support/scenarios_model_mapping.ts
+++ b/features/support/scenarios_model_mapping.ts
@@ -7102,6 +7102,13 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = {
},
"operationResponseType": "OutcomesResponse",
},
+ "v2.UpdateScorecardOutcomesAsync": {
+ "body": {
+ "type": "UpdateOutcomesAsyncRequest",
+ "format": "",
+ },
+ "operationResponseType": "void",
+ },
"v2.CreateScorecardOutcomesBatch": {
"body": {
"type": "OutcomesBatchRequest",
diff --git a/features/v2/service_scorecards.feature b/features/v2/service_scorecards.feature
index 11d2c7f43287..8ecf48ff1d21 100644
--- a/features/v2/service_scorecards.feature
+++ b/features/v2/service_scorecards.feature
@@ -121,6 +121,22 @@ Feature: Service Scorecards
Then the response status is 200 OK
And the response has 4 items
+ @generated @skip @team:DataDog/service-catalog
+ Scenario: Update Scorecard outcomes asynchronously returns "Accepted" response
+ Given operation "UpdateScorecardOutcomesAsync" enabled
+ And new "UpdateScorecardOutcomesAsync" request
+ And body with value {"data": {"attributes": {"results": [{"entity_reference": "service:my-service", "remarks": "See: Services", "rule_id": "q8MQxk8TCqrHnWkx", "state": "pass"}]}, "type": "batched-outcome"}}
+ When the request is sent
+ Then the response status is 202 Accepted
+
+ @generated @skip @team:DataDog/service-catalog
+ Scenario: Update Scorecard outcomes asynchronously returns "Bad Request" response
+ Given operation "UpdateScorecardOutcomesAsync" enabled
+ And new "UpdateScorecardOutcomesAsync" request
+ And body with value {"data": {"attributes": {"results": [{"entity_reference": "service:my-service", "remarks": "See: Services", "rule_id": "q8MQxk8TCqrHnWkx", "state": "pass"}]}, "type": "batched-outcome"}}
+ When the request is sent
+ Then the response status is 400 Bad Request
+
@generated @skip @team:DataDog/service-catalog
Scenario: Update an existing rule returns "Bad Request" response
Given operation "UpdateScorecardRule" enabled
diff --git a/features/v2/undo.json b/features/v2/undo.json
index fd14fad09365..54c7d933a1db 100644
--- a/features/v2/undo.json
+++ b/features/v2/undo.json
@@ -2742,6 +2742,12 @@
"type": "safe"
}
},
+ "UpdateScorecardOutcomesAsync": {
+ "tag": "Service Scorecards",
+ "undo": {
+ "type": "idempotent"
+ }
+ },
"CreateScorecardOutcomesBatch": {
"tag": "Service Scorecards",
"undo": {
diff --git a/packages/datadog-api-client-common/configuration.ts b/packages/datadog-api-client-common/configuration.ts
index dc0ea267a5b2..336752a9da7e 100644
--- a/packages/datadog-api-client-common/configuration.ts
+++ b/packages/datadog-api-client-common/configuration.ts
@@ -298,6 +298,7 @@ export function createConfiguration(
"v2.deleteScorecardRule": false,
"v2.listScorecardOutcomes": false,
"v2.listScorecardRules": false,
+ "v2.updateScorecardOutcomesAsync": false,
"v2.updateScorecardRule": false,
"v2.createIncidentService": false,
"v2.deleteIncidentService": false,
diff --git a/packages/datadog-api-client-v2/apis/ServiceScorecardsApi.ts b/packages/datadog-api-client-v2/apis/ServiceScorecardsApi.ts
index 7686e26cad72..8b1f7b49abb5 100644
--- a/packages/datadog-api-client-v2/apis/ServiceScorecardsApi.ts
+++ b/packages/datadog-api-client-v2/apis/ServiceScorecardsApi.ts
@@ -25,6 +25,7 @@ import { OutcomesBatchRequest } from "../models/OutcomesBatchRequest";
import { OutcomesBatchResponse } from "../models/OutcomesBatchResponse";
import { OutcomesResponse } from "../models/OutcomesResponse";
import { OutcomesResponseDataItem } from "../models/OutcomesResponseDataItem";
+import { UpdateOutcomesAsyncRequest } from "../models/UpdateOutcomesAsyncRequest";
import { UpdateRuleRequest } from "../models/UpdateRuleRequest";
import { UpdateRuleResponse } from "../models/UpdateRuleResponse";
@@ -388,6 +389,55 @@ export class ServiceScorecardsApiRequestFactory extends BaseAPIRequestFactory {
return requestContext;
}
+ public async updateScorecardOutcomesAsync(
+ body: UpdateOutcomesAsyncRequest,
+ _options?: Configuration
+ ): Promise {
+ const _config = _options || this.configuration;
+
+ logger.warn("Using unstable operation 'updateScorecardOutcomesAsync'");
+ if (!_config.unstableOperations["v2.updateScorecardOutcomesAsync"]) {
+ throw new Error(
+ "Unstable operation 'updateScorecardOutcomesAsync' is disabled"
+ );
+ }
+
+ // verify required parameter 'body' is not null or undefined
+ if (body === null || body === undefined) {
+ throw new RequiredError("body", "updateScorecardOutcomesAsync");
+ }
+
+ // Path Params
+ const localVarPath = "/api/v2/scorecard/outcomes";
+
+ // Make Request Context
+ const requestContext = _config
+ .getServer("v2.ServiceScorecardsApi.updateScorecardOutcomesAsync")
+ .makeRequestContext(localVarPath, HttpMethod.POST);
+ requestContext.setHeaderParam("Accept", "*/*");
+ requestContext.setHttpConfig(_config.httpConfig);
+
+ // Body Params
+ const contentType = ObjectSerializer.getPreferredMediaType([
+ "application/json",
+ ]);
+ requestContext.setHeaderParam("Content-Type", contentType);
+ const serializedBody = ObjectSerializer.stringify(
+ ObjectSerializer.serialize(body, "UpdateOutcomesAsyncRequest", ""),
+ contentType
+ );
+ requestContext.setBody(serializedBody);
+
+ // Apply auth methods
+ applySecurityAuthentication(_config, requestContext, [
+ "apiKeyAuth",
+ "appKeyAuth",
+ "AuthZ",
+ ]);
+
+ return requestContext;
+ }
+
public async updateScorecardRule(
ruleId: string,
body: UpdateRuleRequest,
@@ -751,6 +801,64 @@ export class ServiceScorecardsApiResponseProcessor {
);
}
+ /**
+ * Unwraps the actual response sent by the server from the response context and deserializes the response content
+ * to the expected objects
+ *
+ * @params response Response returned by the server for a request to updateScorecardOutcomesAsync
+ * @throws ApiException if the response code was not in [200, 299]
+ */
+ public async updateScorecardOutcomesAsync(
+ response: ResponseContext
+ ): Promise {
+ const contentType = ObjectSerializer.normalizeMediaType(
+ response.headers["content-type"]
+ );
+ if (response.httpStatusCode === 202) {
+ return;
+ }
+ if (
+ response.httpStatusCode === 400 ||
+ response.httpStatusCode === 403 ||
+ response.httpStatusCode === 429
+ ) {
+ const bodyText = ObjectSerializer.parse(
+ await response.body.text(),
+ contentType
+ );
+ let body: APIErrorResponse;
+ try {
+ body = ObjectSerializer.deserialize(
+ bodyText,
+ "APIErrorResponse"
+ ) as APIErrorResponse;
+ } catch (error) {
+ logger.debug(`Got error deserializing error: ${error}`);
+ throw new ApiException(
+ response.httpStatusCode,
+ bodyText
+ );
+ }
+ throw new ApiException(response.httpStatusCode, body);
+ }
+
+ // Work around for missing responses in specification, e.g. for petstore.yaml
+ if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+ const body: void = ObjectSerializer.deserialize(
+ ObjectSerializer.parse(await response.body.text(), contentType),
+ "void",
+ ""
+ ) as void;
+ return body;
+ }
+
+ const body = (await response.body.text()) || "";
+ throw new ApiException(
+ response.httpStatusCode,
+ 'Unknown API Status Code!\nBody: "' + body + '"'
+ );
+ }
+
/**
* Unwraps the actual response sent by the server from the response context and deserializes the response content
* to the expected objects
@@ -944,6 +1052,14 @@ export interface ServiceScorecardsApiListScorecardRulesRequest {
fieldsScorecard?: string;
}
+export interface ServiceScorecardsApiUpdateScorecardOutcomesAsyncRequest {
+ /**
+ * Set of scorecard outcomes.
+ * @type UpdateOutcomesAsyncRequest
+ */
+ body: UpdateOutcomesAsyncRequest;
+}
+
export interface ServiceScorecardsApiUpdateScorecardRuleRequest {
/**
* The ID of the rule.
@@ -1201,6 +1317,27 @@ export class ServiceScorecardsApi {
}
}
+ /**
+ * Updates multiple scorecard rule outcomes in a single batched request.
+ * @param param The request object
+ */
+ public updateScorecardOutcomesAsync(
+ param: ServiceScorecardsApiUpdateScorecardOutcomesAsyncRequest,
+ options?: Configuration
+ ): Promise {
+ const requestContextPromise =
+ this.requestFactory.updateScorecardOutcomesAsync(param.body, options);
+ return requestContextPromise.then((requestContext) => {
+ return this.configuration.httpApi
+ .send(requestContext)
+ .then((responseContext) => {
+ return this.responseProcessor.updateScorecardOutcomesAsync(
+ responseContext
+ );
+ });
+ });
+ }
+
/**
* Updates an existing rule.
* @param param The request object
diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts
index 133f2727d8ab..b514c83337a0 100644
--- a/packages/datadog-api-client-v2/index.ts
+++ b/packages/datadog-api-client-v2/index.ts
@@ -666,6 +666,7 @@ export {
ServiceScorecardsApiDeleteScorecardRuleRequest,
ServiceScorecardsApiListScorecardOutcomesRequest,
ServiceScorecardsApiListScorecardRulesRequest,
+ ServiceScorecardsApiUpdateScorecardOutcomesAsyncRequest,
ServiceScorecardsApiUpdateScorecardRuleRequest,
ServiceScorecardsApi,
} from "./apis/ServiceScorecardsApi";
@@ -3513,6 +3514,11 @@ export { UpdateCustomFrameworkResponse } from "./models/UpdateCustomFrameworkRes
export { UpdateOpenAPIResponse } from "./models/UpdateOpenAPIResponse";
export { UpdateOpenAPIResponseAttributes } from "./models/UpdateOpenAPIResponseAttributes";
export { UpdateOpenAPIResponseData } from "./models/UpdateOpenAPIResponseData";
+export { UpdateOutcomesAsyncAttributes } from "./models/UpdateOutcomesAsyncAttributes";
+export { UpdateOutcomesAsyncRequest } from "./models/UpdateOutcomesAsyncRequest";
+export { UpdateOutcomesAsyncRequestData } from "./models/UpdateOutcomesAsyncRequestData";
+export { UpdateOutcomesAsyncRequestItem } from "./models/UpdateOutcomesAsyncRequestItem";
+export { UpdateOutcomesAsyncType } from "./models/UpdateOutcomesAsyncType";
export { UpdateResourceEvaluationFiltersRequest } from "./models/UpdateResourceEvaluationFiltersRequest";
export { UpdateResourceEvaluationFiltersRequestData } from "./models/UpdateResourceEvaluationFiltersRequestData";
export { UpdateResourceEvaluationFiltersResponse } from "./models/UpdateResourceEvaluationFiltersResponse";
diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts
index 65e221db36e3..b42b0b7fd9d4 100644
--- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts
+++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts
@@ -2015,6 +2015,10 @@ import { UpdateCustomFrameworkResponse } from "./UpdateCustomFrameworkResponse";
import { UpdateOpenAPIResponse } from "./UpdateOpenAPIResponse";
import { UpdateOpenAPIResponseAttributes } from "./UpdateOpenAPIResponseAttributes";
import { UpdateOpenAPIResponseData } from "./UpdateOpenAPIResponseData";
+import { UpdateOutcomesAsyncAttributes } from "./UpdateOutcomesAsyncAttributes";
+import { UpdateOutcomesAsyncRequest } from "./UpdateOutcomesAsyncRequest";
+import { UpdateOutcomesAsyncRequestData } from "./UpdateOutcomesAsyncRequestData";
+import { UpdateOutcomesAsyncRequestItem } from "./UpdateOutcomesAsyncRequestItem";
import { UpdateResourceEvaluationFiltersRequest } from "./UpdateResourceEvaluationFiltersRequest";
import { UpdateResourceEvaluationFiltersRequestData } from "./UpdateResourceEvaluationFiltersRequestData";
import { UpdateResourceEvaluationFiltersResponse } from "./UpdateResourceEvaluationFiltersResponse";
@@ -3390,6 +3394,7 @@ const enumsMap: { [key: string]: any[] } = {
TimeseriesFormulaResponseType: ["timeseries_response"],
TokenType: ["SECRET"],
TriggerSource: ["security_findings", "security_signals"],
+ UpdateOutcomesAsyncType: ["batched-outcome"],
Urgency: ["low", "high", "dynamic"],
UsageTimeSeriesType: ["usage_timeseries"],
UserAttributesStatus: ["active", "deactivated", "pending"],
@@ -5859,6 +5864,10 @@ const typeMap: { [index: string]: any } = {
UpdateOpenAPIResponse: UpdateOpenAPIResponse,
UpdateOpenAPIResponseAttributes: UpdateOpenAPIResponseAttributes,
UpdateOpenAPIResponseData: UpdateOpenAPIResponseData,
+ UpdateOutcomesAsyncAttributes: UpdateOutcomesAsyncAttributes,
+ UpdateOutcomesAsyncRequest: UpdateOutcomesAsyncRequest,
+ UpdateOutcomesAsyncRequestData: UpdateOutcomesAsyncRequestData,
+ UpdateOutcomesAsyncRequestItem: UpdateOutcomesAsyncRequestItem,
UpdateResourceEvaluationFiltersRequest:
UpdateResourceEvaluationFiltersRequest,
UpdateResourceEvaluationFiltersRequestData:
diff --git a/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncAttributes.ts b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncAttributes.ts
new file mode 100644
index 000000000000..4ca118c0ffd9
--- /dev/null
+++ b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncAttributes.ts
@@ -0,0 +1,53 @@
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+import { UpdateOutcomesAsyncRequestItem } from "./UpdateOutcomesAsyncRequestItem";
+
+import { AttributeTypeMap } from "../../datadog-api-client-common/util";
+
+/**
+ * The JSON:API attributes for a batched set of scorecard outcomes.
+ */
+export class UpdateOutcomesAsyncAttributes {
+ /**
+ * Set of scorecard outcomes to update asynchronously.
+ */
+ "results"?: Array;
+
+ /**
+ * A container for additional, undeclared properties.
+ * This is a holder for any undeclared properties as specified with
+ * the 'additionalProperties' keyword in the OAS document.
+ */
+ "additionalProperties"?: { [key: string]: any };
+
+ /**
+ * @ignore
+ */
+ "_unparsed"?: boolean;
+
+ /**
+ * @ignore
+ */
+ static readonly attributeTypeMap: AttributeTypeMap = {
+ results: {
+ baseName: "results",
+ type: "Array",
+ },
+ additionalProperties: {
+ baseName: "additionalProperties",
+ type: "any",
+ },
+ };
+
+ /**
+ * @ignore
+ */
+ static getAttributeTypeMap(): AttributeTypeMap {
+ return UpdateOutcomesAsyncAttributes.attributeTypeMap;
+ }
+
+ public constructor() {}
+}
diff --git a/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequest.ts b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequest.ts
new file mode 100644
index 000000000000..cdffb0c05e64
--- /dev/null
+++ b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequest.ts
@@ -0,0 +1,53 @@
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+import { UpdateOutcomesAsyncRequestData } from "./UpdateOutcomesAsyncRequestData";
+
+import { AttributeTypeMap } from "../../datadog-api-client-common/util";
+
+/**
+ * Scorecard outcomes batch request.
+ */
+export class UpdateOutcomesAsyncRequest {
+ /**
+ * Scorecard outcomes batch request data.
+ */
+ "data"?: UpdateOutcomesAsyncRequestData;
+
+ /**
+ * A container for additional, undeclared properties.
+ * This is a holder for any undeclared properties as specified with
+ * the 'additionalProperties' keyword in the OAS document.
+ */
+ "additionalProperties"?: { [key: string]: any };
+
+ /**
+ * @ignore
+ */
+ "_unparsed"?: boolean;
+
+ /**
+ * @ignore
+ */
+ static readonly attributeTypeMap: AttributeTypeMap = {
+ data: {
+ baseName: "data",
+ type: "UpdateOutcomesAsyncRequestData",
+ },
+ additionalProperties: {
+ baseName: "additionalProperties",
+ type: "any",
+ },
+ };
+
+ /**
+ * @ignore
+ */
+ static getAttributeTypeMap(): AttributeTypeMap {
+ return UpdateOutcomesAsyncRequest.attributeTypeMap;
+ }
+
+ public constructor() {}
+}
diff --git a/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequestData.ts b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequestData.ts
new file mode 100644
index 000000000000..dbe5ade03f48
--- /dev/null
+++ b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequestData.ts
@@ -0,0 +1,62 @@
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+import { UpdateOutcomesAsyncAttributes } from "./UpdateOutcomesAsyncAttributes";
+import { UpdateOutcomesAsyncType } from "./UpdateOutcomesAsyncType";
+
+import { AttributeTypeMap } from "../../datadog-api-client-common/util";
+
+/**
+ * Scorecard outcomes batch request data.
+ */
+export class UpdateOutcomesAsyncRequestData {
+ /**
+ * The JSON:API attributes for a batched set of scorecard outcomes.
+ */
+ "attributes"?: UpdateOutcomesAsyncAttributes;
+ /**
+ * The JSON:API type for scorecard outcomes.
+ */
+ "type"?: UpdateOutcomesAsyncType;
+
+ /**
+ * A container for additional, undeclared properties.
+ * This is a holder for any undeclared properties as specified with
+ * the 'additionalProperties' keyword in the OAS document.
+ */
+ "additionalProperties"?: { [key: string]: any };
+
+ /**
+ * @ignore
+ */
+ "_unparsed"?: boolean;
+
+ /**
+ * @ignore
+ */
+ static readonly attributeTypeMap: AttributeTypeMap = {
+ attributes: {
+ baseName: "attributes",
+ type: "UpdateOutcomesAsyncAttributes",
+ },
+ type: {
+ baseName: "type",
+ type: "UpdateOutcomesAsyncType",
+ },
+ additionalProperties: {
+ baseName: "additionalProperties",
+ type: "any",
+ },
+ };
+
+ /**
+ * @ignore
+ */
+ static getAttributeTypeMap(): AttributeTypeMap {
+ return UpdateOutcomesAsyncRequestData.attributeTypeMap;
+ }
+
+ public constructor() {}
+}
diff --git a/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequestItem.ts b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequestItem.ts
new file mode 100644
index 000000000000..3b51c21f288e
--- /dev/null
+++ b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncRequestItem.ts
@@ -0,0 +1,80 @@
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+import { State } from "./State";
+
+import { AttributeTypeMap } from "../../datadog-api-client-common/util";
+
+/**
+ * Scorecard outcome for a single entity and rule.
+ */
+export class UpdateOutcomesAsyncRequestItem {
+ /**
+ * The unique reference for an IDP entity.
+ */
+ "entityReference": string;
+ /**
+ * Any remarks regarding the scorecard rule's evaluation, and supports HTML hyperlinks.
+ */
+ "remarks"?: string;
+ /**
+ * The unique ID for a scorecard rule.
+ */
+ "ruleId": string;
+ /**
+ * The state of the rule evaluation.
+ */
+ "state": State;
+
+ /**
+ * A container for additional, undeclared properties.
+ * This is a holder for any undeclared properties as specified with
+ * the 'additionalProperties' keyword in the OAS document.
+ */
+ "additionalProperties"?: { [key: string]: any };
+
+ /**
+ * @ignore
+ */
+ "_unparsed"?: boolean;
+
+ /**
+ * @ignore
+ */
+ static readonly attributeTypeMap: AttributeTypeMap = {
+ entityReference: {
+ baseName: "entity_reference",
+ type: "string",
+ required: true,
+ },
+ remarks: {
+ baseName: "remarks",
+ type: "string",
+ },
+ ruleId: {
+ baseName: "rule_id",
+ type: "string",
+ required: true,
+ },
+ state: {
+ baseName: "state",
+ type: "State",
+ required: true,
+ },
+ additionalProperties: {
+ baseName: "additionalProperties",
+ type: "any",
+ },
+ };
+
+ /**
+ * @ignore
+ */
+ static getAttributeTypeMap(): AttributeTypeMap {
+ return UpdateOutcomesAsyncRequestItem.attributeTypeMap;
+ }
+
+ public constructor() {}
+}
diff --git a/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncType.ts b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncType.ts
new file mode 100644
index 000000000000..827631d6fb95
--- /dev/null
+++ b/packages/datadog-api-client-v2/models/UpdateOutcomesAsyncType.ts
@@ -0,0 +1,14 @@
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+
+import { UnparsedObject } from "../../datadog-api-client-common/util";
+
+/**
+ * The JSON:API type for scorecard outcomes.
+ */
+
+export type UpdateOutcomesAsyncType = typeof BATCHED_OUTCOME | UnparsedObject;
+export const BATCHED_OUTCOME = "batched-outcome";