{"openapi":"3.1.0","info":{"title":"ElevenLabs Agents (BYOK) API","version":"0.1.0","description":"ElevenLabs Agents (BYOK) lets an AI assistant read your own ElevenLabs Agents data through the ElevenLabs Agents API with a key you supply (API key). Read-only: 9 tools (list_tools, list_knowledge_base_documents, list_phone_numbers, list_mcp_servers, list_llms, list_agent_tests, list_batch_calling_jobs, list_conversation_tags, get_live_conversation_count). The BYOK key travels with each request,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-elevenlabs-agents.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-elevenlabs-agents/docs"},"termsOfService":"https://connectorbay.com/byok-elevenlabs-agents/terms"},"servers":[{"url":"https://byok-elevenlabs-agents.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-elevenlabs-agents/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_tools":{"post":{"operationId":"list_tools","summary":"List the tools available to your conversational agents (webhook, client, MCP and system tools) with name, type and descr","description":"List the tools available to your conversational agents (webhook, client, MCP and system tools) with name, type and description. Page size up to 100. Use for \"Which tools can my ElevenLabs agents call\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's next_cursor to get the following page.","title":"Cursor"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Tools per page (1 to 100, default 30).","title":"Page Size"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only tools whose name starts with this text.","title":"Search"},"sort_by":{"anyOf":[{"enum":["name","created_at"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by name or created_at.","title":"Sort By"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction: asc or desc.","title":"Sort Direction"},"used_by_agent_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only tools referenced by this agent id.","title":"Used By Agent Id"}},"title":"list_toolsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_knowledge_base_documents":{"post":{"operationId":"list_knowledge_base_documents","summary":"List agent knowledge base documents and folders with name, type, size and update time (content is not returned). Page si","description":"List agent knowledge base documents and folders with name, type, size and update time (content is not returned). Page size up to 100. Use for \"What documents are in my ElevenLabs agent knowledge base\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's next_cursor to get the following page.","title":"Cursor"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Documents per page (1 to 100, default 30).","title":"Page Size"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only documents whose name starts with this text.","title":"Search"},"types":{"anyOf":[{"enum":["file","url","text","folder"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this kind of entry.","title":"Types"},"parent_folder_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only direct children of this folder id.","title":"Parent Folder Id"},"sort_by":{"anyOf":[{"enum":["name","created_at","updated_at","size"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by name, created_at, updated_at or size.","title":"Sort By"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction: asc or desc.","title":"Sort Direction"}},"title":"list_knowledge_base_documentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_phone_numbers":{"post":{"operationId":"list_phone_numbers","summary":"List phone numbers imported into the agent platform with label, provider and the agent each one is assigned to. Use for ","description":"List phone numbers imported into the agent platform with label, provider and the agent each one is assigned to. Use for \"Which phone numbers are connected to my ElevenLabs agents\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"provider":{"anyOf":[{"enum":["twilio","sip_trunk","exotel"],"type":"string"},{"type":"null"}],"default":null,"description":"Only numbers from this telephony provider.","title":"Provider"},"agent_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only numbers assigned to this agent id.","title":"Agent Id"}},"title":"list_phone_numbersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_mcp_servers":{"post":{"operationId":"list_mcp_servers","summary":"List MCP servers configured in the workspace with name, transport, approval policy and creation time (URLs and tokens ar","description":"List MCP servers configured in the workspace with name, transport, approval policy and creation time (URLs and tokens are not returned). Use for \"Which MCP servers are set up for my ElevenLabs agents\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_mcp_serversArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_llms":{"post":{"operationId":"list_llms","summary":"List the language models an agent can use with output and context token limits, image and document input support and any","description":"List the language models an agent can use with output and context token limits, image and document input support and any deprecation notice. Use for \"Which LLMs can I pick for an ElevenLabs agent and what are their context limits\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_llmsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_agent_tests":{"post":{"operationId":"list_agent_tests","summary":"List agent response tests and test folders with name, type and last update time. Page size up to 100. Use for \"What auto","description":"List agent response tests and test folders with name, type and last update time. Page size up to 100. Use for \"What automated tests do I have for my ElevenLabs agents\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's next_cursor to get the following page.","title":"Cursor"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Tests per page (1 to 100, default 30).","title":"Page Size"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Filter tests and folders by name.","title":"Search"},"parent_folder_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only items in this folder id; use 'root' for the top level.","title":"Parent Folder Id"}},"title":"list_agent_testsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_batch_calling_jobs":{"post":{"operationId":"list_batch_calling_jobs","summary":"List batch calling jobs of the workspace with agent, status, schedule and dispatched, scheduled and finished call counts","description":"List batch calling jobs of the workspace with agent, status, schedule and dispatched, scheduled and finished call counts. Use for \"How are my ElevenLabs batch calling campaigns going\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Jobs to return (default 100).","title":"Limit"},"last_doc":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Value of next_doc from the previous answer to get the next page.","title":"Last Doc"},"agent_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only batch calls of this agent id.","title":"Agent Id"}},"title":"list_batch_calling_jobsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_conversation_tags":{"post":{"operationId":"list_conversation_tags","summary":"List the tags used to label agent conversations with title, description and creation time. Page size up to 100. Use for ","description":"List the tags used to label agent conversations with title, description and creation time. Page size up to 100. Use for \"Which conversation tags have I defined in ElevenLabs\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's next_cursor to get the following page.","title":"Cursor"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Tags per page (1 to 100, default 100).","title":"Page Size"}},"title":"list_conversation_tagsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_live_conversation_count":{"post":{"operationId":"get_live_conversation_count","summary":"Show how many agent conversations are happening right now, optionally for one agent. Use for \"How many ElevenLabs agent ","description":"Show how many agent conversations are happening right now, optionally for one agent. Use for \"How many ElevenLabs agent conversations are live right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"agent_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only count conversations of this agent id.","title":"Agent Id"}},"title":"get_live_conversation_countArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}