ElevenLabs · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for ElevenLabs API Documentation Workspace API

30 actions 30 updates phrasing extends openapi/elevenlabs-workspace-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for ElevenLabs's API. It is a proposal applied on top of the contract, not a document ElevenLabs publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 30 · first 16 shown; the file carries all of them

$.info
$.paths['/v1/workspaces/api-keys/disable'].post
$.paths['/v1/workspaces/api-keys/third-party-disabling'].post
$.paths['/v1/service-accounts/{service_account_user_id}/api-keys'].get
$.paths['/v1/service-accounts/{service_account_user_id}/api-keys'].post
$.paths['/v1/service-accounts/{service_account_user_id}/api-keys/{api_key_id}'].delete
$.paths['/v1/service-accounts/{service_account_user_id}/api-keys/{api_key_id}'].patch
$.paths['/v1/workspace/audit-logs'].get
$.paths['/v1/workspace/auth-connections'].get
$.paths['/v1/workspace/auth-connections'].post
$.paths['/v1/workspace/auth-connections/{auth_connection_id}'].delete
$.paths['/v1/workspace/auth-connections/{auth_connection_id}'].patch
$.paths['/v1/service-accounts'].get
$.paths['/v1/service-accounts'].post
$.paths['/v1/workspace/groups'].get
$.paths['/v1/workspace/groups/search'].get

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 ElevenLabs API Documentation Workspace API
  version: 1.0.0
extends: openapi/elevenlabs-workspace-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: 29
- target: $.paths['/v1/workspaces/api-keys/disable'].post
  update:
    x-apievangelist-phrasing:
      intent: Disable the API key making this request
      effect: destructive
      questions:
      - How can I switch off the very API key I'm calling with if I think it leaked?
      - Why does disabling my own key require api_key_name set to self?
      - Is there a way for a key holder to kill their ElevenLabs API key without logging into the dashboard?
      instructions:
      - text: Disable the API key I'm authenticating with right now, confirming with {api_key_name}.
        slots:
          api_key_name: query.api_key_name
      - text: Self-disable this request's API key because it was exposed publicly.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspaces/api-keys/third-party-disabling'].post
  update:
    x-apievangelist-phrasing:
      intent: Set the workspace third-party key disabling policy
      effect: write
      questions:
      - Can I force every API key in my workspace to be disable-able by whoever holds it?
      - What happens if I clear the workspace override for third-party key disabling?
      - How do workspace admins stop leaked keys from being turned off by outsiders?
      instructions:
      - text: Set the workspace third-party disabling policy to {third_party_disable_allowed} for all keys.
        slots:
          third_party_disable_allowed: requestBody.third_party_disable_allowed
      - text: Clear the workspace-wide override so each key's own third-party disabling setting applies again.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/service-accounts/{service_account_user_id}/api-keys'].get
  update:
    x-apievangelist-phrasing:
      intent: List a service account's API keys
      effect: read
      questions:
      - Which API keys belong to a given service account?
      - How can I audit the keys issued to one of my service accounts?
      instructions:
      - text: List all API keys for service account {service_account_user_id}.
        slots:
          service_account_user_id: path.service_account_user_id
      - text: Show me every key issued to the service account {service_account_user_id}.
        slots:
          service_account_user_id: path.service_account_user_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/service-accounts/{service_account_user_id}/api-keys'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an API key for a service account
      effect: write
      questions:
      - How do I issue a new API key for a service account?
      - Can I cap a new service account key to a character limit or restrict it to certain IP ranges?
      - What permissions can I scope a freshly created service account key to?
      instructions:
      - text: Create an API key named {name} for service account {service_account_user_id} with permissions {permissions}.
        slots:
          name: requestBody.name
          service_account_user_id: path.service_account_user_id
          permissions: requestBody.permissions
      - text: Issue a new key {name} for service account {service_account_user_id} limited to IPs {allowed_ips}.
        slots:
          name: requestBody.name
          service_account_user_id: path.service_account_user_id
          allowed_ips: requestBody.allowed_ips
      - text: Make a service account key for {service_account_user_id} capped at {character_limit} characters.
        slots:
          service_account_user_id: path.service_account_user_id
          character_limit: requestBody.character_limit
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/service-accounts/{service_account_user_id}/api-keys/{api_key_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a service account's API key
      effect: destructive
      questions:
      - How do I permanently remove an API key from a service account?
      - Can I delete a single service account key without affecting its other keys?
      instructions:
      - text: Delete API key {api_key_id} from service account {service_account_user_id}.
        slots:
          api_key_id: path.api_key_id
          service_account_user_id: path.service_account_user_id
      - text: Remove the service account key {api_key_id} belonging to {service_account_user_id} for good.
        slots:
          api_key_id: path.api_key_id
          service_account_user_id: path.service_account_user_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/service-accounts/{service_account_user_id}/api-keys/{api_key_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a service account's API key
      effect: write
      questions:
      - Can I temporarily disable a service account key instead of deleting it?
      - How do I change the permissions or IP allowlist on an existing service account key?
      - Is it possible to rename a service account API key after it was created?
      instructions:
      - text: Set is_enabled to {is_enabled} on key {api_key_id} of service account {service_account_user_id}.
        slots:
          is_enabled: requestBody.is_enabled
          api_key_id: path.api_key_id
          service_account_user_id: path.service_account_user_id
      - text: Change the permissions on service account {service_account_user_id}'s key {api_key_id} to {permissions}.
        slots:
          service_account_user_id: path.service_account_user_id
          api_key_id: path.api_key_id
          permissions: requestBody.permissions
      - text: Update the character limit of existing key {api_key_id} for {service_account_user_id} to {character_limit}.
        slots:
          api_key_id: path.api_key_id
          service_account_user_id: path.service_account_user_id
          character_limit: requestBody.character_limit
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/audit-logs'].get
  update:
    x-apievangelist-phrasing:
      intent: Read the workspace audit log
      effect: read
      questions:
      - Where can I see who changed what in my workspace?
      - Can I filter the audit log by a specific user or a time window?
      - What plan and permission do I need to read workspace audit logs?
      instructions:
      - text: Show audit log entries from {time_from_unix_ms} to {time_to_unix_ms}.
        slots:
          time_from_unix_ms: query.time_from_unix_ms
          time_to_unix_ms: query.time_to_unix_ms
      - text: Pull audit events performed by user {actor_uid}.
        slots:
          actor_uid: query.actor_uid
      - text: List audit log entries for the activity {activity_name}.
        slots:
          activity_name: query.activity_name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/auth-connections'].get
  update:
    x-apievangelist-phrasing:
      intent: List workspace OAuth2 auth connections
      effect: read
      questions:
      - Which OAuth2 auth connections are set up in my workspace?
      - Can I see all the auth connections my workspace has configured?
      instructions:
      - text: List every auth connection in my workspace.
      - text: Show the OAuth2 connections configured for this workspace.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/auth-connections'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a workspace OAuth2 auth connection
      effect: write
      questions:
      - How do I add a new OAuth2 auth connection to my workspace?
      - Can I register an OAuth2 connection at the workspace level?
      instructions:
      - text: Create a new OAuth2 auth connection for the workspace.
      - text: Add an OAuth2 auth connection to my workspace.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/auth-connections/{auth_connection_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a workspace auth connection
      effect: destructive
      questions:
      - How do I remove an OAuth2 auth connection my workspace no longer uses?
      - Can I delete a single auth connection from the workspace?
      instructions:
      - text: Delete auth connection {auth_connection_id}.
        slots:
          auth_connection_id: path.auth_connection_id
      - text: Remove the workspace auth connection {auth_connection_id}.
        slots:
          auth_connection_id: path.auth_connection_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/auth-connections/{auth_connection_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a workspace auth connection
      effect: write
      questions:
      - Can I edit an existing OAuth2 auth connection instead of recreating it?
      - How do I change the settings of a workspace auth connection?
      instructions:
      - text: Update auth connection {auth_connection_id}.
        slots:
          auth_connection_id: path.auth_connection_id
      - text: Edit the configuration of workspace auth connection {auth_connection_id}.
        slots:
          auth_connection_id: path.auth_connection_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/service-accounts'].get
  update:
    x-apievangelist-phrasing:
      intent: List workspace service accounts
      effect: read
      questions:
      - Which service accounts exist in my workspace?
      - How many service accounts does my workspace currently have?
      instructions:
      - text: List all service accounts in the workspace.
      - text: Show me the workspace's service accounts.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/service-accounts'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a workspace service account
      effect: write
      questions:
      - How do I create a service account for automated access to my workspace?
      - What's the limit on service accounts per workspace?
      - Can a new service account share resources with groups by default?
      instructions:
      - text: Create a service account named {name}.
        slots:
          name: requestBody.name
      - text: Add service account {name} that shares with groups {default_sharing_groups} by default.
        slots:
          name: requestBody.name
          default_sharing_groups: requestBody.default_sharing_groups
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/groups'].get
  update:
    x-apievangelist-phrasing:
      intent: List all user groups in the workspace
      effect: read
      questions:
      - What user groups exist in my workspace?
      - Can I get every group in the workspace in one call?
      instructions:
      - text: List all groups in my workspace.
      - text: Show every user group defined in the workspace.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/groups/search'].get
  update:
    x-apievangelist-phrasing:
      intent: Find user groups by name
      effect: read
      questions:
      - How do I look up a workspace group when I only know its name?
      - Can searching groups by name return more than one match?
      instructions:
      - text: Search workspace groups named {name}.
        slots:
          name: query.name
      - text: Find the user group called {name}.
        slots:
          name: query.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/groups/{group_id}/members/remove'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove a member from a user group
      effect: destructive
      questions:
      - How do I take someone out of a workspace group?
      - What permission do I need to remove members from a group?
      instructions:
      - text: Remove {email} from group {group_id}.
        slots:
          email: requestBody.email
          group_id: path.group_id
      - text: Take the member with email {email} out of user group {group_id}.
        slots:
          email: requestBody.email
          group_id: path.group_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/groups/{group_id}/members'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a workspace member to a user group
      effect: write
      questions:
      - How do I put an existing workspace member into a group?
      - Can I add a teammate to a user group by their email?
      instructions:
      - text: Add {email} to group {group_id}.
        slots:
          email: requestBody.email
          group_id: path.group_id
      - text: Put workspace member {email} into user group {group_id}.
        slots:
          email: requestBody.email
          group_id: path.group_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/invites/add'].post
  update:
    x-apievangelist-phrasing:
      intent: Invite one person to the workspace
      effect: write
      questions:
      - How do I invite a colleague to join my workspace by email?
      - Can I set a monthly credit cap for someone when I invite them?
      - Does inviting a user use up one of my subscription seats?
      instructions:
      - text: Invite {email} to the workspace.
        slots:
          email: requestBody.email
      - text: Invite {email} as a {seat_type} seat with a monthly usage limit of {usage_limit}.
        slots:
          email: requestBody.email
          seat_type: requestBody.seat_type
          usage_limit: requestBody.usage_limit
      - text: Send a workspace invitation to {email} and place them in groups {group_ids}.
        slots:
          email: requestBody.email
          group_ids: requestBody.group_ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/invites/add-bulk'].post
  update:
    x-apievangelist-phrasing:
      intent: Invite several people to the workspace at once
      effect: write
      questions:
      - Can I invite a whole list of emails to my workspace in one request?
      - Do bulk workspace invites require the emails to be on a verified domain?
      instructions:
      - text: 'Invite these emails to the workspace in bulk: {emails}.'
        slots:
          emails: requestBody.emails
      - text: Bulk-invite {emails} with seat type {seat_type}.
        slots:
          emails: requestBody.emails
          seat_type: requestBody.seat_type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/invites'].delete
  update:
    x-apievangelist-phrasing:
      intent: Revoke a pending workspace invitation
      effect: destructive
      questions:
      - How do I cancel an invitation I sent by mistake?
      - Will the recipient still see a revoked invite email in their inbox?
      instructions:
      - text: Revoke the pending workspace invitation for {email}.
        slots:
          email: requestBody.email
      - text: Invalidate the invite sent to {email} so it can no longer be accepted.
        slots:
          email: requestBody.email
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/members'].get
  update:
    x-apievangelist-phrasing:
      intent: List workspace members
      effect: read
      questions:
      - Who are all the members of my workspace, including locked ones?
      - Are service accounts included when I list workspace members?
      instructions:
      - text: List every member of my workspace.
      - text: Show all workspace users, including locked accounts.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/members'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a workspace member's role or lock status
      effect: write
      questions:
      - How do I lock a workspace member's account?
      - Can I change someone's seat type in the workspace?
      instructions:
      - text: Lock the workspace account of {email} by setting is_locked to {is_locked}.
        slots:
          email: requestBody.email
          is_locked: requestBody.is_locked
      - text: Change {email}'s workspace seat type to {workspace_seat_type}.
        slots:
          email: requestBody.email
          workspace_seat_type: requestBody.workspace_seat_type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/resources/{resource_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a workspace resource's metadata
      effect: read
      questions:
      - How do I look up the metadata and sharing details of a workspace resource?
      - What do I need to pass besides the ID to fetch a resource?
      instructions:
      - text: Get metadata for {resource_type} resource {resource_id}.
        slots:
          resource_type: query.resource_type
          resource_id: path.resource_id
      - text: Show the resource {resource_id} of type {resource_type}.
        slots:
          resource_id: path.resource_id
          resource_type: query.resource_type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/resources/{resource_id}/share'].post
  update:
    x-apievangelist-phrasing:
      intent: Share a workspace resource with a user or group
      effect: write
      questions:
      - How do I give a teammate editor access to a voice or project in my workspace?
      - Can I grant a role on a resource to a whole group or a service account key?
      - Which roles can I grant when sharing a workspace resource?
      instructions:
      - text: Share {resource_type} {resource_id} with {user_email} as {role}.
        slots:
          resource_type: requestBody.resource_type
          resource_id: path.resource_id
          user_email: requestBody.user_email
          role: requestBody.role
      - text: Grant group {group_id} the {role} role on {resource_type} {resource_id}.
        slots:
          group_id: requestBody.group_id
          role: requestBody.role
          resource_type: requestBody.resource_type
          resource_id: path.resource_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/resources/{resource_id}/unshare'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove someone's access to a workspace resource
      effect: destructive
      questions:
      - How do I revoke a colleague's access to a shared resource?
      - Can I unshare a resource from a group rather than an individual?
      instructions:
      - text: Unshare {resource_type} {resource_id} from {user_email}.
        slots:
          resource_type: requestBody.resource_type
          resource_id: path.resource_id
          user_email: requestBody.user_email
      - text: Remove group {group_id}'s role on {resource_type} {resource_id}.
        slots:
          group_id: requestBody.group_id
          resource_type: requestBody.resource_type
          resource_id: path.resource_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/webhooks'].get
  update:
    x-apievangelist-phrasing:
      intent: List workspace webhooks
      effect: read
      questions:
      - What webhooks are configured for my workspace?
      - Can admins see where each workspace webhook is actively used?
      instructions:
      - text: List the workspace webhooks.
      - text: Show all workspace webhooks with include_usages set to {include_usages}.
        slots:
          include_usages: query.include_usages
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/webhooks'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a workspace webhook
      effect: write
      questions:
      - How do I register a new HMAC-signed webhook for my workspace?
      - Can I set up a webhook to receive workspace events?
      instructions:
      - text: Create a workspace webhook with settings {settings}.
        slots:
          settings: requestBody.settings
      - text: Register a new HMAC-authenticated webhook for the workspace using {settings}.
        slots:
          settings: requestBody.settings
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/webhooks/{webhook_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a workspace webhook
      effect: destructive
      questions:
      - How do I remove a webhook from my workspace entirely?
      - Is deleting a workspace webhook permanent?
      instructions:
      - text: Delete workspace webhook {webhook_id}.
        slots:
          webhook_id: path.webhook_id
      - text: Remove the webhook {webhook_id} from the workspace.
        slots:
          webhook_id: path.webhook_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/workspace/webhooks/{webhook_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update or pause a workspace webhook
      effect: write
      questions:
      - Can I pause a workspace webhook without deleting it?
      - How do I change which workspace events a webhook is subscribed to?
      - Is there an option to turn on automatic retries for failed webhook deliveries?
      instructions:
      - text: Rename webhook {webhook_id} to {name} and set is_disabled to {is_disabled}.
        slots:
          webhook_id: path.webhook_id
          name: requestBody.name
          is_disabled: requestBody.is_disabled
      - text: Subscribe webhook {webhook_id} named {name} to events {events}, keeping is_disabled {is_disabled}.
        slots:
          webhook_id: path.webhook_id
          name: requestBody.name
          events: requestBody.events
          is_disabled: requestBody.is_disabled
      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.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/elevenlabs-workspace-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.