{"openapi":"3.1.0","info":{"title":"Rev AI (BYOK) API","version":"0.1.0","description":"Rev AI (BYOK) lets an AI assistant read your own Rev AI data through the Rev AI API with a key you supply (access token). Read-only: 9 tools (get_account, list_transcription_jobs, get_transcription_job, list_custom_vocabularies, list_sentiment_jobs, list_topic_jobs, get_topic_result, list_language_id_jobs, get_language_id_result). The BYOK key travels with each request, is used for that one call...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-revai.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-revai/docs"},"termsOfService":"https://connectorbay.com/byok-revai/terms"},"servers":[{"url":"https://byok-revai.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-revai/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 Rev AI account: email, free and purchased balance in USD, total and invoiced balance, and whether HIPAA is enab","description":"Show the Rev AI account: email, free and purchased balance in USD, total and invoiced balance, and whether HIPAA is enabled. Reading jobs is free; only submitting work costs credits, and this connector never submits. Use for \"How much Rev AI credit do I have left\".","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_transcription_jobs":{"post":{"operationId":"list_transcription_jobs","summary":"List speech-to-text jobs from the last 30 days, newest first, with status, file name, duration, language, transcriber an","description":"List speech-to-text jobs from the last 30 days, newest first, with status, file name, duration, language, transcriber and timestamps. Reading jobs is free; only submitting work costs credits, and this connector never submits. Use for \"Which Rev AI transcription jobs finished recently\".","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 jobs to return (1 to 1000). Jobs older than 30 days are not listed.","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Job ID: return jobs submitted before this one (exclusive), to get the next page. Leave out for the newest jobs.","title":"Starting After"}},"title":"list_transcription_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/get_transcription_job":{"post":{"operationId":"get_transcription_job","summary":"Get one speech-to-text job: status, file name, duration, language, failure reason and timestamps. Reading jobs is free; ","description":"Get one speech-to-text job: status, file name, duration, language, failure reason and timestamps. Reading jobs is free; only submitting work costs credits, and this connector never submits. Use for \"What is the status of Rev AI job Umx5c6F7pH7r\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"job_id":{"description":"Job ID as returned by the list tools (id), for example 'Umx5c6F7pH7r'.","maxLength":60,"title":"Job Id","type":"string"}},"required":["job_id"],"title":"get_transcription_jobArguments","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_custom_vocabularies":{"post":{"operationId":"list_custom_vocabularies","summary":"List the most recent custom vocabularies with ID, processing status, timestamps and any failure reason. Reading jobs is ","description":"List the most recent custom vocabularies with ID, processing status, timestamps and any failure reason. Reading jobs is free; only submitting work costs credits, and this connector never submits. Use for \"What custom vocabularies do I have in Rev AI\".","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 vocabularies to return (1 to 1000).","title":"Limit"}},"title":"list_custom_vocabulariesArguments","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_sentiment_jobs":{"post":{"operationId":"list_sentiment_jobs","summary":"List sentiment analysis jobs from the last 30 days, newest first, with status, language, word count and timestamps. Read","description":"List sentiment analysis jobs from the last 30 days, newest first, with status, language, word count and timestamps. Reading jobs is free; only submitting work costs credits, and this connector never submits. Use for \"Which Rev AI sentiment analysis jobs ran recently\".","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 jobs to return (1 to 1000). Jobs older than 30 days are not listed.","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Job ID: return jobs submitted before this one (exclusive), to get the next page. Leave out for the newest jobs.","title":"Starting After"}},"title":"list_sentiment_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_topic_jobs":{"post":{"operationId":"list_topic_jobs","summary":"List topic extraction jobs from the last 30 days, newest first, with status, language, word count and timestamps. Readin","description":"List topic extraction jobs from the last 30 days, newest first, with status, language, word count and timestamps. Reading jobs is free; only submitting work costs credits, and this connector never submits. Use for \"Which Rev AI topic extraction jobs ran recently\".","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 jobs to return (1 to 1000). Jobs older than 30 days are not listed.","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Job ID: return jobs submitted before this one (exclusive), to get the next page. Leave out for the newest jobs.","title":"Starting After"}},"title":"list_topic_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/get_topic_result":{"post":{"operationId":"get_topic_result","summary":"Get the topics found by a completed topic extraction job, each with a name, a score and the supporting transcript conten","description":"Get the topics found by a completed topic extraction job, each with a name, a score and the supporting transcript content. Reading jobs is free; only submitting work costs credits, and this connector never submits. Use for \"What topics did Rev AI find in job Xk2l9mQ3pT7v\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"job_id":{"description":"Job ID as returned by the list tools (id), for example 'Umx5c6F7pH7r'.","maxLength":60,"title":"Job Id","type":"string"},"threshold":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Only topics with a score at or above this value (0 to 1).","title":"Threshold"}},"required":["job_id"],"title":"get_topic_resultArguments","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_language_id_jobs":{"post":{"operationId":"list_language_id_jobs","summary":"List language identification jobs from the last 30 days, newest first, with status, processed duration and timestamps. R","description":"List language identification jobs from the last 30 days, newest first, with status, processed duration and timestamps. Reading jobs is free; only submitting work costs credits, and this connector never submits. Use for \"Which Rev AI language identification jobs ran recently\".","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 jobs to return (1 to 1000). Jobs older than 30 days are not listed.","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Job ID: return jobs submitted before this one (exclusive), to get the next page. Leave out for the newest jobs.","title":"Starting After"}},"title":"list_language_id_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/get_language_id_result":{"post":{"operationId":"get_language_id_result","summary":"Get the result of a completed language identification job: the most likely language and the confidence for each candidat","description":"Get the result of a completed language identification job: the most likely language and the confidence for each candidate. Reading jobs is free; only submitting work costs credits, and this connector never submits. Use for \"Which language did Rev AI detect in job Lq8d3nB1cY5z\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"job_id":{"description":"Job ID as returned by the list tools (id), for example 'Umx5c6F7pH7r'.","maxLength":60,"title":"Job Id","type":"string"}},"required":["job_id"],"title":"get_language_id_resultArguments","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}}}}