{"openapi":"3.1.0","info":{"title":"Bitrise (BYOK) API","version":"0.1.0","description":"Bitrise (BYOK) lets an AI assistant read your own Bitrise data through the Bitrise API with a key you supply (personal access token). Read-only: 11 tools (get_me, list_organizations, list_apps, get_app, list_builds, get_build, list_all_builds, list_build_artifacts, list_branches, list_workflows, list_activities). The BYOK key travels with each request, is used for that one call only and is never...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-bitrise.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-bitrise/docs"},"termsOfService":"https://connectorbay.com/byok-bitrise/terms"},"servers":[{"url":"https://byok-bitrise.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-bitrise/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_me":{"post":{"operationId":"get_me","summary":"Show the Bitrise account the token belongs to: username, account slug and creation date. Email is not returned. Use for ","description":"Show the Bitrise account the token belongs to: username, account slug and creation date. Email is not returned. Use for \"Which Bitrise account is my token connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_meArguments","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_organizations":{"post":{"operationId":"list_organizations","summary":"List the Bitrise organizations the account belongs to with slug, name and concurrency count. Use for \"Which Bitrise orga","description":"List the Bitrise organizations the account belongs to with slug, name and concurrency count. Use for \"Which Bitrise organizations am I in\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"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_apps":{"post":{"operationId":"list_apps","summary":"List the Bitrise apps (projects) the account can access, with repository, project type and owner. Page with the 'next' c","description":"List the Bitrise apps (projects) the account can access, with repository, project type and owner. Page with the 'next' cursor. Use for \"What apps do I have on Bitrise\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"sort_by":{"anyOf":[{"enum":["last_build_at","created_at"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by last_build_at or created_at.","title":"Sort By"},"title":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only apps whose title matches this text.","title":"Title"},"project_type":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project type, for example 'ios' or 'android'.","title":"Project Type"},"next":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the 'paging.next' value of the previous answer. Leave out for the first page.","title":"Next"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"How many items per page (1 to 50, default 50).","title":"Limit"}},"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_app":{"post":{"operationId":"get_app","summary":"Get one Bitrise app by slug: title, repository, project type, owner and disabled flag. Use for \"Show details of my Bitri","description":"Get one Bitrise app by slug: title, repository, project type, owner and disabled flag. Use for \"Show details of my Bitrise app\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"app_slug":{"description":"Bitrise app slug (the id in the app's URL), as returned by list_apps.","maxLength":80,"title":"App Slug","type":"string"}},"required":["app_slug"],"title":"get_appArguments","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_builds":{"post":{"operationId":"list_builds","summary":"List builds of a Bitrise app (newest first) with status, branch, workflow, commit message, trigger and timings. Page wit","description":"List builds of a Bitrise app (newest first) with status, branch, workflow, commit message, trigger and timings. Page with the 'next' cursor. Use for \"Did the latest Bitrise builds of my app pass\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"app_slug":{"description":"Bitrise app slug (the id in the app's URL), as returned by list_apps.","maxLength":80,"title":"App Slug","type":"string"},"branch":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only builds of this branch.","title":"Branch"},"workflow":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only builds that ran this workflow.","title":"Workflow"},"status":{"anyOf":[{"maximum":4,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only builds with this status: 0 not finished, 1 successful, 2 failed, 3 aborted with failure, 4 aborted with success.","title":"Status"},"sort_by":{"anyOf":[{"enum":["running_first","created_at"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by running_first or created_at.","title":"Sort By"},"trigger_event_type":{"anyOf":[{"enum":["push","pull-request","tag"],"type":"string"},{"type":"null"}],"default":null,"description":"Only builds started by this event: push, pull-request or tag.","title":"Trigger Event Type"},"after":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only builds run after this Unix timestamp.","title":"After"},"before":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only builds run before this Unix timestamp.","title":"Before"},"next":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the 'paging.next' value of the previous answer. Leave out for the first page.","title":"Next"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"How many items per page (1 to 50, default 50).","title":"Limit"}},"required":["app_slug"],"title":"list_buildsArguments","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_build":{"post":{"operationId":"get_build","summary":"Get one Bitrise build by slug: status, branch, workflow, commit, trigger, credit cost and timings. Use for \"What happene","description":"Get one Bitrise build by slug: status, branch, workflow, commit, trigger, credit cost and timings. Use for \"What happened in this Bitrise build\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"app_slug":{"description":"Bitrise app slug (the id in the app's URL), as returned by list_apps.","maxLength":80,"title":"App Slug","type":"string"},"build_slug":{"description":"Bitrise build slug, as returned by list_builds.","maxLength":80,"title":"Build Slug","type":"string"}},"required":["app_slug","build_slug"],"title":"get_buildArguments","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_all_builds":{"post":{"operationId":"list_all_builds","summary":"List builds across all apps of the account (or of one owner) with status, branch, workflow and repository. Page with the","description":"List builds across all apps of the account (or of one owner) with status, branch, workflow and repository. Page with the 'next' cursor. Use for \"What Bitrise builds ran across all my apps recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner_slug":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Only builds of apps owned by this account or organization slug.","title":"Owner Slug"},"status":{"anyOf":[{"maximum":4,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only builds with this status: 0 not finished, 1 successful, 2 failed, 3 aborted with failure, 4 aborted with success.","title":"Status"},"is_on_hold":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only builds that are on hold.","title":"Is On Hold"},"next":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the 'paging.next' value of the previous answer. Leave out for the first page.","title":"Next"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"How many items per page (1 to 50, default 50).","title":"Limit"}},"title":"list_all_buildsArguments","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_build_artifacts":{"post":{"operationId":"list_build_artifacts","summary":"List the artifacts (APKs, IPAs, logs, files) a Bitrise build produced with title, type and size. Download links are not ","description":"List the artifacts (APKs, IPAs, logs, files) a Bitrise build produced with title, type and size. Download links are not returned. Use for \"What artifacts did this Bitrise build produce\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"app_slug":{"description":"Bitrise app slug (the id in the app's URL), as returned by list_apps.","maxLength":80,"title":"App Slug","type":"string"},"build_slug":{"description":"Bitrise build slug, as returned by list_builds.","maxLength":80,"title":"Build Slug","type":"string"},"next":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the 'paging.next' value of the previous answer. Leave out for the first page.","title":"Next"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"How many items per page (1 to 50, default 50).","title":"Limit"}},"required":["app_slug","build_slug"],"title":"list_build_artifactsArguments","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_branches":{"post":{"operationId":"list_branches","summary":"List the branch names that have builds in a Bitrise app. Use for \"Which branches of my Bitrise app have builds\".","description":"List the branch names that have builds in a Bitrise app. Use for \"Which branches of my Bitrise app have builds\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"app_slug":{"description":"Bitrise app slug (the id in the app's URL), as returned by list_apps.","maxLength":80,"title":"App Slug","type":"string"}},"required":["app_slug"],"title":"list_branchesArguments","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_workflows":{"post":{"operationId":"list_workflows","summary":"List the workflow names defined for a Bitrise app. Use for \"Which workflows does my Bitrise app have\".","description":"List the workflow names defined for a Bitrise app. Use for \"Which workflows does my Bitrise app have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"app_slug":{"description":"Bitrise app slug (the id in the app's URL), as returned by list_apps.","maxLength":80,"title":"App Slug","type":"string"}},"required":["app_slug"],"title":"list_workflowsArguments","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_activities":{"post":{"operationId":"list_activities","summary":"List recent Bitrise activity events of the account (builds, app changes) with title, description and time. Page with the","description":"List recent Bitrise activity events of the account (builds, app changes) with title, description and time. Page with the 'next' cursor. Use for \"What has happened in my Bitrise account lately\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"next":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the 'paging.next' value of the previous answer. Leave out for the first page.","title":"Next"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"How many items per page (1 to 50, default 50).","title":"Limit"}},"title":"list_activitiesArguments","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}}}}