{"openapi":"3.1.0","info":{"title":"Retell AI Platform (BYOK) API","version":"0.1.0","description":"Retell AI Platform (BYOK) lets an AI assistant read your own Retell AI Platform data through the Retell AI Platform API with a key you supply (API key). Read-only: 8 tools (get_api_key_info, get_concurrency, list_apps, get_crm_config, get_contact_sync_status, list_conversation_flows, list_conversation_flow_components, list_agent_versions). The BYOK key travels with each request, is used for that...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-retell-platform.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-retell-platform/docs"},"termsOfService":"https://connectorbay.com/byok-retell-platform/terms"},"servers":[{"url":"https://byok-retell-platform.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-retell-platform/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/get_api_key_info":{"post":{"operationId":"get_api_key_info","summary":"Show which organization and key name the API key belongs to. Use for \"Which Retell organization does my API key belong t","description":"Show which organization and key name the API key belongs to. Use for \"Which Retell organization does my API key belong to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_api_key_infoArguments","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_concurrency":{"post":{"operationId":"get_concurrency","summary":"Show the organization's current concurrent calls, limits, purchased and remaining concurrency and burst settings. Use fo","description":"Show the organization's current concurrent calls, limits, purchased and remaining concurrency and burst settings. Use for \"How many concurrent calls can I run on Retell and how many are active\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_concurrencyArguments","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_apps":{"post":{"operationId":"list_apps","summary":"List connected integration apps (CRM, calendar, knowledge base, support, communication) with provider, name and connecti","description":"List connected integration apps (CRM, calendar, knowledge base, support, communication) with provider, name and connection status; credentials are not returned. Use for \"Which integrations are connected to my Retell account and are they healthy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return (1 to 1000).","title":"Limit"},"sort_order":{"anyOf":[{"enum":["descending","ascending"],"type":"string"},{"type":"null"}],"default":"descending","description":"Order by creation: descending (newest first) or ascending.","title":"Sort Order"},"pagination_key":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"The pagination_key of the previous answer to get the next page (leave empty for the first page).","title":"Pagination Key"}},"title":"list_appsArguments","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_crm_config":{"post":{"operationId":"get_crm_config","summary":"Get the linked CRM app id, last sync time, custom contact fields, post-call analysis mappings and contact tags (memory p","description":"Get the linked CRM app id, last sync time, custom contact fields, post-call analysis mappings and contact tags (memory prompts are not returned). Use for \"How is my Retell CRM integration configured\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_crm_configArguments","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_contact_sync_status":{"post":{"operationId":"get_contact_sync_status","summary":"Show the status of the contact sync with the linked CRM: idle, queued or running, start time and counts of succeeded and","description":"Show the status of the contact sync with the linked CRM: idle, queued or running, start time and counts of succeeded and failed items. Use for \"Is my Retell CRM contact sync running right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_contact_sync_statusArguments","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_flows":{"post":{"operationId":"list_conversation_flows","summary":"List conversation flows with id, version, last modification time, start speaker and model temperature (prompts and nodes","description":"List conversation flows with id, version, last modification time, start speaker and model temperature (prompts and nodes are not returned). Use for \"Which conversation flows exist in my Retell account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return (1 to 1000).","title":"Limit"},"sort_order":{"anyOf":[{"enum":["descending","ascending"],"type":"string"},{"type":"null"}],"default":"descending","description":"Order by creation: descending (newest first) or ascending.","title":"Sort Order"},"pagination_key":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"The pagination_key of the previous answer to get the next page (leave empty for the first page).","title":"Pagination Key"}},"title":"list_conversation_flowsArguments","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_flow_components":{"post":{"operationId":"list_conversation_flow_components","summary":"List shared conversation flow components with name, id, last modification time and the flows that use each one. Use for ","description":"List shared conversation flow components with name, id, last modification time and the flows that use each one. Use for \"Which shared flow components does Retell have and where are they used\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return (1 to 1000).","title":"Limit"},"sort_order":{"anyOf":[{"enum":["descending","ascending"],"type":"string"},{"type":"null"}],"default":"descending","description":"Order by creation: descending (newest first) or ascending.","title":"Sort Order"},"pagination_key":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"The pagination_key of the previous answer to get the next page (leave empty for the first page).","title":"Pagination Key"}},"title":"list_conversation_flow_componentsArguments","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_versions":{"post":{"operationId":"list_agent_versions","summary":"List stored versions of a voice or chat agent with version number, published flag, title, base version and last modifica","description":"List stored versions of a voice or chat agent with version number, published flag, title, base version and last modification time. Use for \"What versions does one of my Retell agents have and which is published\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"agent_id":{"description":"Agent id from a Retell agent list.","maxLength":200,"title":"Agent Id","type":"string"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return (1 to 1000).","title":"Limit"},"sort_order":{"anyOf":[{"enum":["descending","ascending"],"type":"string"},{"type":"null"}],"default":"descending","description":"Order by creation: descending (newest first) or ascending.","title":"Sort Order"},"pagination_key":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"The pagination_key of the previous answer to get the next page (leave empty for the first page).","title":"Pagination Key"}},"required":["agent_id"],"title":"list_agent_versionsArguments","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}}}}