Drata · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Drata Controls API
9 actions
9 updates
phrasing
extends
openapi/drata-controls-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Drata's API. It is a proposal applied on top of the contract, not a document Drata publishes.
What the actions change
x-apievangelist-phrasing
Targets 9
$.info
$.paths['/workspaces/{workspaceId}/controls'].get
$.paths['/workspaces/{workspaceId}/controls'].post
$.paths['/workspaces/{workspaceId}/controls/{controlId}'].get
$.paths['/workspaces/{workspaceId}/controls/{controlId}'].put
$.paths['/workspaces/{workspaceId}/controls/{controlId}/requirements'].get
$.paths['/workspaces/{workspaceId}/controls/action-reset-mappings'].post
$.paths['/workspaces/{workspaceId}/controls/{controlId}/actions'].post
$.paths['/workspaces/{workspaceId}/controls-requirement-comparison'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Drata Controls API
version: 1.0.0
extends: openapi/drata-controls-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 8
- target: $.paths['/workspaces/{workspaceId}/controls'].get
update:
x-apievangelist-phrasing:
intent: List controls in a workspace
effect: read
questions:
- Which of our controls are not ready yet?
- Can I find controls that have no evidence or no passing test?
- What controls are linked to a specific policy?
instructions:
- text: List controls in workspace {workspace}.
slots:
workspace: path.workspaceId
- text: Show controls in workspace {workspace} tied to policy {policy}.
slots:
workspace: path.workspaceId
policy: query.policyId
method: generated
generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/controls'].post
update:
x-apievangelist-phrasing:
intent: Create a custom control
effect: write
questions:
- How do I add our own custom control?
- Can I attach policies, tests and owners when creating a control?
instructions:
- text: Create a custom control {name} with code {code} and description {description} in workspace {workspace}.
slots:
name: requestBody.name
code: requestBody.code
description: requestBody.description
workspace: path.workspaceId
- text: Add control {code} named {name} and assign owners {owners}.
slots:
code: requestBody.code
name: requestBody.name
owners: requestBody.ownersIds
method: generated
generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/controls/{controlId}'].get
update:
x-apievangelist-phrasing:
intent: Get a control's full detail
effect: read
questions:
- What is everything recorded about one control?
- Can I look up a single control by its ID?
instructions:
- text: Get control {control} in workspace {workspace}.
slots:
control: path.controlId
workspace: path.workspaceId
- text: Show me all the information for control {control}.
slots:
control: path.controlId
method: generated
generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/controls/{controlId}'].put
update:
x-apievangelist-phrasing:
intent: Edit a control
effect: write
questions:
- Can I rename a control or change its code?
- Is it possible to re-map a control to different policies or tests?
instructions:
- text: Rename control {control} in workspace {workspace} to {name}.
slots:
control: path.controlId
workspace: path.workspaceId
name: requestBody.name
- text: Link control {control} to tests {tests}.
slots:
control: path.controlId
tests: requestBody.testIds
method: generated
generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/controls/{controlId}/requirements'].get
update:
x-apievangelist-phrasing:
intent: List the requirements a control maps to
effect: read
questions:
- Which framework requirements does a control satisfy?
- Can I see a control's requirements for just one framework?
instructions:
- text: List requirements mapped to control {control} in workspace {workspace}.
slots:
control: path.controlId
workspace: path.workspaceId
- text: Show requirements for control {control} in framework {framework}.
slots:
control: path.controlId
framework: query.frameworkSlug
method: generated
generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/controls/action-reset-mappings'].post
update:
x-apievangelist-phrasing:
intent: Reset controls to template mappings
effect: write
questions:
- Can I undo our changes to control requirement mappings?
- Which controls can't be reset to their original mappings?
instructions:
- text: Reset requirement mappings for controls {controls} in workspace {workspace}.
slots:
controls: requestBody.controlIds
workspace: path.workspaceId
- text: Restore the template requirement mappings on controls {controls}.
slots:
controls: requestBody.controlIds
method: generated
generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/controls/{controlId}/actions'].post
update:
x-apievangelist-phrasing:
intent: Mark a control in or out of scope
effect: write
questions:
- How do I mark a control as out of scope?
- Can I bring an out-of-scope control back into scope?
instructions:
- text: Mark control {control} in workspace {workspace} out of scope because {rationale}.
slots:
control: path.controlId
workspace: path.workspaceId
rationale: requestBody.rationale
- text: Apply action {action} to control {control}.
slots:
action: requestBody.action
control: path.controlId
method: generated
generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/controls-requirement-comparison'].get
update:
x-apievangelist-phrasing:
intent: Compare control mappings with templates
effect: read
questions:
- How do our control requirement mappings differ from the template defaults?
- Can I compare several controls against their template mappings at once?
instructions:
- text: Compare requirement mappings for controls {controls} in workspace {workspace} against the templates.
slots:
controls: query.controlIds[]
workspace: path.workspaceId
- text: Show where controls {controls} drift from their global template mappings.
slots:
controls: query.controlIds[]
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/drata-controls-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.