POST
/
v1
/
vendors
Create a new vendor
curl --request POST \
  --url https://api.trycomp.ai/v1/vendors \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '{
  "name": "CloudTech Solutions Inc.",
  "description": "Cloud infrastructure provider offering AWS-like services including compute, storage, and networking solutions for enterprise customers.",
  "category": "cloud",
  "status": "not_assessed",
  "inherentProbability": "possible",
  "inherentImpact": "moderate",
  "residualProbability": "unlikely",
  "residualImpact": "minor",
  "website": "https://www.cloudtechsolutions.com",
  "assigneeId": "mem_abc123def456"
}'
{
  "id": "vnd_abc123def456",
  "name": "CloudTech Solutions Inc.",
  "description": "Cloud infrastructure provider offering AWS-like services including compute, storage, and networking solutions for enterprise customers.",
  "category": "cloud",
  "status": "not_assessed",
  "inherentProbability": "possible",
  "inherentImpact": "moderate",
  "residualProbability": "unlikely",
  "residualImpact": "minor",
  "website": "https://www.cloudtechsolutions.com",
  "organizationId": "org_abc123def456",
  "assigneeId": "mem_abc123def456",
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "authType": "api-key",
  "authenticatedUser": {
    "id": "usr_def456ghi789",
    "email": "[email protected]"
  }
}

Authorizations

X-API-Key
string
header
required

API key for authentication

Headers

X-Organization-Id
string

Organization ID (required for session auth, optional for API key auth)

Body

application/json

Vendor creation data

name
string
required

Vendor name

Example:

"CloudTech Solutions Inc."

description
string
required

Detailed description of the vendor and services provided

Example:

"Cloud infrastructure provider offering AWS-like services including compute, storage, and networking solutions for enterprise customers."

category
enum<string>
default:other
required

Vendor category

Available options:
cloud,
infrastructure,
software_as_a_service,
finance,
marketing,
sales,
hr,
other
Example:

"cloud"

status
enum<string>
default:not_assessed
required

Assessment status of the vendor

Available options:
not_assessed,
in_progress,
assessed
Example:

"not_assessed"

inherentProbability
enum<string>
default:very_unlikely
required

Inherent probability of risk before controls

Available options:
very_unlikely,
unlikely,
possible,
likely,
very_likely
Example:

"possible"

inherentImpact
enum<string>
default:insignificant
required

Inherent impact of risk before controls

Available options:
insignificant,
minor,
moderate,
major,
severe
Example:

"moderate"

residualProbability
enum<string>
default:very_unlikely
required

Residual probability after controls are applied

Available options:
very_unlikely,
unlikely,
possible,
likely,
very_likely
Example:

"unlikely"

residualImpact
enum<string>
default:insignificant
required

Residual impact after controls are applied

Available options:
insignificant,
minor,
moderate,
major,
severe
Example:

"minor"

website
string

Vendor website URL

Example:

"https://www.cloudtechsolutions.com"

assigneeId
string

ID of the user assigned to manage this vendor

Example:

"mem_abc123def456"

Response

Vendor created successfully

id
string

Vendor ID

Example:

"vnd_abc123def456"

name
string

Vendor name

Example:

"CloudTech Solutions Inc."

description
string

Vendor description

Example:

"Cloud infrastructure provider offering AWS-like services including compute, storage, and networking solutions for enterprise customers."

category
enum<string>
Available options:
cloud,
infrastructure,
software_as_a_service,
finance,
marketing,
sales,
hr,
other
Example:

"cloud"

status
enum<string>
Available options:
not_assessed,
in_progress,
assessed
Example:

"not_assessed"

inherentProbability
enum<string>
Available options:
very_unlikely,
unlikely,
possible,
likely,
very_likely
Example:

"possible"

inherentImpact
enum<string>
Available options:
insignificant,
minor,
moderate,
major,
severe
Example:

"moderate"

residualProbability
enum<string>
Available options:
very_unlikely,
unlikely,
possible,
likely,
very_likely
Example:

"unlikely"

residualImpact
enum<string>
Available options:
insignificant,
minor,
moderate,
major,
severe
Example:

"minor"

website
string | null
Example:

"https://www.cloudtechsolutions.com"

organizationId
string
Example:

"org_abc123def456"

assigneeId
string | null

ID of the user assigned to manage this vendor

Example:

"mem_abc123def456"

createdAt
string<date-time>

When the vendor was created

updatedAt
string<date-time>

When the vendor was last updated

authType
enum<string>

How the request was authenticated

Available options:
api-key,
session
authenticatedUser
object

User information (only for session auth)