Drata Frameworks API

Frameworks are collections of controls that are used to assess compliance with specific standards or regulations. The [help docs](https://help.drata.com/en/articles/5329593-frameworks) have more information.

Business capability
Regulatory Compliance Management BC-130.10

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 /workspaces/{workspaceId}/frameworks List compliance frameworks · List Frameworks #
Ask an LLM
“Which compliance frameworks are enabled in my workspace?”
“Can I find frameworks that are ready by searching part of their name?”
Tell an agent
List frameworks in workspace {workspaceId}.
Find frameworks named like {name} in workspace {workspaceId}.
POST /workspaces/{workspaceId}/frameworks Create a custom compliance framework · Create Custom Framework #
Ask an LLM
“How do I add my own custom compliance framework?”
“What does a new custom framework need, like a short badge label?”
Tell an agent
Create custom framework {name} ({shortName}) in workspace {workspaceId} described as {description}.
Set up a new framework called {name} with badge {shortName} in workspace {workspaceId}: {description}.
GET /workspaces/{workspaceId}/framework-requirements List requirements workspace-wide (legacy) · List Framework Requirements #
Ask an LLM
“Can I list requirements across all frameworks filtered by framework tag?”
“Does the older workspace-wide requirements endpoint filter by framework slug?”
Tell an agent
Using the legacy endpoint, list requirements in workspace {workspaceId} for framework slug {frameworkSlug}.
Show in-scope requirements tagged {frameworkTag} across workspace {workspaceId}.
PUT /workspaces/{workspaceId}/framework-requirements/{frameworkRequirementId} Set requirement custom fields (legacy) · Update Framework Requirement #
Ask an LLM
“Is there an older endpoint to update requirement custom fields without the framework ID?”
“How do I set custom field values on a requirement through the legacy path?”
Tell an agent
Using the legacy endpoint, set custom fields {customFields} on requirement {frameworkRequirementId} in workspace {workspaceId}.
Through the older workspace-level path, write custom field values {customFields} to requirement {frameworkRequirementId}, workspace {workspaceId}.
GET /workspaces/{workspaceId}/frameworks/{frameworkId}/requirements List one framework's requirements · List Framework Requirements #
Ask an LLM
“What requirements make up one specific framework?”
“Can I list only the in-scope requirements of a single framework?”
Tell an agent
List requirements of framework {frameworkId} in workspace {workspaceId}.
Show ready requirements of framework {frameworkId} in workspace {workspaceId} where isReady is {isReady}.
POST /workspaces/{workspaceId}/frameworks/{frameworkId}/requirements Add requirements to a custom framework · Create Framework Requirements #
Ask an LLM
“How do I add requirements to my custom framework in bulk?”
“What happens if two requirements in the same batch share a code?”
Tell an agent
Add requirements {data} to custom framework {frameworkId} in workspace {workspaceId}.
Bulk-load this batch of requirements {data} into framework {frameworkId}, workspace {workspaceId}.
GET /workspaces/{workspaceId}/frameworks/{frameworkId}/requirements/{requirementId}/controls List controls mapped to a requirement · List Controls for a Framework Requirement #
Ask an LLM
“Which controls are mapped to a specific framework requirement?”
“Can I get the full control list for a requirement beyond the capped expand?”
Tell an agent
List controls mapped to requirement {requirementId} of framework {frameworkId} in workspace {workspaceId}.
Page through all controls behind requirement {requirementId} (framework {frameworkId}, workspace {workspaceId}), {size} at a time.
PUT /workspaces/{workspaceId}/frameworks/{frameworkId}/requirements/{requirementId} Update a custom framework requirement · Update Framework Requirement #
Ask an LLM
“How do I change which controls map to a custom framework requirement?”
“Can I rename a requirement or move it to a different category?”
Tell an agent
Map controls {controlIds} to requirement {requirementId} in framework {frameworkId}, workspace {workspaceId}.
Rename requirement {requirementId} of framework {frameworkId} in workspace {workspaceId} to {name}.
PUT /workspaces/{workspaceId}/frameworks/{frameworkId} Update a custom framework · Update Custom Framework #
Ask an LLM
“Can I rename a custom framework or change its badge label?”
“Where do I edit the description of a framework I created?”
Tell an agent
Rename custom framework {frameworkId} in workspace {workspaceId} to {name}.
Change the short name of framework {frameworkId} in workspace {workspaceId} to {shortName}.

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-frameworks-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-frameworks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Drata Frameworks 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 (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/drata/refs/heads/main/openapi/drata-frameworks-api-openapi.yml