Vanta Vendors API

Third-party vendor security review management

Operations 4

GET /v1/vendors List Vendors #
POST /v1/vendors Create Vendor #
GET /v1/vendors/{vendorId} Get Vendor #
PATCH /v1/vendors/{vendorId} Update Vendor #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vanta-vendors-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

vanta-vendors-api-openapi.yml Raw ↑
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