Drata · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Drata Frameworks API

10 actions 10 updates phrasing extends openapi/drata-frameworks-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.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 10

$.info
$.paths['/workspaces/{workspaceId}/frameworks'].get
$.paths['/workspaces/{workspaceId}/frameworks'].post
$.paths['/workspaces/{workspaceId}/framework-requirements'].get
$.paths['/workspaces/{workspaceId}/framework-requirements/{frameworkRequirementId}'].put
$.paths['/workspaces/{workspaceId}/frameworks/{frameworkId}/requirements'].get
$.paths['/workspaces/{workspaceId}/frameworks/{frameworkId}/requirements'].post
$.paths['/workspaces/{workspaceId}/frameworks/{frameworkId}/requirements/{requirementId}/controls'].get
$.paths['/workspaces/{workspaceId}/frameworks/{frameworkId}/requirements/{requirementId}'].put
$.paths['/workspaces/{workspaceId}/frameworks/{frameworkId}'].put

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Drata Frameworks API
  version: 1.0.0
extends: openapi/drata-frameworks-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: 9
- target: $.paths['/workspaces/{workspaceId}/frameworks'].get
  update:
    x-apievangelist-phrasing:
      intent: List compliance frameworks
      effect: read
      questions:
      - Which compliance frameworks are enabled in my workspace?
      - Can I find frameworks that are ready by searching part of their name?
      instructions:
      - text: List frameworks in workspace {workspaceId}.
        slots:
          workspaceId: path.workspaceId
      - text: Find frameworks named like {name} in workspace {workspaceId}.
        slots:
          workspaceId: path.workspaceId
          name: query.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/frameworks'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a custom compliance framework
      effect: write
      questions:
      - How do I add my own custom compliance framework?
      - What does a new custom framework need, like a short badge label?
      instructions:
      - text: Create custom framework {name} ({shortName}) in workspace {workspaceId} described as {description}.
        slots:
          workspaceId: path.workspaceId
          name: requestBody.name
          shortName: requestBody.shortName
          description: requestBody.description
      - text: 'Set up a new framework called {name} with badge {shortName} in workspace {workspaceId}: {description}.'
        slots:
          workspaceId: path.workspaceId
          name: requestBody.name
          shortName: requestBody.shortName
          description: requestBody.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/framework-requirements'].get
  update:
    x-apievangelist-phrasing:
      intent: List requirements workspace-wide (legacy)
      effect: read
      questions:
      - Can I list requirements across all frameworks filtered by framework tag?
      - Does the older workspace-wide requirements endpoint filter by framework slug?
      instructions:
      - text: Using the legacy endpoint, list requirements in workspace {workspaceId} for framework slug {frameworkSlug}.
        slots:
          workspaceId: path.workspaceId
          frameworkSlug: query.frameworkSlug
      - text: Show in-scope requirements tagged {frameworkTag} across workspace {workspaceId}.
        slots:
          workspaceId: path.workspaceId
          frameworkTag: query.frameworkTag
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/framework-requirements/{frameworkRequirementId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Set requirement custom fields (legacy)
      effect: write
      questions:
      - 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?
      instructions:
      - text: Using the legacy endpoint, set custom fields {customFields} on requirement {frameworkRequirementId} in workspace {workspaceId}.
        slots:
          workspaceId: path.workspaceId
          frameworkRequirementId: path.frameworkRequirementId
          customFields: requestBody.customFields
      - text: Through the older workspace-level path, write custom field values {customFields} to requirement {frameworkRequirementId}, workspace {workspaceId}.
        slots:
          workspaceId: path.workspaceId
          frameworkRequirementId: path.frameworkRequirementId
          customFields: requestBody.customFields
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/frameworks/{frameworkId}/requirements'].get
  update:
    x-apievangelist-phrasing:
      intent: List one framework's requirements
      effect: read
      questions:
      - What requirements make up one specific framework?
      - Can I list only the in-scope requirements of a single framework?
      instructions:
      - text: List requirements of framework {frameworkId} in workspace {workspaceId}.
        slots:
          workspaceId: path.workspaceId
          frameworkId: path.frameworkId
      - text: Show ready requirements of framework {frameworkId} in workspace {workspaceId} where isReady is {isReady}.
        slots:
          workspaceId: path.workspaceId
          frameworkId: path.frameworkId
          isReady: query.isReady
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/frameworks/{frameworkId}/requirements'].post
  update:
    x-apievangelist-phrasing:
      intent: Add requirements to a custom framework
      effect: write
      questions:
      - How do I add requirements to my custom framework in bulk?
      - What happens if two requirements in the same batch share a code?
      instructions:
      - text: Add requirements {data} to custom framework {frameworkId} in workspace {workspaceId}.
        slots:
          workspaceId: path.workspaceId
          frameworkId: path.frameworkId
          data: requestBody.data
      - text: Bulk-load this batch of requirements {data} into framework {frameworkId}, workspace {workspaceId}.
        slots:
          workspaceId: path.workspaceId
          frameworkId: path.frameworkId
          data: requestBody.data
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/frameworks/{frameworkId}/requirements/{requirementId}/controls'].get
  update:
    x-apievangelist-phrasing:
      intent: List controls mapped to a requirement
      effect: read
      questions:
      - Which controls are mapped to a specific framework requirement?
      - Can I get the full control list for a requirement beyond the capped expand?
      instructions:
      - text: List controls mapped to requirement {requirementId} of framework {frameworkId} in workspace {workspaceId}.
        slots:
          workspaceId: path.workspaceId
          frameworkId: path.frameworkId
          requirementId: path.requirementId
      - text: Page through all controls behind requirement {requirementId} (framework {frameworkId}, workspace {workspaceId}), {size} at a time.
        slots:
          workspaceId: path.workspaceId
          frameworkId: path.frameworkId
          requirementId: path.requirementId
          size: query.size
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/frameworks/{frameworkId}/requirements/{requirementId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a custom framework requirement
      effect: write
      questions:
      - How do I change which controls map to a custom framework requirement?
      - Can I rename a requirement or move it to a different category?
      instructions:
      - text: Map controls {controlIds} to requirement {requirementId} in framework {frameworkId}, workspace {workspaceId}.
        slots:
          workspaceId: path.workspaceId
          frameworkId: path.frameworkId
          requirementId: path.requirementId
          controlIds: requestBody.controlIds
      - text: Rename requirement {requirementId} of framework {frameworkId} in workspace {workspaceId} to {name}.
        slots:
          workspaceId: path.workspaceId
          frameworkId: path.frameworkId
          requirementId: path.requirementId
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workspaces/{workspaceId}/frameworks/{frameworkId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a custom framework
      effect: write
      questions:
      - Can I rename a custom framework or change its badge label?
      - Where do I edit the description of a framework I created?
      instructions:
      - text: Rename custom framework {frameworkId} in workspace {workspaceId} to {name}.
        slots:
          workspaceId: path.workspaceId
          frameworkId: path.frameworkId
          name: requestBody.name
      - text: Change the short name of framework {frameworkId} in workspace {workspaceId} to {shortName}.
        slots:
          workspaceId: path.workspaceId
          frameworkId: path.frameworkId
          shortName: requestBody.shortName
      method: generated
      generated: '2026-09-26'