{"openapi":"3.1.0","info":{"title":"CodeRabbit (BYOK) API","version":"0.1.0","description":"CodeRabbit (BYOK) lets an AI assistant read your own CodeRabbit data through the CodeRabbit API with a key you supply (CodeRabbit API key). Read-only: 5 tools (list_organizations, list_organization_repositories, get_review_metrics, get_review_comment_metrics, get_mcp_usage). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-coderabbit.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-coderabbit/docs"},"termsOfService":"https://connectorbay.com/byok-coderabbit/terms"},"servers":[{"url":"https://byok-coderabbit.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-coderabbit/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_organizations":{"post":{"operationId":"list_organizations","summary":"List the CodeRabbit organizations the key can see (CodeRabbit id, name, git provider). Cursor paged, 10 calls per minute","description":"List the CodeRabbit organizations the key can see (CodeRabbit id, name, git provider). Cursor paged, 10 calls per minute. Needs the Enterprise plan. Use for \"Which organizations are onboarded to CodeRabbit\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Page size (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Opaque next_cursor from the previous page (omit for the first page).","title":"Cursor"}},"title":"list_organizationsArguments","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_organization_repositories":{"post":{"operationId":"list_organization_repositories","summary":"List the repositories CodeRabbit has active for an organization (repository id and name, private flag, group path, insta","description":"List the repositories CodeRabbit has active for an organization (repository id and name, private flag, group path, installed flag). Cursor paged. Needs the Enterprise plan. Use for \"Which repositories does CodeRabbit review for my organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"CodeRabbit organization UUID from list_organizations (not the git-provider id).","maxLength":200,"title":"Organization Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Page size (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Opaque next_cursor from the previous page (omit for the first page).","title":"Cursor"}},"required":["organization_id"],"title":"list_organization_repositoriesArguments","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_review_metrics":{"post":{"operationId":"get_review_metrics","summary":"Per-pull-request review metrics for a date window: timestamps, review iterations, estimated complexity and review minute","description":"Per-pull-request review metrics for a date window: timestamps, review iterations, estimated complexity and review minutes, and how many CodeRabbit comments were posted and accepted by severity and category. Cursor paged. Needs the Enterprise plan. Use for \"How did CodeRabbit reviews perform on our merged pull requests in September\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"start_date":{"description":"Start date, inclusive, YYYY-MM-DD.","maxLength":10,"title":"Start Date","type":"string"},"end_date":{"description":"End date, inclusive, YYYY-MM-DD; not before start_date.","maxLength":10,"title":"End Date","type":"string"},"status":{"anyOf":[{"enum":["merged","closed","all"],"type":"string"},{"type":"null"}],"default":"merged","description":"Which finalized pull requests to include.","title":"Status"},"repository_ids":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated git-provider repository ids to include (at most 10).","title":"Repository Ids"},"format":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; keep json.","title":"Format"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Maximum records per page (1 to 1000).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Opaque next_cursor from the previous page (omit for the first page).","title":"Cursor"}},"required":["start_date","end_date"],"title":"get_review_metricsArguments","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_review_comment_metrics":{"post":{"operationId":"get_review_comment_metrics","summary":"One entry per merged pull request with the stored CodeRabbit findings (comment link, severity, category, accepted flag; ","description":"One entry per merged pull request with the stored CodeRabbit findings (comment link, severity, category, accepted flag; comment text is not returned). Cursor paged. Needs the Enterprise plan. Use for \"What severities of findings did CodeRabbit raise on merged pull requests last month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"start_date":{"description":"Start date, inclusive, YYYY-MM-DD.","maxLength":10,"title":"Start Date","type":"string"},"end_date":{"description":"End date, inclusive, YYYY-MM-DD; not before start_date.","maxLength":10,"title":"End Date","type":"string"},"repository_ids":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated git-provider repository ids to include (at most 10).","title":"Repository Ids"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Maximum records per page (1 to 1000).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Opaque next_cursor from the previous page (omit for the first page).","title":"Cursor"}},"required":["start_date","end_date"],"title":"get_review_comment_metricsArguments","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_mcp_usage":{"post":{"operationId":"get_mcp_usage","summary":"Per merged pull request, which MCP servers and tools CodeRabbit used during the review and how often. Cursor paged; avai","description":"Per merged pull request, which MCP servers and tools CodeRabbit used during the review and how often. Cursor paged; available only when the organization has the feature flag. Use for \"Which MCP servers did CodeRabbit use in reviews this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"start_date":{"description":"Start date, inclusive, YYYY-MM-DD.","maxLength":10,"title":"Start Date","type":"string"},"end_date":{"description":"End date, inclusive, YYYY-MM-DD; not before start_date.","maxLength":10,"title":"End Date","type":"string"},"repository_ids":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated git-provider repository ids to include (at most 10).","title":"Repository Ids"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Maximum records per page (1 to 1000).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Opaque next_cursor from the previous page (omit for the first page).","title":"Cursor"}},"required":["start_date","end_date"],"title":"get_mcp_usageArguments","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}}}}