Operations 4
Documentation
Documentation
https://developer.vanta.com/docs/vanta-api-overview
Authentication
https://developer.vanta.com/docs/api-access-setup
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/vanta-vendors-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Vanta Vendors API
description: The Vanta REST API enables organizations to programmatically manage their security compliance posture. The API supports personnel management, vulnerability monitoring, resource scoping, document and test management, control oversight, vendor management, and custom integrations. Vanta helps automate compliance for SOC 2, ISO 27001, HIPAA, PCI DSS, and GDPR frameworks.
version: v1
contact:
name: Vanta Developer Hub
url: https://developer.vanta.com
termsOfService: https://www.vanta.com/terms
license:
name: Proprietary
url: https://www.vanta.com/terms
servers:
- url: https://api.vanta.com
description: Vanta API
security:
- OAuth2: []
tags:
- name: Vendors
description: Third-party vendor security review management
paths:
/v1/vendors:
get:
operationId: listVendors
summary: List Vendors
description: Query and manage vendors and their security review information.
tags:
- Vendors
parameters:
- $ref: '#/components/parameters/pageSize'
- $ref: '#/components/parameters/pageCursor'
- name: riskLevel
in: query
schema:
type: string
enum:
- CRITICAL
- HIGH
- MEDIUM
- LOW
description: Filter vendors by risk level
responses:
'200':
description: Paginated list of vendors
content:
application/json:
schema:
$ref: '#/components/schemas/VendorListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
post:
operationId: createVendor
summary: Create Vendor
description: Create a new vendor in Vanta for security review tracking.
tags:
- Vendors
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVendorRequest'
responses:
'201':
description: Vendor created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Vendor'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/v1/vendors/{vendorId}:
get:
operationId: getVendor
summary: Get Vendor
description: Retrieve a specific vendor and its security review details.
tags:
- Vendors
parameters:
- name: vendorId
in: path
required: true
schema:
type: string
description: Unique identifier for the vendor
responses:
'200':
description: Vendor details
content:
application/json:
schema:
$ref: '#/components/schemas/Vendor'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
patch:
operationId: updateVendor
summary: Update Vendor
description: Update vendor information and security review details.
tags:
- Vendors
parameters:
- name: vendorId
in: path
required: true
schema:
type: string
description: Unique identifier for the vendor
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateVendorRequest'
responses:
'200':
description: Vendor updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Vendor'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
components:
schemas:
VendorListResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Vendor'
pageInfo:
$ref: '#/components/schemas/PageInfo'
UpdateVendorRequest:
type: object
properties:
name:
type: string
description: Vendor company name
url:
type: string
format: uri
description: Vendor website URL
riskLevel:
type: string
enum:
- CRITICAL
- HIGH
- MEDIUM
- LOW
description: Inherent risk level
reviewStatus:
type: string
enum:
- NOT_STARTED
- IN_PROGRESS
- APPROVED
- REJECTED
description: Security review status
Error:
type: object
properties:
error:
type: string
description: Error code
message:
type: string
description: Human-readable error description
details:
type: array
items:
type: string
description: Additional error details
PageInfo:
type: object
properties:
pageSize:
type: integer
description: Number of items returned
nextPageCursor:
type: string
nullable: true
description: Cursor for the next page of results
hasNextPage:
type: boolean
description: Whether there are more items after this page
Vendor:
type: object
properties:
id:
type: string
description: Unique vendor identifier
name:
type: string
description: Vendor company name
url:
type: string
format: uri
nullable: true
description: Vendor website URL
riskLevel:
type: string
enum:
- CRITICAL
- HIGH
- MEDIUM
- LOW
description: Inherent risk level
residualRiskLevel:
type: string
enum:
- CRITICAL
- HIGH
- MEDIUM
- LOW
nullable: true
description: Residual risk level after controls
reviewStatus:
type: string
enum:
- NOT_STARTED
- IN_PROGRESS
- APPROVED
- REJECTED
description: Security review status
hasContract:
type: boolean
description: Whether a contract exists with the vendor
hasDpa:
type: boolean
description: Whether a Data Processing Agreement exists
createdAt:
type: string
format: date-time
description: When this vendor was added
nextReviewDate:
type: string
format: date
nullable: true
description: Date of next scheduled security review
CreateVendorRequest:
type: object
required:
- name
- riskLevel
properties:
name:
type: string
description: Vendor company name
url:
type: string
format: uri
description: Vendor website URL
riskLevel:
type: string
enum:
- CRITICAL
- HIGH
- MEDIUM
- LOW
description: Inherent risk level
description:
type: string
description: Vendor description and use case
responses:
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
RateLimited:
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Bad request — invalid parameters or request body
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized — missing or invalid access token
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
pageSize:
name: pageSize
in: query
schema:
type: integer
minimum: 1
maximum: 100
default: 10
description: Number of items to return per page (1-100)
pageCursor:
name: pageCursor
in: query
schema:
type: string
description: Cursor for pagination — start from the item following this cursor
securitySchemes:
OAuth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://api.vanta.com/oauth/token
scopes:
vanta.read: Read access to Vanta data
vanta.write: Write access to Vanta data
connectors.self:read-resource: Read connector resources
connectors.self:write-resource: Write connector resources
auditor-api.audit:read: Read audit data
auditor-api.auditor:read: Read auditor data