{"openapi":"3.1.0","info":{"title":"D-ID (BYOK) API","version":"0.1.0","description":"D-ID (BYOK) lets an AI assistant read your own D-ID data through the D-ID API with a key you supply (D-ID API key in the form API_USER:API_PASSWORD). Read-only: 8 tools (get_credits, list_talks, list_clips, list_presenters, list_agent_sessions, list_agents, list_voices, list_knowledge_bases). The BYOK key travels with each request, is used for that one call only and is never stored, logged or...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-did.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-did/docs"},"termsOfService":"https://connectorbay.com/byok-did/terms"},"servers":[{"url":"https://byok-did.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-did/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_credits":{"post":{"operationId":"get_credits","summary":"Show remaining and total credits, with each credit item's expiry, product and billing interval. Use for \"How many D-ID c","description":"Show remaining and total credits, with each credit item's expiry, product and billing interval. Use for \"How many D-ID credits do I have left\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_creditsArguments","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_talks":{"post":{"operationId":"list_talks","summary":"List talking-head videos (talks) with status, creation time, source image and result link. Use for \"Which D-ID talks hav","description":"List talking-head videos (talks) with status, creation time, source image and result link. Use for \"Which D-ID talks have finished rendering\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100).","title":"Limit"},"token":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"The token from the previous answer to fetch the next page.","title":"Token"}},"title":"list_talksArguments","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_clips":{"post":{"operationId":"list_clips","summary":"List clips (presenter videos) with status, presenter, creation and completion time and result link. Use for \"Show my lat","description":"List clips (presenter videos) with status, presenter, creation and completion time and result link. Use for \"Show my latest D-ID clips\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100).","title":"Limit"},"token":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"The token from the previous answer to fetch the next page.","title":"Token"}},"title":"list_clipsArguments","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_presenters":{"post":{"operationId":"list_presenters","summary":"List available presenters (avatars) with name, gender, status and preview image. Use for \"Which presenters can I use in ","description":"List available presenters (avatars) with name, gender, status and preview image. Use for \"Which presenters can I use in D-ID\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many presenters to return (1 to 1000).","title":"Limit"},"token":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"The token from the previous answer to fetch the next page.","title":"Token"}},"title":"list_presentersArguments","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_sessions":{"post":{"operationId":"list_agent_sessions","summary":"List agent conversation sessions with duration, message count, rating and AI-generated insights (headline, outcome, topi","description":"List agent conversation sessions with duration, message count, rating and AI-generated insights (headline, outcome, topics). Use for \"How did my D-ID agent sessions go this week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"agent_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only sessions of this agent id.","title":"Agent Id"},"from_time":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only sessions that started at or after this ISO 8601 time, for example 2026-10-01T00:00:00.000Z.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only sessions that started at or before this ISO 8601 time.","title":"To Time"},"topic":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only sessions about this topic from the insights topics list.","title":"Topic"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100).","title":"Limit"},"token":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"The token from the previous answer to fetch the next page.","title":"Token"}},"title":"list_agent_sessionsArguments","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_agents":{"post":{"operationId":"list_agents","summary":"List the account's D-ID agents (interactive avatars). Use for \"Which D-ID agents do I have\".","description":"List the account's D-ID agents (interactive avatars). Use for \"Which D-ID agents do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many agents to return (1 to 100).","title":"Limit"},"token":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"The token from the previous answer to fetch the next page.","title":"Token"}},"title":"list_agentsArguments","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_voices":{"post":{"operationId":"list_voices","summary":"List text-to-speech voices, optionally filtered by provider or voice id. Use for \"Which D-ID voices are available\".","description":"List text-to-speech voices, optionally filtered by provider or voice id. Use for \"Which D-ID voices are available\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"provider":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only voices of this provider, for example microsoft, elevenlabs or amazon.","title":"Provider"},"voice_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only the voice with this id (unique per provider).","title":"Voice Id"}},"title":"list_voicesArguments","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_bases":{"post":{"operationId":"list_knowledge_bases","summary":"List the knowledge bases attached to the account (used by agents). Use for \"Which D-ID knowledge bases exist\".","description":"List the knowledge bases attached to the account (used by agents). Use for \"Which D-ID knowledge bases exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_knowledge_basesArguments","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}}}}