Submit final evidence for one artifact and get the bundle's updated state
Records content as the final Result for evidenceId on this bundle/policy, recomputes classification if the artifact affects it, then returns the same response shape as POST /rpc/compute-policy. Use this — not POST /results — when you also want the recomputed classification and the bundle’s current results, approvals, and findings back in the same response.
evidenceId comes from the policy’s evidence definition (GET /policies/{id}, stages[].evidenceSet[].id). bundleId comes from POST /bundles. Returns 409 if the bundle is read-only or has evidenceRestricted set — either case rejects before any write happens.
content is a map of artifactId → value; the required shape depends on the artifact’s artifactType/details.type (read via GET /policies/{id}):
| artifactType | details.type | content shape |
|---|---|---|
input | textinput / textarea | string |
input | numeric | number |
input | date | string |
input | radio / select | string, must equal one of details.options[].value |
input | checkbox / multiselect | string[], each must equal one of details.options[].value |
guidance | — | no content needed; details.text is display-only |
metadata | file | {"commit": string, "files": [{"name","path","sizeLabel"}, ...]} |
metadata | modelmetric | [{"<metricName>": "<value>"}, ...], one entry per row, a value for every metric named in details.metrics[].name |
metadata | monitorcheck | not submitted here — populated via POST /rpc/analyze-monitor-model |
policyScriptedCheck | — | {"jobId": string, "parameters"?: {...}, "noDetails": boolean} |
For policyScriptedCheck: run the job described in details via POST /api/jobs/v1/jobs (Domino’s public Jobs API) first, then submit its jobId here. That API’s field names differ from details: send details.command as runCommand, details.environmentId as environmentId, details.hardwareTierId as hardwareTier; projectId is required and comes from GET /bundles/{id} (.projectId), not from details. runCommand is a shell or Python file that must already exist in the project’s file system (e.g. app.py). If details defines named parameters[], command contains literal placeholders ${<param.name>} for each — runCommand is details.command with each ${<param.name>} placeholder substituted by its actual value; the Jobs API only ever sees this fully-substituted string, not the parameter names/values separately. Then include the same values under parameters (keyed by name) in this content, as a record of what was actually run. Set noDetails to true only if you ran an ad-hoc command with no defined parameters; set it to false when running the check’s configured command/parameters as-is. Job output isn’t included in this content — fetch it separately via GET /api/jobs/beta/jobs/{jobId}. | ||
command, environmentId, and hardwareTierId are all optional on details — a policy can define a scripted check without any of them. If command is absent, there’s no fixed command to run; supply your own runCommand in the POST /api/jobs/v1/jobs call — it still must be a shell or Python file that already exists in the project’s file system, the same as a configured command. If environmentId/hardwareTierId are absent, you can omit them from that call too: it defaults environmentId to the project’s default environment and hardwareTier to the project’s default hardware tier. To use a specific one instead, list the options yourself first — GET /api/environments/beta/environments or GET /api/hardwaretiers/v1/hardwaretiers — and pass the chosen ID explicitly. | ||
| Related: |
- POST /results (submit a result without recomputing classification)
- GET /policies/ (read each artifact’s
detailsto determine its content shape before submitting)
curl --request POST \
--url https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy \
--header 'Content-Type: application/json' \
--data '
{
"bundleId": "<string>",
"content": {},
"evidenceId": "<string>",
"policyId": "<string>"
}
'import requests
url = "https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy"
payload = {
"bundleId": "<string>",
"content": {},
"evidenceId": "<string>",
"policyId": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
bundleId: '<string>',
content: {},
evidenceId: '<string>',
policyId: '<string>'
})
};
fetch('https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'bundleId' => '<string>',
'content' => [
],
'evidenceId' => '<string>',
'policyId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy"
payload := strings.NewReader("{\n \"bundleId\": \"<string>\",\n \"content\": {},\n \"evidenceId\": \"<string>\",\n \"policyId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy")
.header("Content-Type", "application/json")
.body("{\n \"bundleId\": \"<string>\",\n \"content\": {},\n \"evidenceId\": \"<string>\",\n \"policyId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"bundleId\": \"<string>\",\n \"content\": {},\n \"evidenceId\": \"<string>\",\n \"policyId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"approvals": [
{
"approvers": [
{
"editable": true,
"id": "<string>",
"name": "<string>",
"showByDefault": true,
"fromOrganizationUserId": "<string>",
"isOrganizationUser": true
}
],
"bundleId": "<string>",
"id": "<string>",
"isUserApprover": true,
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"revalidation": {
"createdAt": "<string>",
"createdBy": {
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"userName": "<string>"
},
"firstApprovedAt": "<string>",
"isOverride": true,
"nextDeadlineAt": "<string>",
"revalidationConfig": {
"openWindowDaysBefore": 2,
"recurring": {
"every": 2,
"unit": "month",
"startDate": "<string>"
},
"type": "absolute"
},
"revalidationPeriodStartsAt": "<string>",
"updatedAt": "<string>",
"updatedBy": {
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"userName": "<string>"
}
},
"stageApprovalId": "<string>",
"status": "PendingSubmission",
"taskId": "<string>",
"updatedAt": "<string>",
"updatedBy": {}
}
],
"bundle": {
"id": "<string>",
"state": "Active",
"attachments": [
{
"approvalTimelineMap": {},
"createdAt": "<string>",
"createdBy": {},
"id": "<string>",
"identifier": {},
"source": "AUTO",
"type": "ModelVersion"
}
],
"classificationValue": "<string>",
"commentsCount": 123,
"createdAt": "<string>",
"createdBy": {},
"currentStageInfo": {
"openFindingsCount": 123,
"pendingApprovalsCount": 123,
"status": "NotStarted"
},
"enforcedPolicyIds": [
"<string>"
],
"evidenceRestricted": true,
"gates": [
{
"approvals": [
{
"id": "<string>",
"name": "<string>",
"stageApprovalId": "<string>",
"status": "PendingSubmission"
}
],
"bundleId": "<string>",
"id": "<string>",
"isOpen": true,
"name": "<string>",
"policyGateId": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"reason": "<string>",
"resources": [
{
"action": "Deploy",
"failOpen": true,
"parameters": {}
}
]
}
],
"hasRevalidationSchedule": true,
"name": "<string>",
"policies": [
{
"allowProjectApprovers": true,
"bundleId": "<string>",
"classificationValue": "<string>",
"compliantToCurrentStage": true,
"createdAt": "<string>",
"deactivatedAt": "<string>",
"enforceSequentialOrder": true,
"hasRevalidationSchedule": true,
"isLatestVersion": true,
"isPolicyArchived": true,
"policyId": "<string>",
"policyName": "<string>",
"policyVersion": "<string>",
"policyVersionId": "<string>",
"stage": "<string>",
"stageAssignee": {
"id": "<string>",
"name": "<string>"
},
"upgradeRequired": true
}
],
"policyId": "<string>",
"policyName": "<string>",
"policyVersion": "<string>",
"policyVersionId": "<string>",
"projectId": "<string>",
"projectName": "<string>",
"projectOwner": "<string>",
"stage": "<string>",
"stageApprovals": [
{
"approvers": [
{
"editable": true,
"id": "<string>",
"name": "<string>",
"showByDefault": true,
"fromOrganizationUserId": "<string>",
"isOrganizationUser": true
}
],
"evidence": {
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
},
"id": "<string>",
"name": "<string>",
"policyEntityId": "<string>",
"revalidationConfig": {
"openWindowDaysBefore": 2,
"recurring": {
"every": 2,
"unit": "month",
"startDate": "<string>"
},
"type": "absolute"
}
}
],
"stageAssignee": {
"id": "<string>",
"name": "<string>"
},
"stages": [
{
"assignedAt": "<string>",
"assignee": {
"id": "<string>",
"name": "<string>"
},
"bundleId": "<string>",
"stage": {
"approvals": [
{
"approvers": [
{
"editable": true,
"id": "<string>",
"name": "<string>",
"showByDefault": true,
"fromOrganizationUserId": "<string>",
"isOrganizationUser": true
}
],
"evidence": {
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
},
"id": "<string>",
"name": "<string>",
"policyEntityId": "<string>",
"revalidationConfig": {
"openWindowDaysBefore": 2,
"recurring": {
"every": 2,
"unit": "month",
"startDate": "<string>"
},
"type": "absolute"
}
}
],
"evidenceSet": [
{
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
}
],
"id": "<string>",
"name": "<string>",
"notifyOnTransition": true,
"policyEntityId": "<string>",
"policyVersionId": "<string>"
},
"stageId": "<string>"
}
]
},
"bundleStages": [
{
"assignedAt": "<string>",
"assignee": {
"id": "<string>",
"name": "<string>"
},
"bundleId": "<string>",
"stage": {
"approvals": [
{
"approvers": [
{
"editable": true,
"id": "<string>",
"name": "<string>",
"showByDefault": true,
"fromOrganizationUserId": "<string>",
"isOrganizationUser": true
}
],
"evidence": {
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
},
"id": "<string>",
"name": "<string>",
"policyEntityId": "<string>",
"revalidationConfig": {
"openWindowDaysBefore": 2,
"recurring": {
"every": 2,
"unit": "month",
"startDate": "<string>"
},
"type": "absolute"
}
}
],
"evidenceSet": [
{
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
}
],
"id": "<string>",
"name": "<string>",
"notifyOnTransition": true,
"policyEntityId": "<string>",
"policyVersionId": "<string>"
},
"stageId": "<string>"
}
],
"commentsInfo": {
"approvalCommentsCountMap": {},
"artifactCommentsCountMap": {},
"bundleCommentsCount": 123
},
"drafts": [
{
"artifactContent": "<unknown>",
"artifactId": "<string>",
"bundleId": "<string>",
"evidenceId": "<string>",
"id": "<string>",
"updatedAt": "<string>",
"userId": "<string>"
}
],
"findingsInfo": {
"approvalFindingsCountMap": {},
"approvalFindingsMap": {},
"artifactFindingsCountMap": {},
"bundleFindingsCount": 123
},
"isUserApprover": true,
"policy": {
"allowProjectApprovers": true,
"archived": true,
"classificationArtifactMap": {},
"classificationRule": "<string>",
"createdAt": "<string>",
"createdBy": {},
"description": "<string>",
"enforceSequentialOrder": true,
"gates": [
{
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"resources": [
{
"action": "Deploy",
"failOpen": true,
"parameters": {}
}
]
}
],
"id": "<string>",
"labels": {},
"name": "<string>",
"parentId": "<string>",
"simpleClassificationQuestionId": "<string>",
"stages": [
{
"approvals": [
{
"approvers": [
{
"editable": true,
"id": "<string>",
"name": "<string>",
"showByDefault": true,
"fromOrganizationUserId": "<string>",
"isOrganizationUser": true
}
],
"evidence": {
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
},
"id": "<string>",
"name": "<string>",
"policyEntityId": "<string>",
"revalidationConfig": {
"openWindowDaysBefore": 2,
"recurring": {
"every": 2,
"unit": "month",
"startDate": "<string>"
},
"type": "absolute"
}
}
],
"evidenceSet": [
{
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
}
],
"id": "<string>",
"name": "<string>",
"notifyOnTransition": true,
"policyEntityId": "<string>",
"policyVersionId": "<string>"
}
],
"status": "Draft",
"taxonomyProperties": [
{
"description": "<string>",
"groupName": "<string>",
"propertyId": "<string>",
"propertyLabel": "<string>",
"type": "<string>",
"value": "<string>",
"values": [
"<string>"
]
}
],
"taxonomyTags": [
{
"description": "<string>",
"id": "<string>",
"label": "<string>",
"namespaceId": "<string>",
"namespaceLabel": "<string>"
}
],
"updatedAt": "<string>",
"updatedBy": {}
},
"results": [
{
"artifactContent": "<unknown>",
"artifactId": "<string>",
"bundleId": "<string>",
"createdAt": "<string>",
"createdBy": {},
"evidenceId": "<string>",
"id": "<string>",
"isLatest": true
}
]
}{
"code": "BUNDLE_REQUIRES_POLICY",
"message": "<string>"
}{
"code": "BUNDLE_REQUIRES_POLICY",
"message": "<string>"
}{
"code": "BUNDLE_REQUIRES_POLICY",
"message": "<string>"
}{
"code": "BUNDLE_REQUIRES_POLICY",
"message": "<string>"
}{
"code": "BUNDLE_REQUIRES_POLICY",
"message": "<string>"
}Body
Request for submitting result and computing policy
Response
OK
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Indicates if the current user is an approver for any of the approvals in this bundle policy
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy \
--header 'Content-Type: application/json' \
--data '
{
"bundleId": "<string>",
"content": {},
"evidenceId": "<string>",
"policyId": "<string>"
}
'import requests
url = "https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy"
payload = {
"bundleId": "<string>",
"content": {},
"evidenceId": "<string>",
"policyId": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
bundleId: '<string>',
content: {},
evidenceId: '<string>',
policyId: '<string>'
})
};
fetch('https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'bundleId' => '<string>',
'content' => [
],
'evidenceId' => '<string>',
'policyId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy"
payload := strings.NewReader("{\n \"bundleId\": \"<string>\",\n \"content\": {},\n \"evidenceId\": \"<string>\",\n \"policyId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy")
.header("Content-Type", "application/json")
.body("{\n \"bundleId\": \"<string>\",\n \"content\": {},\n \"evidenceId\": \"<string>\",\n \"policyId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/api/governance/v1/rpc/submit-result-to-policy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"bundleId\": \"<string>\",\n \"content\": {},\n \"evidenceId\": \"<string>\",\n \"policyId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"approvals": [
{
"approvers": [
{
"editable": true,
"id": "<string>",
"name": "<string>",
"showByDefault": true,
"fromOrganizationUserId": "<string>",
"isOrganizationUser": true
}
],
"bundleId": "<string>",
"id": "<string>",
"isUserApprover": true,
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"revalidation": {
"createdAt": "<string>",
"createdBy": {
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"userName": "<string>"
},
"firstApprovedAt": "<string>",
"isOverride": true,
"nextDeadlineAt": "<string>",
"revalidationConfig": {
"openWindowDaysBefore": 2,
"recurring": {
"every": 2,
"unit": "month",
"startDate": "<string>"
},
"type": "absolute"
},
"revalidationPeriodStartsAt": "<string>",
"updatedAt": "<string>",
"updatedBy": {
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"userName": "<string>"
}
},
"stageApprovalId": "<string>",
"status": "PendingSubmission",
"taskId": "<string>",
"updatedAt": "<string>",
"updatedBy": {}
}
],
"bundle": {
"id": "<string>",
"state": "Active",
"attachments": [
{
"approvalTimelineMap": {},
"createdAt": "<string>",
"createdBy": {},
"id": "<string>",
"identifier": {},
"source": "AUTO",
"type": "ModelVersion"
}
],
"classificationValue": "<string>",
"commentsCount": 123,
"createdAt": "<string>",
"createdBy": {},
"currentStageInfo": {
"openFindingsCount": 123,
"pendingApprovalsCount": 123,
"status": "NotStarted"
},
"enforcedPolicyIds": [
"<string>"
],
"evidenceRestricted": true,
"gates": [
{
"approvals": [
{
"id": "<string>",
"name": "<string>",
"stageApprovalId": "<string>",
"status": "PendingSubmission"
}
],
"bundleId": "<string>",
"id": "<string>",
"isOpen": true,
"name": "<string>",
"policyGateId": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"reason": "<string>",
"resources": [
{
"action": "Deploy",
"failOpen": true,
"parameters": {}
}
]
}
],
"hasRevalidationSchedule": true,
"name": "<string>",
"policies": [
{
"allowProjectApprovers": true,
"bundleId": "<string>",
"classificationValue": "<string>",
"compliantToCurrentStage": true,
"createdAt": "<string>",
"deactivatedAt": "<string>",
"enforceSequentialOrder": true,
"hasRevalidationSchedule": true,
"isLatestVersion": true,
"isPolicyArchived": true,
"policyId": "<string>",
"policyName": "<string>",
"policyVersion": "<string>",
"policyVersionId": "<string>",
"stage": "<string>",
"stageAssignee": {
"id": "<string>",
"name": "<string>"
},
"upgradeRequired": true
}
],
"policyId": "<string>",
"policyName": "<string>",
"policyVersion": "<string>",
"policyVersionId": "<string>",
"projectId": "<string>",
"projectName": "<string>",
"projectOwner": "<string>",
"stage": "<string>",
"stageApprovals": [
{
"approvers": [
{
"editable": true,
"id": "<string>",
"name": "<string>",
"showByDefault": true,
"fromOrganizationUserId": "<string>",
"isOrganizationUser": true
}
],
"evidence": {
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
},
"id": "<string>",
"name": "<string>",
"policyEntityId": "<string>",
"revalidationConfig": {
"openWindowDaysBefore": 2,
"recurring": {
"every": 2,
"unit": "month",
"startDate": "<string>"
},
"type": "absolute"
}
}
],
"stageAssignee": {
"id": "<string>",
"name": "<string>"
},
"stages": [
{
"assignedAt": "<string>",
"assignee": {
"id": "<string>",
"name": "<string>"
},
"bundleId": "<string>",
"stage": {
"approvals": [
{
"approvers": [
{
"editable": true,
"id": "<string>",
"name": "<string>",
"showByDefault": true,
"fromOrganizationUserId": "<string>",
"isOrganizationUser": true
}
],
"evidence": {
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
},
"id": "<string>",
"name": "<string>",
"policyEntityId": "<string>",
"revalidationConfig": {
"openWindowDaysBefore": 2,
"recurring": {
"every": 2,
"unit": "month",
"startDate": "<string>"
},
"type": "absolute"
}
}
],
"evidenceSet": [
{
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
}
],
"id": "<string>",
"name": "<string>",
"notifyOnTransition": true,
"policyEntityId": "<string>",
"policyVersionId": "<string>"
},
"stageId": "<string>"
}
]
},
"bundleStages": [
{
"assignedAt": "<string>",
"assignee": {
"id": "<string>",
"name": "<string>"
},
"bundleId": "<string>",
"stage": {
"approvals": [
{
"approvers": [
{
"editable": true,
"id": "<string>",
"name": "<string>",
"showByDefault": true,
"fromOrganizationUserId": "<string>",
"isOrganizationUser": true
}
],
"evidence": {
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
},
"id": "<string>",
"name": "<string>",
"policyEntityId": "<string>",
"revalidationConfig": {
"openWindowDaysBefore": 2,
"recurring": {
"every": 2,
"unit": "month",
"startDate": "<string>"
},
"type": "absolute"
}
}
],
"evidenceSet": [
{
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
}
],
"id": "<string>",
"name": "<string>",
"notifyOnTransition": true,
"policyEntityId": "<string>",
"policyVersionId": "<string>"
},
"stageId": "<string>"
}
],
"commentsInfo": {
"approvalCommentsCountMap": {},
"artifactCommentsCountMap": {},
"bundleCommentsCount": 123
},
"drafts": [
{
"artifactContent": "<unknown>",
"artifactId": "<string>",
"bundleId": "<string>",
"evidenceId": "<string>",
"id": "<string>",
"updatedAt": "<string>",
"userId": "<string>"
}
],
"findingsInfo": {
"approvalFindingsCountMap": {},
"approvalFindingsMap": {},
"artifactFindingsCountMap": {},
"bundleFindingsCount": 123
},
"isUserApprover": true,
"policy": {
"allowProjectApprovers": true,
"archived": true,
"classificationArtifactMap": {},
"classificationRule": "<string>",
"createdAt": "<string>",
"createdBy": {},
"description": "<string>",
"enforceSequentialOrder": true,
"gates": [
{
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"resources": [
{
"action": "Deploy",
"failOpen": true,
"parameters": {}
}
]
}
],
"id": "<string>",
"labels": {},
"name": "<string>",
"parentId": "<string>",
"simpleClassificationQuestionId": "<string>",
"stages": [
{
"approvals": [
{
"approvers": [
{
"editable": true,
"id": "<string>",
"name": "<string>",
"showByDefault": true,
"fromOrganizationUserId": "<string>",
"isOrganizationUser": true
}
],
"evidence": {
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
},
"id": "<string>",
"name": "<string>",
"policyEntityId": "<string>",
"revalidationConfig": {
"openWindowDaysBefore": 2,
"recurring": {
"every": 2,
"unit": "month",
"startDate": "<string>"
},
"type": "absolute"
}
}
],
"evidenceSet": [
{
"artifacts": [
{
"artifactType": "input",
"details": {},
"id": "<string>",
"policyEntityId": "<string>",
"required": true,
"visibilityRule": "<string>",
"visible": true
}
],
"createdAt": "<string>",
"description": "<string>",
"externalId": "<string>",
"id": "<string>",
"name": "<string>",
"policyId": "<string>",
"policyVersionId": "<string>",
"scope": "Global",
"visible": true
}
],
"id": "<string>",
"name": "<string>",
"notifyOnTransition": true,
"policyEntityId": "<string>",
"policyVersionId": "<string>"
}
],
"status": "Draft",
"taxonomyProperties": [
{
"description": "<string>",
"groupName": "<string>",
"propertyId": "<string>",
"propertyLabel": "<string>",
"type": "<string>",
"value": "<string>",
"values": [
"<string>"
]
}
],
"taxonomyTags": [
{
"description": "<string>",
"id": "<string>",
"label": "<string>",
"namespaceId": "<string>",
"namespaceLabel": "<string>"
}
],
"updatedAt": "<string>",
"updatedBy": {}
},
"results": [
{
"artifactContent": "<unknown>",
"artifactId": "<string>",
"bundleId": "<string>",
"createdAt": "<string>",
"createdBy": {},
"evidenceId": "<string>",
"id": "<string>",
"isLatest": true
}
]
}{
"code": "BUNDLE_REQUIRES_POLICY",
"message": "<string>"
}{
"code": "BUNDLE_REQUIRES_POLICY",
"message": "<string>"
}{
"code": "BUNDLE_REQUIRES_POLICY",
"message": "<string>"
}{
"code": "BUNDLE_REQUIRES_POLICY",
"message": "<string>"
}{
"code": "BUNDLE_REQUIRES_POLICY",
"message": "<string>"
}