curl --request POST \
--url https://api.trycomp.ai/v1/integrations/connections \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"providerSlug": "aws"
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({providerSlug: 'aws'})
};
fetch('https://api.trycomp.ai/v1/integrations/connections', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.trycomp.ai/v1/integrations/connections"
payload = { "providerSlug": "aws" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Create integration connection | Comp AI API
Create an integration connection so Comp AI can collect evidence, run checks, or sync data from a connected provider.
curl --request POST \
--url https://api.trycomp.ai/v1/integrations/connections \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"providerSlug": "aws"
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({providerSlug: 'aws'})
};
fetch('https://api.trycomp.ai/v1/integrations/connections', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.trycomp.ai/v1/integrations/connections"
payload = { "providerSlug": "aws" }
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
Body
Provider slug for the integration. Call list-providers first to see the available slugs (e.g. 'aws', 'gcp', 'azure', 'github').
"aws"
Auto-resolved from your API key / session. You can omit this; it is ignored by the server.
Provider-specific credential fields. Keys differ by provider — call get-provider-details for the exact shape. For AWS (Cloud Tests) the fields are: connectionName (display name), awsType ('aws-commercial' or 'aws-govcloud'), roleArn (auditor role), externalId (typically your org id), regions (string array), and optionally remediationRoleArn and awsScanMode ('comp_scanners' or 'security_hub'). Omit credentials for OAuth providers — use POST /v1/integrations/oauth/start instead.
{ "connectionName": "Production AWS", "awsType": "aws-commercial", "roleArn": "arn:aws:iam::123456789012:role/CompAI-Auditor", "externalId": "org_abc123", "regions": ["us-east-1", "us-west-2"], "remediationRoleArn": "arn:aws:iam::123456789012:role/CompAI-Remediator", "awsScanMode": "comp_scanners" }
Response
Was this page helpful?

