curl --request POST \
--url https://api.trycomp.ai/v1/evidence-forms/{formType}/submissions \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"rows": [
{
"system": "Production VPC",
"owner": "Platform",
"environment": "prod"
}
]
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({rows: [{system: 'Production VPC', owner: 'Platform', environment: 'prod'}]})
};
fetch('https://api.trycomp.ai/v1/evidence-forms/{formType}/submissions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.trycomp.ai/v1/evidence-forms/{formType}/submissions"
payload = { "rows": [
{
"system": "Production VPC",
"owner": "Platform",
"environment": "prod"
}
] }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Submit evidence form | Comp AI API
Submit structured evidence responses and attachments for review against a compliance task or document requirement.
curl --request POST \
--url https://api.trycomp.ai/v1/evidence-forms/{formType}/submissions \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"rows": [
{
"system": "Production VPC",
"owner": "Platform",
"environment": "prod"
}
]
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({rows: [{system: 'Production VPC', owner: 'Platform', environment: 'prod'}]})
};
fetch('https://api.trycomp.ai/v1/evidence-forms/{formType}/submissions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.trycomp.ai/v1/evidence-forms/{formType}/submissions"
payload = { "rows": [
{
"system": "Production VPC",
"owner": "Platform",
"environment": "prod"
}
] }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Authorizations
API key for authentication
Headers
Organization ID (required for session auth, optional for API key auth)
Path Parameters
Slug of the evidence form. Call GET /v1/evidence-forms to see every form with its title.
board-meeting, it-leadership-meeting, risk-committee-meeting, meeting, access-request, whistleblower-report, penetration-test, rbac-matrix, infrastructure-inventory, employee-performance-evaluation, network-diagram, tabletop-exercise, account-types Body
Answers keyed by the form definition's field keys. Call GET /v1/evidence-forms/{formType} first — its form.fields lists every key, type and whether it is required. matrix fields take an array of row objects keyed by column key; file fields take the {fileName, fileKey, downloadUrl} object returned by POST /v1/evidence-forms/uploads. Forms whose submissionDateMode is auto set submissionDate server-side.
The body is of type object.
Response
Was this page helpful?

