proof
Create proof profiles
Requires scopes: eval:write
POST
/
api
/
proof
/
risks-and-controls
/
profiles
Create proof profiles
curl --request POST \
--url https://evalgate.com/api/proof/risks-and-controls/profiles \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"idempotencyKey": "<string>",
"controlId": 123,
"expectedControlWriteRevision": 123,
"expectedLatestDigest": "<string>",
"profile": {
"scope": {
"kind": "organization"
},
"applicability": "applies",
"applicabilityRationale": "<string>",
"context": {
"domain": "<string>",
"riskTier": "critical",
"organizationalRole": "<string>",
"intendedUse": "<string>",
"affectedPeople": "<string>",
"dataSensitivity": "<string>",
"autonomy": "<string>",
"lifecycleStage": "<string>",
"environment": "<string>",
"consequences": "<string>",
"productContextHash": "<string>"
},
"sources": [
{
"sourceType": "contract_requirement",
"issuer": "<string>",
"documentIdentifier": "<string>",
"edition": "<string>",
"title": "<string>",
"publicationStatus": "DRAFT",
"verificationState": "INTERNALLY_ASSERTED",
"relationship": "informs",
"mappingRationale": "<string>",
"locator": "<string>",
"sourceRevision": "<string>",
"sourceDigest": "<string>",
"sourceUrl": "<string>",
"license": "<string>",
"attribution": "<string>"
}
],
"assessmentMethods": [
"adversarial_probe"
],
"implementation": [
{
"kind": "approval",
"label": "<string>",
"ref": "<string>",
"revision": "<string>",
"url": "<string>"
}
],
"dependencies": [
{
"kind": "configuration",
"ref": "<string>",
"revision": "<string>"
}
],
"parent": {
"profileId": "<string>",
"digest": "<string>"
},
"exceptionRationale": "<string>"
},
"action": "prepare"
}
'import requests
url = "https://evalgate.com/api/proof/risks-and-controls/profiles"
payload = {
"idempotencyKey": "<string>",
"controlId": 123,
"expectedControlWriteRevision": 123,
"expectedLatestDigest": "<string>",
"profile": {
"scope": { "kind": "organization" },
"applicability": "applies",
"applicabilityRationale": "<string>",
"context": {
"domain": "<string>",
"riskTier": "critical",
"organizationalRole": "<string>",
"intendedUse": "<string>",
"affectedPeople": "<string>",
"dataSensitivity": "<string>",
"autonomy": "<string>",
"lifecycleStage": "<string>",
"environment": "<string>",
"consequences": "<string>",
"productContextHash": "<string>"
},
"sources": [
{
"sourceType": "contract_requirement",
"issuer": "<string>",
"documentIdentifier": "<string>",
"edition": "<string>",
"title": "<string>",
"publicationStatus": "DRAFT",
"verificationState": "INTERNALLY_ASSERTED",
"relationship": "informs",
"mappingRationale": "<string>",
"locator": "<string>",
"sourceRevision": "<string>",
"sourceDigest": "<string>",
"sourceUrl": "<string>",
"license": "<string>",
"attribution": "<string>"
}
],
"assessmentMethods": ["adversarial_probe"],
"implementation": [
{
"kind": "approval",
"label": "<string>",
"ref": "<string>",
"revision": "<string>",
"url": "<string>"
}
],
"dependencies": [
{
"kind": "configuration",
"ref": "<string>",
"revision": "<string>"
}
],
"parent": {
"profileId": "<string>",
"digest": "<string>"
},
"exceptionRationale": "<string>"
},
"action": "prepare"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
idempotencyKey: '<string>',
controlId: 123,
expectedControlWriteRevision: 123,
expectedLatestDigest: '<string>',
profile: {
scope: {kind: 'organization'},
applicability: 'applies',
applicabilityRationale: '<string>',
context: {
domain: '<string>',
riskTier: 'critical',
organizationalRole: '<string>',
intendedUse: '<string>',
affectedPeople: '<string>',
dataSensitivity: '<string>',
autonomy: '<string>',
lifecycleStage: '<string>',
environment: '<string>',
consequences: '<string>',
productContextHash: '<string>'
},
sources: [
{
sourceType: 'contract_requirement',
issuer: '<string>',
documentIdentifier: '<string>',
edition: '<string>',
title: '<string>',
publicationStatus: 'DRAFT',
verificationState: 'INTERNALLY_ASSERTED',
relationship: 'informs',
mappingRationale: '<string>',
locator: '<string>',
sourceRevision: '<string>',
sourceDigest: '<string>',
sourceUrl: '<string>',
license: '<string>',
attribution: '<string>'
}
],
assessmentMethods: ['adversarial_probe'],
implementation: [
{
kind: 'approval',
label: '<string>',
ref: '<string>',
revision: '<string>',
url: '<string>'
}
],
dependencies: [{kind: 'configuration', ref: '<string>', revision: '<string>'}],
parent: {profileId: '<string>', digest: '<string>'},
exceptionRationale: '<string>'
},
action: 'prepare'
})
};
fetch('https://evalgate.com/api/proof/risks-and-controls/profiles', 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://evalgate.com/api/proof/risks-and-controls/profiles",
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([
'idempotencyKey' => '<string>',
'controlId' => 123,
'expectedControlWriteRevision' => 123,
'expectedLatestDigest' => '<string>',
'profile' => [
'scope' => [
'kind' => 'organization'
],
'applicability' => 'applies',
'applicabilityRationale' => '<string>',
'context' => [
'domain' => '<string>',
'riskTier' => 'critical',
'organizationalRole' => '<string>',
'intendedUse' => '<string>',
'affectedPeople' => '<string>',
'dataSensitivity' => '<string>',
'autonomy' => '<string>',
'lifecycleStage' => '<string>',
'environment' => '<string>',
'consequences' => '<string>',
'productContextHash' => '<string>'
],
'sources' => [
[
'sourceType' => 'contract_requirement',
'issuer' => '<string>',
'documentIdentifier' => '<string>',
'edition' => '<string>',
'title' => '<string>',
'publicationStatus' => 'DRAFT',
'verificationState' => 'INTERNALLY_ASSERTED',
'relationship' => 'informs',
'mappingRationale' => '<string>',
'locator' => '<string>',
'sourceRevision' => '<string>',
'sourceDigest' => '<string>',
'sourceUrl' => '<string>',
'license' => '<string>',
'attribution' => '<string>'
]
],
'assessmentMethods' => [
'adversarial_probe'
],
'implementation' => [
[
'kind' => 'approval',
'label' => '<string>',
'ref' => '<string>',
'revision' => '<string>',
'url' => '<string>'
]
],
'dependencies' => [
[
'kind' => 'configuration',
'ref' => '<string>',
'revision' => '<string>'
]
],
'parent' => [
'profileId' => '<string>',
'digest' => '<string>'
],
'exceptionRationale' => '<string>'
],
'action' => 'prepare'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://evalgate.com/api/proof/risks-and-controls/profiles"
payload := strings.NewReader("{\n \"idempotencyKey\": \"<string>\",\n \"controlId\": 123,\n \"expectedControlWriteRevision\": 123,\n \"expectedLatestDigest\": \"<string>\",\n \"profile\": {\n \"scope\": {\n \"kind\": \"organization\"\n },\n \"applicability\": \"applies\",\n \"applicabilityRationale\": \"<string>\",\n \"context\": {\n \"domain\": \"<string>\",\n \"riskTier\": \"critical\",\n \"organizationalRole\": \"<string>\",\n \"intendedUse\": \"<string>\",\n \"affectedPeople\": \"<string>\",\n \"dataSensitivity\": \"<string>\",\n \"autonomy\": \"<string>\",\n \"lifecycleStage\": \"<string>\",\n \"environment\": \"<string>\",\n \"consequences\": \"<string>\",\n \"productContextHash\": \"<string>\"\n },\n \"sources\": [\n {\n \"sourceType\": \"contract_requirement\",\n \"issuer\": \"<string>\",\n \"documentIdentifier\": \"<string>\",\n \"edition\": \"<string>\",\n \"title\": \"<string>\",\n \"publicationStatus\": \"DRAFT\",\n \"verificationState\": \"INTERNALLY_ASSERTED\",\n \"relationship\": \"informs\",\n \"mappingRationale\": \"<string>\",\n \"locator\": \"<string>\",\n \"sourceRevision\": \"<string>\",\n \"sourceDigest\": \"<string>\",\n \"sourceUrl\": \"<string>\",\n \"license\": \"<string>\",\n \"attribution\": \"<string>\"\n }\n ],\n \"assessmentMethods\": [\n \"adversarial_probe\"\n ],\n \"implementation\": [\n {\n \"kind\": \"approval\",\n \"label\": \"<string>\",\n \"ref\": \"<string>\",\n \"revision\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"dependencies\": [\n {\n \"kind\": \"configuration\",\n \"ref\": \"<string>\",\n \"revision\": \"<string>\"\n }\n ],\n \"parent\": {\n \"profileId\": \"<string>\",\n \"digest\": \"<string>\"\n },\n \"exceptionRationale\": \"<string>\"\n },\n \"action\": \"prepare\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://evalgate.com/api/proof/risks-and-controls/profiles")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"idempotencyKey\": \"<string>\",\n \"controlId\": 123,\n \"expectedControlWriteRevision\": 123,\n \"expectedLatestDigest\": \"<string>\",\n \"profile\": {\n \"scope\": {\n \"kind\": \"organization\"\n },\n \"applicability\": \"applies\",\n \"applicabilityRationale\": \"<string>\",\n \"context\": {\n \"domain\": \"<string>\",\n \"riskTier\": \"critical\",\n \"organizationalRole\": \"<string>\",\n \"intendedUse\": \"<string>\",\n \"affectedPeople\": \"<string>\",\n \"dataSensitivity\": \"<string>\",\n \"autonomy\": \"<string>\",\n \"lifecycleStage\": \"<string>\",\n \"environment\": \"<string>\",\n \"consequences\": \"<string>\",\n \"productContextHash\": \"<string>\"\n },\n \"sources\": [\n {\n \"sourceType\": \"contract_requirement\",\n \"issuer\": \"<string>\",\n \"documentIdentifier\": \"<string>\",\n \"edition\": \"<string>\",\n \"title\": \"<string>\",\n \"publicationStatus\": \"DRAFT\",\n \"verificationState\": \"INTERNALLY_ASSERTED\",\n \"relationship\": \"informs\",\n \"mappingRationale\": \"<string>\",\n \"locator\": \"<string>\",\n \"sourceRevision\": \"<string>\",\n \"sourceDigest\": \"<string>\",\n \"sourceUrl\": \"<string>\",\n \"license\": \"<string>\",\n \"attribution\": \"<string>\"\n }\n ],\n \"assessmentMethods\": [\n \"adversarial_probe\"\n ],\n \"implementation\": [\n {\n \"kind\": \"approval\",\n \"label\": \"<string>\",\n \"ref\": \"<string>\",\n \"revision\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"dependencies\": [\n {\n \"kind\": \"configuration\",\n \"ref\": \"<string>\",\n \"revision\": \"<string>\"\n }\n ],\n \"parent\": {\n \"profileId\": \"<string>\",\n \"digest\": \"<string>\"\n },\n \"exceptionRationale\": \"<string>\"\n },\n \"action\": \"prepare\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://evalgate.com/api/proof/risks-and-controls/profiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"idempotencyKey\": \"<string>\",\n \"controlId\": 123,\n \"expectedControlWriteRevision\": 123,\n \"expectedLatestDigest\": \"<string>\",\n \"profile\": {\n \"scope\": {\n \"kind\": \"organization\"\n },\n \"applicability\": \"applies\",\n \"applicabilityRationale\": \"<string>\",\n \"context\": {\n \"domain\": \"<string>\",\n \"riskTier\": \"critical\",\n \"organizationalRole\": \"<string>\",\n \"intendedUse\": \"<string>\",\n \"affectedPeople\": \"<string>\",\n \"dataSensitivity\": \"<string>\",\n \"autonomy\": \"<string>\",\n \"lifecycleStage\": \"<string>\",\n \"environment\": \"<string>\",\n \"consequences\": \"<string>\",\n \"productContextHash\": \"<string>\"\n },\n \"sources\": [\n {\n \"sourceType\": \"contract_requirement\",\n \"issuer\": \"<string>\",\n \"documentIdentifier\": \"<string>\",\n \"edition\": \"<string>\",\n \"title\": \"<string>\",\n \"publicationStatus\": \"DRAFT\",\n \"verificationState\": \"INTERNALLY_ASSERTED\",\n \"relationship\": \"informs\",\n \"mappingRationale\": \"<string>\",\n \"locator\": \"<string>\",\n \"sourceRevision\": \"<string>\",\n \"sourceDigest\": \"<string>\",\n \"sourceUrl\": \"<string>\",\n \"license\": \"<string>\",\n \"attribution\": \"<string>\"\n }\n ],\n \"assessmentMethods\": [\n \"adversarial_probe\"\n ],\n \"implementation\": [\n {\n \"kind\": \"approval\",\n \"label\": \"<string>\",\n \"ref\": \"<string>\",\n \"revision\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"dependencies\": [\n {\n \"kind\": \"configuration\",\n \"ref\": \"<string>\",\n \"revision\": \"<string>\"\n }\n ],\n \"parent\": {\n \"profileId\": \"<string>\",\n \"digest\": \"<string>\"\n },\n \"exceptionRationale\": \"<string>\"\n },\n \"action\": \"prepare\"\n}"
response = http.request(request)
puts response.read_body{
"profile": {
"id": "<string>",
"controlId": 123,
"version": 123,
"digest": "<string>",
"basis": {
"scope": {
"kind": "organization"
},
"applicability": "applies",
"applicabilityRationale": "<string>",
"context": {
"domain": "<string>",
"riskTier": "critical",
"organizationalRole": "<string>",
"intendedUse": "<string>",
"affectedPeople": "<string>",
"dataSensitivity": "<string>",
"autonomy": "<string>",
"lifecycleStage": "<string>",
"environment": "<string>",
"consequences": "<string>",
"productContextHash": "<string>"
},
"sources": [
{
"sourceType": "contract_requirement",
"issuer": "<string>",
"documentIdentifier": "<string>",
"edition": "<string>",
"title": "<string>",
"publicationStatus": "DRAFT",
"verificationState": "INTERNALLY_ASSERTED",
"locator": "<string>",
"sourceRevision": "<string>",
"sourceDigest": "<string>",
"sourceUrl": "<string>",
"license": "<string>",
"attribution": "<string>",
"relationship": "informs",
"mappingRationale": "<string>"
}
],
"assessmentMethods": [
"adversarial_probe"
],
"implementation": [
{
"kind": "approval",
"label": "<string>",
"ref": "<string>",
"revision": "<string>",
"url": "<string>"
}
],
"dependencies": [
{
"kind": "configuration",
"ref": "<string>",
"revision": "<string>"
}
],
"parent": {
"profileId": "<string>",
"digest": "<string>"
},
"exceptionRationale": "<string>",
"schemaVersion": "evalgate.control-profile.v1",
"controlId": 123,
"controlWriteRevision": 123,
"requirementBasis": {
"material": {
"intendedBehavior": "<string>",
"acceptanceCriteria": "<string>",
"frequencyOrTrigger": "<string>",
"boundaryNote": "<string>",
"failureHandling": "<string>",
"aiSystemId": 123,
"assuranceControlId": 123,
"responsibleUserId": "<string>",
"linkedRequirement": {
"id": 123,
"version": 123,
"requirementText": "<string>",
"acceptanceCriteria": true,
"state": "<string>",
"status": "<string>",
"evalProgramIds": [
123
],
"policyGateIds": [
123
]
}
},
"digest": "<string>"
}
},
"status": "accepted",
"createdBy": "<string>",
"createdAt": "<string>",
"reviewedBy": "<string>",
"reviewedAt": "<string>",
"rationale": "<string>",
"evidenceFitness": "current_for_scope",
"currentCredit": "not_established",
"limitations": [
"<string>"
],
"fitnessReasons": [
"<string>"
],
"evidenceBindings": [
{
"id": "<string>",
"submissionId": 123,
"evidenceItemId": 123,
"method": "<string>",
"outcome": "<string>",
"reviewedBy": "<string>",
"reviewedAt": "<string>",
"subjectKind": "<string>",
"subjectIdentity": "<string>",
"decisionPrincipalKind": "<string>",
"limitations": [
"<string>"
]
}
],
"basisCurrency": "current",
"currencyReasons": [
"<string>"
]
},
"replayed": true
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}Authorizations
Organization-scoped EvalGate API key. Discover the supported agent scopes at /.well-known/oauth-protected-resource. Per-operation grants are listed in x-evalgate-required-scopes; OpenAPI bearer security requirement arrays remain empty as required for non-OAuth schemes.
Body
application/json
⌘I
Create proof profiles
curl --request POST \
--url https://evalgate.com/api/proof/risks-and-controls/profiles \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"idempotencyKey": "<string>",
"controlId": 123,
"expectedControlWriteRevision": 123,
"expectedLatestDigest": "<string>",
"profile": {
"scope": {
"kind": "organization"
},
"applicability": "applies",
"applicabilityRationale": "<string>",
"context": {
"domain": "<string>",
"riskTier": "critical",
"organizationalRole": "<string>",
"intendedUse": "<string>",
"affectedPeople": "<string>",
"dataSensitivity": "<string>",
"autonomy": "<string>",
"lifecycleStage": "<string>",
"environment": "<string>",
"consequences": "<string>",
"productContextHash": "<string>"
},
"sources": [
{
"sourceType": "contract_requirement",
"issuer": "<string>",
"documentIdentifier": "<string>",
"edition": "<string>",
"title": "<string>",
"publicationStatus": "DRAFT",
"verificationState": "INTERNALLY_ASSERTED",
"relationship": "informs",
"mappingRationale": "<string>",
"locator": "<string>",
"sourceRevision": "<string>",
"sourceDigest": "<string>",
"sourceUrl": "<string>",
"license": "<string>",
"attribution": "<string>"
}
],
"assessmentMethods": [
"adversarial_probe"
],
"implementation": [
{
"kind": "approval",
"label": "<string>",
"ref": "<string>",
"revision": "<string>",
"url": "<string>"
}
],
"dependencies": [
{
"kind": "configuration",
"ref": "<string>",
"revision": "<string>"
}
],
"parent": {
"profileId": "<string>",
"digest": "<string>"
},
"exceptionRationale": "<string>"
},
"action": "prepare"
}
'import requests
url = "https://evalgate.com/api/proof/risks-and-controls/profiles"
payload = {
"idempotencyKey": "<string>",
"controlId": 123,
"expectedControlWriteRevision": 123,
"expectedLatestDigest": "<string>",
"profile": {
"scope": { "kind": "organization" },
"applicability": "applies",
"applicabilityRationale": "<string>",
"context": {
"domain": "<string>",
"riskTier": "critical",
"organizationalRole": "<string>",
"intendedUse": "<string>",
"affectedPeople": "<string>",
"dataSensitivity": "<string>",
"autonomy": "<string>",
"lifecycleStage": "<string>",
"environment": "<string>",
"consequences": "<string>",
"productContextHash": "<string>"
},
"sources": [
{
"sourceType": "contract_requirement",
"issuer": "<string>",
"documentIdentifier": "<string>",
"edition": "<string>",
"title": "<string>",
"publicationStatus": "DRAFT",
"verificationState": "INTERNALLY_ASSERTED",
"relationship": "informs",
"mappingRationale": "<string>",
"locator": "<string>",
"sourceRevision": "<string>",
"sourceDigest": "<string>",
"sourceUrl": "<string>",
"license": "<string>",
"attribution": "<string>"
}
],
"assessmentMethods": ["adversarial_probe"],
"implementation": [
{
"kind": "approval",
"label": "<string>",
"ref": "<string>",
"revision": "<string>",
"url": "<string>"
}
],
"dependencies": [
{
"kind": "configuration",
"ref": "<string>",
"revision": "<string>"
}
],
"parent": {
"profileId": "<string>",
"digest": "<string>"
},
"exceptionRationale": "<string>"
},
"action": "prepare"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
idempotencyKey: '<string>',
controlId: 123,
expectedControlWriteRevision: 123,
expectedLatestDigest: '<string>',
profile: {
scope: {kind: 'organization'},
applicability: 'applies',
applicabilityRationale: '<string>',
context: {
domain: '<string>',
riskTier: 'critical',
organizationalRole: '<string>',
intendedUse: '<string>',
affectedPeople: '<string>',
dataSensitivity: '<string>',
autonomy: '<string>',
lifecycleStage: '<string>',
environment: '<string>',
consequences: '<string>',
productContextHash: '<string>'
},
sources: [
{
sourceType: 'contract_requirement',
issuer: '<string>',
documentIdentifier: '<string>',
edition: '<string>',
title: '<string>',
publicationStatus: 'DRAFT',
verificationState: 'INTERNALLY_ASSERTED',
relationship: 'informs',
mappingRationale: '<string>',
locator: '<string>',
sourceRevision: '<string>',
sourceDigest: '<string>',
sourceUrl: '<string>',
license: '<string>',
attribution: '<string>'
}
],
assessmentMethods: ['adversarial_probe'],
implementation: [
{
kind: 'approval',
label: '<string>',
ref: '<string>',
revision: '<string>',
url: '<string>'
}
],
dependencies: [{kind: 'configuration', ref: '<string>', revision: '<string>'}],
parent: {profileId: '<string>', digest: '<string>'},
exceptionRationale: '<string>'
},
action: 'prepare'
})
};
fetch('https://evalgate.com/api/proof/risks-and-controls/profiles', 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://evalgate.com/api/proof/risks-and-controls/profiles",
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([
'idempotencyKey' => '<string>',
'controlId' => 123,
'expectedControlWriteRevision' => 123,
'expectedLatestDigest' => '<string>',
'profile' => [
'scope' => [
'kind' => 'organization'
],
'applicability' => 'applies',
'applicabilityRationale' => '<string>',
'context' => [
'domain' => '<string>',
'riskTier' => 'critical',
'organizationalRole' => '<string>',
'intendedUse' => '<string>',
'affectedPeople' => '<string>',
'dataSensitivity' => '<string>',
'autonomy' => '<string>',
'lifecycleStage' => '<string>',
'environment' => '<string>',
'consequences' => '<string>',
'productContextHash' => '<string>'
],
'sources' => [
[
'sourceType' => 'contract_requirement',
'issuer' => '<string>',
'documentIdentifier' => '<string>',
'edition' => '<string>',
'title' => '<string>',
'publicationStatus' => 'DRAFT',
'verificationState' => 'INTERNALLY_ASSERTED',
'relationship' => 'informs',
'mappingRationale' => '<string>',
'locator' => '<string>',
'sourceRevision' => '<string>',
'sourceDigest' => '<string>',
'sourceUrl' => '<string>',
'license' => '<string>',
'attribution' => '<string>'
]
],
'assessmentMethods' => [
'adversarial_probe'
],
'implementation' => [
[
'kind' => 'approval',
'label' => '<string>',
'ref' => '<string>',
'revision' => '<string>',
'url' => '<string>'
]
],
'dependencies' => [
[
'kind' => 'configuration',
'ref' => '<string>',
'revision' => '<string>'
]
],
'parent' => [
'profileId' => '<string>',
'digest' => '<string>'
],
'exceptionRationale' => '<string>'
],
'action' => 'prepare'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://evalgate.com/api/proof/risks-and-controls/profiles"
payload := strings.NewReader("{\n \"idempotencyKey\": \"<string>\",\n \"controlId\": 123,\n \"expectedControlWriteRevision\": 123,\n \"expectedLatestDigest\": \"<string>\",\n \"profile\": {\n \"scope\": {\n \"kind\": \"organization\"\n },\n \"applicability\": \"applies\",\n \"applicabilityRationale\": \"<string>\",\n \"context\": {\n \"domain\": \"<string>\",\n \"riskTier\": \"critical\",\n \"organizationalRole\": \"<string>\",\n \"intendedUse\": \"<string>\",\n \"affectedPeople\": \"<string>\",\n \"dataSensitivity\": \"<string>\",\n \"autonomy\": \"<string>\",\n \"lifecycleStage\": \"<string>\",\n \"environment\": \"<string>\",\n \"consequences\": \"<string>\",\n \"productContextHash\": \"<string>\"\n },\n \"sources\": [\n {\n \"sourceType\": \"contract_requirement\",\n \"issuer\": \"<string>\",\n \"documentIdentifier\": \"<string>\",\n \"edition\": \"<string>\",\n \"title\": \"<string>\",\n \"publicationStatus\": \"DRAFT\",\n \"verificationState\": \"INTERNALLY_ASSERTED\",\n \"relationship\": \"informs\",\n \"mappingRationale\": \"<string>\",\n \"locator\": \"<string>\",\n \"sourceRevision\": \"<string>\",\n \"sourceDigest\": \"<string>\",\n \"sourceUrl\": \"<string>\",\n \"license\": \"<string>\",\n \"attribution\": \"<string>\"\n }\n ],\n \"assessmentMethods\": [\n \"adversarial_probe\"\n ],\n \"implementation\": [\n {\n \"kind\": \"approval\",\n \"label\": \"<string>\",\n \"ref\": \"<string>\",\n \"revision\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"dependencies\": [\n {\n \"kind\": \"configuration\",\n \"ref\": \"<string>\",\n \"revision\": \"<string>\"\n }\n ],\n \"parent\": {\n \"profileId\": \"<string>\",\n \"digest\": \"<string>\"\n },\n \"exceptionRationale\": \"<string>\"\n },\n \"action\": \"prepare\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://evalgate.com/api/proof/risks-and-controls/profiles")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"idempotencyKey\": \"<string>\",\n \"controlId\": 123,\n \"expectedControlWriteRevision\": 123,\n \"expectedLatestDigest\": \"<string>\",\n \"profile\": {\n \"scope\": {\n \"kind\": \"organization\"\n },\n \"applicability\": \"applies\",\n \"applicabilityRationale\": \"<string>\",\n \"context\": {\n \"domain\": \"<string>\",\n \"riskTier\": \"critical\",\n \"organizationalRole\": \"<string>\",\n \"intendedUse\": \"<string>\",\n \"affectedPeople\": \"<string>\",\n \"dataSensitivity\": \"<string>\",\n \"autonomy\": \"<string>\",\n \"lifecycleStage\": \"<string>\",\n \"environment\": \"<string>\",\n \"consequences\": \"<string>\",\n \"productContextHash\": \"<string>\"\n },\n \"sources\": [\n {\n \"sourceType\": \"contract_requirement\",\n \"issuer\": \"<string>\",\n \"documentIdentifier\": \"<string>\",\n \"edition\": \"<string>\",\n \"title\": \"<string>\",\n \"publicationStatus\": \"DRAFT\",\n \"verificationState\": \"INTERNALLY_ASSERTED\",\n \"relationship\": \"informs\",\n \"mappingRationale\": \"<string>\",\n \"locator\": \"<string>\",\n \"sourceRevision\": \"<string>\",\n \"sourceDigest\": \"<string>\",\n \"sourceUrl\": \"<string>\",\n \"license\": \"<string>\",\n \"attribution\": \"<string>\"\n }\n ],\n \"assessmentMethods\": [\n \"adversarial_probe\"\n ],\n \"implementation\": [\n {\n \"kind\": \"approval\",\n \"label\": \"<string>\",\n \"ref\": \"<string>\",\n \"revision\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"dependencies\": [\n {\n \"kind\": \"configuration\",\n \"ref\": \"<string>\",\n \"revision\": \"<string>\"\n }\n ],\n \"parent\": {\n \"profileId\": \"<string>\",\n \"digest\": \"<string>\"\n },\n \"exceptionRationale\": \"<string>\"\n },\n \"action\": \"prepare\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://evalgate.com/api/proof/risks-and-controls/profiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"idempotencyKey\": \"<string>\",\n \"controlId\": 123,\n \"expectedControlWriteRevision\": 123,\n \"expectedLatestDigest\": \"<string>\",\n \"profile\": {\n \"scope\": {\n \"kind\": \"organization\"\n },\n \"applicability\": \"applies\",\n \"applicabilityRationale\": \"<string>\",\n \"context\": {\n \"domain\": \"<string>\",\n \"riskTier\": \"critical\",\n \"organizationalRole\": \"<string>\",\n \"intendedUse\": \"<string>\",\n \"affectedPeople\": \"<string>\",\n \"dataSensitivity\": \"<string>\",\n \"autonomy\": \"<string>\",\n \"lifecycleStage\": \"<string>\",\n \"environment\": \"<string>\",\n \"consequences\": \"<string>\",\n \"productContextHash\": \"<string>\"\n },\n \"sources\": [\n {\n \"sourceType\": \"contract_requirement\",\n \"issuer\": \"<string>\",\n \"documentIdentifier\": \"<string>\",\n \"edition\": \"<string>\",\n \"title\": \"<string>\",\n \"publicationStatus\": \"DRAFT\",\n \"verificationState\": \"INTERNALLY_ASSERTED\",\n \"relationship\": \"informs\",\n \"mappingRationale\": \"<string>\",\n \"locator\": \"<string>\",\n \"sourceRevision\": \"<string>\",\n \"sourceDigest\": \"<string>\",\n \"sourceUrl\": \"<string>\",\n \"license\": \"<string>\",\n \"attribution\": \"<string>\"\n }\n ],\n \"assessmentMethods\": [\n \"adversarial_probe\"\n ],\n \"implementation\": [\n {\n \"kind\": \"approval\",\n \"label\": \"<string>\",\n \"ref\": \"<string>\",\n \"revision\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"dependencies\": [\n {\n \"kind\": \"configuration\",\n \"ref\": \"<string>\",\n \"revision\": \"<string>\"\n }\n ],\n \"parent\": {\n \"profileId\": \"<string>\",\n \"digest\": \"<string>\"\n },\n \"exceptionRationale\": \"<string>\"\n },\n \"action\": \"prepare\"\n}"
response = http.request(request)
puts response.read_body{
"profile": {
"id": "<string>",
"controlId": 123,
"version": 123,
"digest": "<string>",
"basis": {
"scope": {
"kind": "organization"
},
"applicability": "applies",
"applicabilityRationale": "<string>",
"context": {
"domain": "<string>",
"riskTier": "critical",
"organizationalRole": "<string>",
"intendedUse": "<string>",
"affectedPeople": "<string>",
"dataSensitivity": "<string>",
"autonomy": "<string>",
"lifecycleStage": "<string>",
"environment": "<string>",
"consequences": "<string>",
"productContextHash": "<string>"
},
"sources": [
{
"sourceType": "contract_requirement",
"issuer": "<string>",
"documentIdentifier": "<string>",
"edition": "<string>",
"title": "<string>",
"publicationStatus": "DRAFT",
"verificationState": "INTERNALLY_ASSERTED",
"locator": "<string>",
"sourceRevision": "<string>",
"sourceDigest": "<string>",
"sourceUrl": "<string>",
"license": "<string>",
"attribution": "<string>",
"relationship": "informs",
"mappingRationale": "<string>"
}
],
"assessmentMethods": [
"adversarial_probe"
],
"implementation": [
{
"kind": "approval",
"label": "<string>",
"ref": "<string>",
"revision": "<string>",
"url": "<string>"
}
],
"dependencies": [
{
"kind": "configuration",
"ref": "<string>",
"revision": "<string>"
}
],
"parent": {
"profileId": "<string>",
"digest": "<string>"
},
"exceptionRationale": "<string>",
"schemaVersion": "evalgate.control-profile.v1",
"controlId": 123,
"controlWriteRevision": 123,
"requirementBasis": {
"material": {
"intendedBehavior": "<string>",
"acceptanceCriteria": "<string>",
"frequencyOrTrigger": "<string>",
"boundaryNote": "<string>",
"failureHandling": "<string>",
"aiSystemId": 123,
"assuranceControlId": 123,
"responsibleUserId": "<string>",
"linkedRequirement": {
"id": 123,
"version": 123,
"requirementText": "<string>",
"acceptanceCriteria": true,
"state": "<string>",
"status": "<string>",
"evalProgramIds": [
123
],
"policyGateIds": [
123
]
}
},
"digest": "<string>"
}
},
"status": "accepted",
"createdBy": "<string>",
"createdAt": "<string>",
"reviewedBy": "<string>",
"reviewedAt": "<string>",
"rationale": "<string>",
"evidenceFitness": "current_for_scope",
"currentCredit": "not_established",
"limitations": [
"<string>"
],
"fitnessReasons": [
"<string>"
],
"evidenceBindings": [
{
"id": "<string>",
"submissionId": 123,
"evidenceItemId": 123,
"method": "<string>",
"outcome": "<string>",
"reviewedBy": "<string>",
"reviewedAt": "<string>",
"subjectKind": "<string>",
"subjectIdentity": "<string>",
"decisionPrincipalKind": "<string>",
"limitations": [
"<string>"
]
}
],
"basisCurrency": "current",
"currencyReasons": [
"<string>"
]
},
"replayed": true
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>",
"details": "<unknown>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"redaction": {
"applied": true,
"fieldCount": 1,
"secretCount": 1
}
}
}