Drata Controls API

Controls are a strategic measure or safeguard that an organization puts in place to protect its assets and meet the requirements of specific compliance frameworks.

Operations 8

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}/controls List controls in a workspace · List Controls #
Ask an LLM
“Which of our controls are not ready yet?”
“Can I find controls that have no evidence or no passing test?”
Tell an agent
List controls in workspace {workspace}.
Show controls in workspace {workspace} tied to policy {policy}.
POST /workspaces/{workspaceId}/controls Create a custom control · Create Control #
Ask an LLM
“How do I add our own custom control?”
“Can I attach policies, tests and owners when creating a control?”
Tell an agent
Create a custom control {name} with code {code} and description {description} in workspace {workspace}.
Add control {code} named {name} and assign owners {owners}.
GET /workspaces/{workspaceId}/controls/{controlId} Get a control's full detail · Get Control #
Ask an LLM
“What is everything recorded about one control?”
“Can I look up a single control by its ID?”
Tell an agent
Get control {control} in workspace {workspace}.
Show me all the information for control {control}.
PUT /workspaces/{workspaceId}/controls/{controlId} Edit a control · Modify Control #
Ask an LLM
“Can I rename a control or change its code?”
“Is it possible to re-map a control to different policies or tests?”
Tell an agent
Rename control {control} in workspace {workspace} to {name}.
Link control {control} to tests {tests}.
GET /workspaces/{workspaceId}/controls/{controlId}/requirements List the requirements a control maps to · List Requirements for Control #
Ask an LLM
“Which framework requirements does a control satisfy?”
“Can I see a control's requirements for just one framework?”
Tell an agent
List requirements mapped to control {control} in workspace {workspace}.
Show requirements for control {control} in framework {framework}.
POST /workspaces/{workspaceId}/controls/action-reset-mappings Reset controls to template mappings · Reset Control Requirement Mappings #
Ask an LLM
“Can I undo our changes to control requirement mappings?”
“Which controls can't be reset to their original mappings?”
Tell an agent
Reset requirement mappings for controls {controls} in workspace {workspace}.
Restore the template requirement mappings on controls {controls}.
POST /workspaces/{workspaceId}/controls/{controlId}/actions Mark a control in or out of scope · Perform Control Action #
Ask an LLM
“How do I mark a control as out of scope?”
“Can I bring an out-of-scope control back into scope?”
Tell an agent
Mark control {control} in workspace {workspace} out of scope because {rationale}.
Apply action {action} to control {control}.
GET /workspaces/{workspaceId}/controls-requirement-comparison Compare control mappings with templates · Compare Control Requirements #
Ask an LLM
“How do our control requirement mappings differ from the template defaults?”
“Can I compare several controls against their template mappings at once?”
Tell an agent
Compare requirement mappings for controls {controls} in workspace {workspace} against the templates.
Show where controls {controls} drift from their global template mappings.

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