Drata Evidence API

Evidence items hold one or more artifacts, the files, URLs, or ticket references that demonstrate a control is operating. Use the evidence-files endpoint to pre-upload a file, then reference the returned fileKey when creating or updating an Evidence item.

Business capability
Regulatory Compliance Management BC-130.10

Operations 10

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 /workspaces/{workspaceId}/evidence List evidence items in a workspace · List Evidence Items #
Ask an LLM
“What evidence do we have collected for our compliance program?”
“Can I filter evidence by framework, owner or status?”
Tell an agent
List evidence items in workspace {workspace}.
Find evidence named {name} in workspace {workspace}.
POST /workspaces/{workspaceId}/evidence Create an evidence item with artifacts · Create Evidence #
Ask an LLM
“How do I add new evidence and attach files to it?”
“Can I link new evidence to controls when I create it?”
Tell an agent
Create evidence {name} in workspace {workspace} with artifacts {artifacts}.
Add evidence {name} to workspace {workspace}, owned by {owner} and linked to controls {controls}.
POST /workspaces/{workspaceId}/evidence-files Pre-upload a file for evidence · Upload Evidence Artifact File #
Ask an LLM
“Can I send an evidence file as Base64 instead of multipart?”
“How do I get a file key to reference in an evidence item?”
Tell an agent
Upload this file to workspace {workspace} so I can use it as an evidence artifact.
Pre-upload the Base64 file {base64} to workspace {workspace} and give me the file key.
GET /workspaces/{workspaceId}/evidence/{evidenceId} Get one evidence item · Get Evidence Item #
Ask an LLM
“What does a single evidence item contain?”
“Can I look up evidence by its ID?”
Tell an agent
Get evidence {evidence} in workspace {workspace}.
Show me the details of evidence item {evidence}.
PUT /workspaces/{workspaceId}/evidence/{evidenceId} Update an evidence item and its artifacts · Update Evidence #
Ask an LLM
“Can I replace or archive artifacts while editing an evidence item?”
“How can I change the renewal date on existing evidence?”
Tell an agent
Update evidence {evidence} in workspace {workspace} to renew on {renewal_date}.
Add new artifacts {artifacts} to existing evidence {evidence}.
DELETE /workspaces/{workspaceId}/evidence/{evidenceId} Permanently delete an evidence item · Delete Evidence #
Ask an LLM
“Can I remove an evidence item together with all its artifacts?”
“Is deleting evidence permanent?”
Tell an agent destructive · confirm first
Delete evidence {evidence} from workspace {workspace}.
Permanently remove evidence item {evidence} and everything attached to it.
GET /workspaces/{workspaceId}/evidence/{evidenceId}/artifacts List the artifacts on an evidence item · List Evidence Artifacts #
Ask an LLM
“Which files, URLs or tickets are attached to an evidence item?”
“Can I see only the archived artifacts on a piece of evidence?”
Tell an agent
List artifacts on evidence {evidence} in workspace {workspace}.
Show the archived artifacts of evidence {evidence}.
PUT /workspaces/{workspaceId}/evidence/{evidenceId}/artifacts/{artifactId} Rename an artifact or change its filed date · Update Evidence Artifact #
Ask an LLM
“Can I rename a single artifact without replacing its file?”
“How do I correct the filed date on one artifact?”
Tell an agent
Rename artifact {artifact} on evidence {evidence} in workspace {workspace} to {artifact_name}.
Set the filed date of artifact {artifact} to {filed_at}.
DELETE /workspaces/{workspaceId}/evidence/{evidenceId}/artifacts/{artifactId} Delete one artifact and its history · Delete Evidence Artifact #
Ask an LLM
“Can I delete just one artifact and keep the evidence item?”
“Does deleting an artifact also wipe its version history?”
Tell an agent destructive · confirm first
Delete artifact {artifact} from evidence {evidence} in workspace {workspace}.
Permanently remove artifact {artifact} including all its versions.
POST /workspaces/{workspaceId}/evidence/{evidenceId}/artifacts/{artifactId}/actions Archive or restore an evidence artifact · Perform Evidence Artifact Action #
Ask an LLM
“Can I move an artifact to past artifacts without deleting it?”
“Is archiving an evidence artifact reversible?”
Tell an agent
Archive artifact {artifact} on evidence {evidence} in workspace {workspace}.
Run action {action} on artifact {artifact} of evidence {evidence}.

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-evidence-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-evidence-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Drata Evidence 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 (60 KB total) ---
# Full source: https://artifacts.apis.io/drata/openapi/drata-evidence-api-openapi.yml