Drata Vendors API

Vendors are third-parties that your organization is working with. Drata allows you to track and review risks associated with these third-parties. The [help docs](https://help.drata.com/en/articles/9676307-start-and-manage-security-reviews-for-your-vendors) have more information.

Business capability
Supplier Risk Management BC-510.30

Operations 9

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /vendors List vendors · List Vendors #
Ask an LLM
“Which of my vendors are rated high risk?”
“Can I list vendors whose next review is overdue?”
Tell an agent
List vendors with risk level {risk}.
Show vendors whose next review deadline status is {nextReviewDeadlineStatus}.
POST /vendors Add a vendor · Create Vendor #
Ask an LLM
“How do I add a new third-party vendor to my inventory?”
“Can I record whether a new vendor stores personal data when adding it?”
Tell an agent
Add a vendor named {name} with website {url}.
Create vendor {name} with risk level {risk} and annual contract value {cost} cents.
GET /vendors-stats Get vendor statistics · Get Vendor Statistics #
Ask an LLM
“What do my vendor counts look like broken down by scope?”
“Can vendor statistics include archived vendors?”
Tell an agent
Get vendor statistics for scopes {expand}.
Get vendor statistics for {expand} with includeArchived set to {includeArchived}.
GET /vendors/{vendorId} Get a vendor's details · Get Vendor #
Ask an LLM
“What details do we have on file for a particular vendor?”
“Can I see one vendor's record with related data expanded?”
Tell an agent
Get vendor {vendorId}.
Show vendor {vendorId} with {expand} expanded.
PUT /vendors/{vendorId} Update a vendor · Update Vendor #
Ask an LLM
“How do I change an existing vendor's risk level or renewal date?”
“Can I assign a different compliance owner to a vendor we already track?”
Tell an agent
Set the renewal date of vendor {vendorId} to {renewalDate}.
Change vendor {vendorId}'s compliance owner to user {userId}.
DELETE /vendors/{vendorId} Remove a vendor · Remove Vendor #
Ask an LLM
“How do I remove a vendor we no longer use?”
“Is there a way to delete a vendor record entirely?”
Tell an agent destructive · confirm first
Delete vendor {vendorId}.
Remove vendor {vendorId} from our vendor inventory.
GET /vendors/{vendorId}/questionnaires List questionnaires sent to a vendor · List Vendor Questionnaires #
Ask an LLM
“Which questionnaires have we sent to a vendor?”
“Can I page through every questionnaire a vendor has received?”
Tell an agent
List questionnaires sent to vendor {vendorId}.
Show every questionnaire vendor {vendorId} has been sent, {size} per page.
POST /vendors/{vendorId}/questionnaires Email a questionnaire to a vendor · Send Questionnaire to Vendor #
Ask an LLM
“How do I email a security questionnaire to a vendor contact?”
“Can I customize the subject line of the questionnaire email?”
Tell an agent
Email questionnaire {questionnaireId} to {email} at vendor {vendorId} for review {securityReviewId} with message {emailContent}.
Send vendor {vendorId} questionnaire {questionnaireId} at {email} with subject {emailSubject}.
GET /vendors/{vendorId}/questionnaires/{questionnaireId} Get a questionnaire sent to a vendor · Get Vendor Questionnaire #
Ask an LLM
“What's the status of one questionnaire I sent to a vendor?”
“Can I open a single vendor questionnaire by its ID?”
Tell an agent
Get questionnaire {questionnaireId} sent to vendor {vendorId}.
Check the questionnaire {questionnaireId} we emailed to vendor {vendorId}.

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/drata:drata-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

drata-vendors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Drata Vendors API
  description: '### What''s New in V2

    - Support for Custom Fields

    - Get and acknowledge user''s assigned policies

    - Payloads are streamlined to include only the essential information. You can expand related objects and collections using the `expand` query parameter.

    - Cursor-based pagination for greater efficiency and stability with large datasets


    ### Getting Started

    Please visit our help article to learn how to create an API key.


    ### Upgrading From Version 1

    API V2 is designed to provide a faster an more flexible way of accessing Drata. There are several differences from V1:

    - The listing endpoints now use **cursor-based pagination**. This provides faster responses and ensures that all records can be retrieved even, if they are changed during the process.


    ```javascript

    async function fetchAll() {

    // The first request doesn''t send a value for the cursor.

    let cursor = undefined;

    do {

    const query = new URLSearchParams({ cursor });

    const resp = await fetch(

    `https://public-api.drata.com/public/v2/users?${query}`,

    {

    method: ''GET'',

    headers: { Authorization: ''Bearer '' }

    }

    );

    const data = await resp.json();

    console.log(data);


    // If there''s a cursor value returned, then there are more results.

    // Pass that back as a query parameter to get the next page of data.

    cursor = data?.pagination?.cursor;

    } while (cursor)

    }

    fetchAll();

    ```

    - You''ll notice smaller responses. Most endpoints accept an `expand` query parameter that let''s you specify which related objects and collections you want to expand.'
  version: V2
  contact: {}
servers:
- url: https://public-api.drata.com/public/v2
- url: https://public-api.eu.drata.com/public/v2
- url: https://public-api.apac.drata.com/public/v2
tags:


# --- truncated at 32 KB (87 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/drata/refs/heads/main/openapi/drata-vendors-api-openapi.yml