{"openapi":"3.1.0","info":{"title":"Resemble AI (BYOK) API","version":"0.1.0","description":"Resemble AI (BYOK) lets an AI assistant read your own Resemble AI data through the Resemble AI API with a key you supply (Resemble API key). Read-only: 12 tools (get_account, list_teams, list_detections, get_detection, list_investigators, list_investigation_runs, get_investigation_run, list_intelligences, get_intelligence, list_text_detections, list_identities, list_signal_submissions). The BYOK...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-resemble.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-resemble/docs"},"termsOfService":"https://connectorbay.com/byok-resemble/terms"},"servers":[{"url":"https://byok-resemble.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-resemble/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_account":{"post":{"operationId":"get_account","summary":"Show the Resemble AI account the key belongs to. Use for \"Which Resemble AI account is my API key for\".","description":"Show the Resemble AI account the key belongs to. Use for \"Which Resemble AI account is my API key for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_accountArguments","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_teams":{"post":{"operationId":"list_teams","summary":"List the teams of the account. Use for \"Which teams are on my Resemble AI account\".","description":"List the teams of the account. Use for \"Which teams are on my Resemble AI account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_teamsArguments","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_detections":{"post":{"operationId":"list_detections","summary":"List deepfake detection jobs, newest first, with media type, status, modality, file name, duration, the result metrics a","description":"List deepfake detection jobs, newest first, with media type, status, modality, file name, duration, the result metrics and any error. Use for \"Which of my Resemble deepfake detections found fake audio\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":10,"type":"integer"},{"type":"null"}],"default":10,"description":"How many items per page (10 to 100).","title":"Page Size"}},"title":"list_detectionsArguments","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_detection":{"post":{"operationId":"get_detection","summary":"Get one deepfake detection result: status, label and score for audio, image or video, and the watermark status. Use for ","description":"Get one deepfake detection result: status, label and score for audio, image or video, and the watermark status. Use for \"Was Resemble detection 7f3c9a10-2b4d-4e5f-8a6b-1c2d3e4f5a6b real or fake\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"uuid":{"description":"Detection uuid as returned by list_detections.","maxLength":200,"title":"Uuid","type":"string"},"experts":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include the completed Intelligence results as an array.","title":"Experts"}},"required":["uuid"],"title":"get_detectionArguments","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_investigators":{"post":{"operationId":"list_investigators","summary":"List the Investigators (AI agents that examine media for manipulation) with name, tier, tagline and activation state. Us","description":"List the Investigators (AI agents that examine media for manipulation) with name, tier, tagline and activation state. Use for \"Which Resemble Investigators are available to me\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_investigatorsArguments","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_investigation_runs":{"post":{"operationId":"list_investigation_runs","summary":"List the runs of one Investigator with status, verdict result, inputs and times. Use for \"What did my Resemble Investiga","description":"List the runs of one Investigator with status, verdict result, inputs and times. Use for \"What did my Resemble Investigator conclude in recent runs\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"uuid":{"description":"Investigator uuid as returned by list_investigators.","maxLength":200,"title":"Uuid","type":"string"}},"required":["uuid"],"title":"list_investigation_runsArguments","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_investigation_run":{"post":{"operationId":"get_investigation_run","summary":"Get one Investigator run with status, verdict, recommended action, confidence, inputs and error. Use for \"What was the v","description":"Get one Investigator run with status, verdict, recommended action, confidence, inputs and error. Use for \"What was the verdict of Resemble investigation run 11111111-2222-3333-4444-555555555555\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"uuid":{"description":"Investigator uuid as returned by list_investigators.","maxLength":200,"title":"Uuid","type":"string"},"run_id":{"description":"Run uuid as returned by list_investigation_runs.","maxLength":200,"title":"Run Id","type":"string"}},"required":["uuid","run_id"],"title":"get_investigation_runArguments","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_intelligences":{"post":{"operationId":"list_intelligences","summary":"List intelligence reports (AI analysis of detected media) with detection id, media type and description. Use for \"Which ","description":"List intelligence reports (AI analysis of detected media) with detection id, media type and description. Use for \"Which Resemble intelligence reports do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":10,"type":"integer"},{"type":"null"}],"default":10,"description":"How many items per page (10 to 100).","title":"Page Size"}},"title":"list_intelligencesArguments","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_intelligence":{"post":{"operationId":"get_intelligence","summary":"Get one intelligence report: speaker, language, emotion, context, abnormalities, transcription and fraud or liveness fin","description":"Get one intelligence report: speaker, language, emotion, context, abnormalities, transcription and fraud or liveness findings. Use for \"What did Resemble's intelligence report say about the speaker in report 7f3c9a10-2b4d-4e5f-8a6b-1c2d3e4f5a6b\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"uuid":{"description":"Intelligence report uuid as returned by list_intelligences.","maxLength":200,"title":"Uuid","type":"string"}},"required":["uuid"],"title":"get_intelligenceArguments","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_text_detections":{"post":{"operationId":"list_text_detections","summary":"List AI-generated text detections with status, prediction, confidence and the text. Use for \"Which of my Resemble text c","description":"List AI-generated text detections with status, prediction, confidence and the text. Use for \"Which of my Resemble text checks were flagged as AI-written\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":10,"type":"integer"},{"type":"null"}],"default":10,"description":"How many items per page (10 to 100).","title":"Page Size"}},"title":"list_text_detectionsArguments","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_identities":{"post":{"operationId":"list_identities","summary":"List voice identities (reference voices) with name, type, visibility, notes and project count. Filter by name. Use for \"","description":"List voice identities (reference voices) with name, type, visibility, notes and project count. Filter by name. Use for \"Which voice identities are stored in my Resemble account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only identities whose name matches this text.","title":"Search"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":10,"type":"integer"},{"type":"null"}],"default":10,"description":"How many items per page (10 to 100).","title":"Page Size"}},"title":"list_identitiesArguments","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_signal_submissions":{"post":{"operationId":"list_signal_submissions","summary":"List Signal content-scoring submissions with input type, verdict, top category and scores. Use for \"What verdicts did Re","description":"List Signal content-scoring submissions with input type, verdict, top category and scores. Use for \"What verdicts did Resemble Signal give my recent submissions\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many submissions per page (1 to 100).","title":"Per Page"}},"title":"list_signal_submissionsArguments","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}}}}