ElevenLabs · OpenAPI Overlay 1.0.0
API Evangelist enhancements for the ElevenLabs OpenAPI
5 actions
5 updates
servers
extends
../openapi/elevenlabs-openapi.json
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
serverscontacttermsOfServicex-privacy-policyx-status-pagex-changelogx-breaking-changes-policysecuritySchemes
Targets 3
$
$.info
$.components
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements for the ElevenLabs OpenAPI
version: 1.0.0
extends: ../openapi/elevenlabs-openapi.json
x-provenance:
generated: '2026-09-17'
method: generated
source: openapi/elevenlabs-openapi.json (https://api.elevenlabs.io/openapi.json, OpenAPI
3.1.0, 301 paths / 390 operations)
note: |
This overlay records API Evangelist's enhancements to the provider's published contract.
It NEVER mutates the original spec — the original is stored verbatim in openapi/. Every
action below adds information the provider's own docs state but the contract omits: the
server list, the authentication scheme, contact and licensing, and the rate-limit /
error / reversibility semantics captured in the artifacts alongside it.
The largest gap it closes: the published spec declares NO components.securitySchemes and
applies no security requirement to any of its 390 operations, even though every endpoint
requires the xi-api-key header (which the spec instead carries as a plain header
parameter on 386 operations). A tool reading only the spec cannot tell how to
authenticate. The spec also declares no servers[] at all.
actions:
- target: $
description: Add the five API hosts the provider documents. The published spec declares no
servers[] block, so a generated client has no base URL.
update:
servers:
- url: https://api.elevenlabs.io
description: Production (global, default)
- url: https://api.us.elevenlabs.io
description: Production US data residency
- url: https://api.eu.residency.elevenlabs.io
description: Production EU data residency
- url: https://api.in.residency.elevenlabs.io
description: Production India data residency
- url: https://api.sg.residency.elevenlabs.io
description: Production Singapore data residency
- target: $.info
description: Add contact, terms, licence and external documentation, none of which the
published spec carries.
update:
contact:
name: ElevenLabs Support
email: team@elevenlabs.io
url: https://elevenlabs.io/docs
termsOfService: https://elevenlabs.io/terms-of-use
x-privacy-policy: https://elevenlabs.io/privacy-policy
x-status-page: https://status.elevenlabs.io/
x-changelog: https://elevenlabs.io/docs/changelog
x-breaking-changes-policy: https://elevenlabs.io/docs/eleven-api/resources/breaking-changes-policy
- target: $.components
description: Declare the security schemes the API actually enforces. The provider carries
xi-api-key as a header PARAMETER on 386 operations instead of as a scheme.
update:
securitySchemes:
xiApiKey:
type: apiKey
in: header
name: xi-api-key
description: ElevenLabs API key. Documented at
https://elevenlabs.io/docs/api-reference/authentication. Supports per-key scope
restriction, credit quota and IP allowlisting.
oauth2:
type: oauth2
description: OAuth 2.0 authorization code + PKCE, used by the hosted MCP server and
the ElevenLabs CLI. Metadata at
https://api.elevenlabs.io/.well-known/oauth-authorization-server.
flows:
authorizationCode:
authorizationUrl: https://elevenlabs.io/app/oauth/authorize
tokenUrl: https://api.us.elevenlabs.io/v1/oauth/token
refreshUrl: https://api.us.elevenlabs.io/v1/oauth/token
scopes:
convai_read: Read ElevenAgents resources
convai_write: Create, update and delete ElevenAgents resources
text_to_speech: Generate speech from text
speech_history_read: Read the workspace speech generation history
flows: Access ElevenAgents flows
image_video_generation: Generate images and video
voice_generation: Generate and design voices
- target: $
description: Apply the API key scheme globally, matching the enforced behaviour.
update:
security:
- xiApiKey: []
- target: $
description: Attach the runtime semantics an agent needs before calling anything, sourced
from the provider's docs and recorded in full in the artifacts named here.
update:
x-rate-limits:
model: concurrency
artifact: rate-limits/elevenlabs-rate-limits.yml
status: 429
codes:
- rate_limit_exceeded
- concurrent_limit_exceeded
response_headers:
- current-concurrent-requests
- maximum-concurrent-requests
docs: https://elevenlabs.io/docs/overview/models
x-error-envelope:
artifact: errors/elevenlabs-problem-types.yml
rfc9457: false
shape: '{ "detail": { type, code, message, status, request_id, param } }'
branch_on: detail.code
docs: https://elevenlabs.io/docs/eleven-api/resources/errors
x-idempotency:
coverage: none
note: no Idempotency-Key header exists anywhere in this contract; retrying a failed
generation POST bills twice.
artifact: conventions/elevenlabs-conventions.yml
x-reversibility:
grade: documented
note: cancel exists for crawl jobs, batch calls and file uploads, and agent config is
version/branch restorable. No reversal window is published for anything, and credit
consumption on generation is irreversible.
artifact: conventions/elevenlabs-conventions.yml
x-pagination:
style: cursor
params:
- cursor
- page_size
response_fields:
- next_cursor
- has_more
x-tracing:
response_headers:
- request-id
- x-trace-id
- character-cost
x-mcp-server: https://api.elevenlabs.io/v1/mcp
x-agent-skills: https://github.com/elevenlabs/skills
x-well-known-api-catalog: https://elevenlabs.io/.well-known/api-catalog