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.
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
# 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.
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.