{"openapi":"3.1.0","info":{"title":"Codeberg (BYOK) API","version":"0.1.0","description":"Codeberg (BYOK) lets an AI assistant read your own Codeberg data through the Codeberg API with a key you supply (Codeberg access token). Read-only: 12 tools (get_authenticated_user, list_my_repositories, search_repositories, get_repository, list_issues, search_issues, list_pull_requests, list_commits, list_branches, list_releases, list_workflow_runs, list_notifications). The BYOK key travels with...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-codeberg.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-codeberg/docs"},"termsOfService":"https://connectorbay.com/byok-codeberg/terms"},"servers":[{"url":"https://byok-codeberg.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-codeberg/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_authenticated_user":{"post":{"operationId":"get_authenticated_user","summary":"Show the Codeberg account the token belongs to: username, full name, email, followers and creation date. Use for \"Which ","description":"Show the Codeberg account the token belongs to: username, full name, email, followers and creation date. Use for \"Which Codeberg account is my token connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_authenticated_userArguments","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_my_repositories":{"post":{"operationId":"list_my_repositories","summary":"List repositories owned by the token's account with language, stars, forks, open issue counts and last update. Use for \"","description":"List repositories owned by the token's account with language, stars, forks, open issue counts and last update. Use for \"What are my most recently updated Codeberg repositories\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"order_by":{"anyOf":[{"enum":["newest","oldest","recentupdate","leastupdate","alphabetically","reversealphabetically","moststars","feweststars","mostforks","fewestforks","size","gitsize"],"type":"string"},{"type":"null"}],"default":null,"description":"Order: newest, oldest, recentupdate, leastupdate, alphabetically, reversealphabetically, moststars, feweststars, mostforks, fewestforks, size, gitsize.","title":"Order By"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Results per page (1 to 50; the server's default maximum page size is 50).","title":"Limit"}},"title":"list_my_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/search_repositories":{"post":{"operationId":"search_repositories","summary":"Search public Codeberg repositories by keyword, sorted by stars, forks, update time or name. Use for \"Find popular Codeb","description":"Search public Codeberg repositories by keyword, sorted by stars, forks, update time or name. Use for \"Find popular Codeberg repositories about static site generators\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"q":{"description":"Search keyword, for example 'static site generator'.","maxLength":200,"title":"Q","type":"string"},"topic":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to match the keyword against repository topics only.","title":"Topic"},"include_desc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"True to also search repository descriptions.","title":"Include Desc"},"sort":{"anyOf":[{"enum":["alpha","created","updated","size","id","stars","forks"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort by alpha, created, updated, size, id, stars or forks.","title":"Sort"},"order":{"anyOf":[{"enum":["desc","asc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction: asc or desc.","title":"Order"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Results per page (1 to 50; the server's default maximum page size is 50).","title":"Limit"}},"required":["q"],"title":"search_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_repository":{"post":{"operationId":"get_repository","summary":"Get one repository's description, language, stars, forks, open issues, default branch and last update. Use for \"How many","description":"Get one repository's description, language, stars, forks, open issues, default branch and last update. Use for \"How many stars and open issues does forgejo/forgejo have on Codeberg\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Owner of the repository (user or organization name), for example 'forgejo'.","maxLength":100,"title":"Owner","type":"string"},"repo":{"description":"Repository name without the owner, for example 'forgejo'.","maxLength":100,"title":"Repo","type":"string"}},"required":["owner","repo"],"title":"get_repositoryArguments","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_issues":{"post":{"operationId":"list_issues","summary":"List a repository's issues (set type=pulls for pull requests) filtered by state, labels or text. Use for \"What open issu","description":"List a repository's issues (set type=pulls for pull requests) filtered by state, labels or text. Use for \"What open issues labelled bug does forgejo/forgejo have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Owner of the repository (user or organization name), for example 'forgejo'.","maxLength":100,"title":"Owner","type":"string"},"repo":{"description":"Repository name without the owner, for example 'forgejo'.","maxLength":100,"title":"Repo","type":"string"},"state":{"anyOf":[{"enum":["open","closed","all"],"type":"string"},{"type":"null"}],"default":"open","description":"Issue state: open, closed or all.","title":"State"},"labels":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated label names the issue must have.","title":"Labels"},"q":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Search text in title and body.","title":"Q"},"type":{"anyOf":[{"enum":["issues","pulls"],"type":"string"},{"type":"null"}],"default":null,"description":"issues or pulls; leave empty for issues.","title":"Type"},"sort":{"anyOf":[{"enum":["latest","oldest","recentupdate","leastupdate","mostcomment","leastcomment","relevance"],"type":"string"},{"type":"null"}],"default":"latest","description":"Order: latest, oldest, recentupdate, leastupdate, mostcomment, leastcomment.","title":"Sort"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Results per page (1 to 50; the server's default maximum page size is 50).","title":"Limit"}},"required":["owner","repo"],"title":"list_issuesArguments","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/search_issues":{"post":{"operationId":"search_issues","summary":"Search issues or pull requests across all repositories the token can see, by text, state, owner or involvement. Use for ","description":"Search issues or pull requests across all repositories the token can see, by text, state, owner or involvement. Use for \"Which Codeberg issues am I assigned to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"q":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Search text.","title":"Q"},"state":{"anyOf":[{"enum":["open","closed","all"],"type":"string"},{"type":"null"}],"default":"open","description":"Issue state: open, closed or all.","title":"State"},"type":{"anyOf":[{"enum":["issues","pulls"],"type":"string"},{"type":"null"}],"default":null,"description":"issues or pulls.","title":"Type"},"owner":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only repositories of this owner.","title":"Owner"},"assigned":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to only show issues assigned to you.","title":"Assigned"},"created":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to only show issues you created.","title":"Created"},"mentioned":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to only show issues that mention you.","title":"Mentioned"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Results per page (1 to 50; the server's default maximum page size is 50).","title":"Limit"}},"title":"search_issuesArguments","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_pull_requests":{"post":{"operationId":"list_pull_requests","summary":"List a repository's pull requests by state with author, draft and merge flags, branches and dates. Use for \"Which pull r","description":"List a repository's pull requests by state with author, draft and merge flags, branches and dates. Use for \"Which pull requests are open on forgejo/forgejo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Owner of the repository (user or organization name), for example 'forgejo'.","maxLength":100,"title":"Owner","type":"string"},"repo":{"description":"Repository name without the owner, for example 'forgejo'.","maxLength":100,"title":"Repo","type":"string"},"state":{"anyOf":[{"enum":["open","closed","all"],"type":"string"},{"type":"null"}],"default":"open","description":"Pull request state: open, closed or all.","title":"State"},"sort":{"anyOf":[{"enum":["oldest","recentupdate","recentclose","leastupdate","mostcomment","leastcomment","priority"],"type":"string"},{"type":"null"}],"default":null,"description":"Order: oldest, recentupdate, recentclose, leastupdate, mostcomment, leastcomment, priority.","title":"Sort"},"poster":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only pull requests opened by this username.","title":"Poster"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Results per page (1 to 50; the server's default maximum page size is 50).","title":"Limit"}},"required":["owner","repo"],"title":"list_pull_requestsArguments","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_commits":{"post":{"operationId":"list_commits","summary":"List recent commits of a repository, optionally from a branch, tag or SHA, with message, author and date. Use for \"What ","description":"List recent commits of a repository, optionally from a branch, tag or SHA, with message, author and date. Use for \"What were the latest commits on forgejo/forgejo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Owner of the repository (user or organization name), for example 'forgejo'.","maxLength":100,"title":"Owner","type":"string"},"repo":{"description":"Repository name without the owner, for example 'forgejo'.","maxLength":100,"title":"Repo","type":"string"},"sha":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Branch name, tag or commit SHA to list commits from; defaults to the default branch.","title":"Sha"},"path":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Only commits that touched this file path.","title":"Path"},"stat":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include change statistics per commit.","title":"Stat"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Results per page (1 to 50; the server's default maximum page size is 50).","title":"Limit"}},"required":["owner","repo"],"title":"list_commitsArguments","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 a repository's branches with protection flag and the latest commit id, message and time. Use for \"What branches doe","description":"List a repository's branches with protection flag and the latest commit id, message and time. Use for \"What branches does forgejo/forgejo have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Owner of the repository (user or organization name), for example 'forgejo'.","maxLength":100,"title":"Owner","type":"string"},"repo":{"description":"Repository name without the owner, for example 'forgejo'.","maxLength":100,"title":"Repo","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Results per page (1 to 50; the server's default maximum page size is 50).","title":"Limit"}},"required":["owner","repo"],"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_releases":{"post":{"operationId":"list_releases","summary":"List a repository's releases with tag, name, draft and pre-release flags and publish date. Use for \"What is the latest r","description":"List a repository's releases with tag, name, draft and pre-release flags and publish date. Use for \"What is the latest release of forgejo/forgejo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Owner of the repository (user or organization name), for example 'forgejo'.","maxLength":100,"title":"Owner","type":"string"},"repo":{"description":"Repository name without the owner, for example 'forgejo'.","maxLength":100,"title":"Repo","type":"string"},"draft":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to only list drafts, false to hide them.","title":"Draft"},"prerelease":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to only list pre-releases, false to hide them.","title":"Prerelease"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Results per page (1 to 50; the server's default maximum page size is 50).","title":"Limit"}},"required":["owner","repo"],"title":"list_releasesArguments","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_workflow_runs":{"post":{"operationId":"list_workflow_runs","summary":"List recent Forgejo Actions workflow runs of a repository with status, trigger event, ref, commit and times. Use for \"Di","description":"List recent Forgejo Actions workflow runs of a repository with status, trigger event, ref, commit and times. Use for \"Did the last CI runs on my Codeberg repository pass\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Owner of the repository (user or organization name), for example 'forgejo'.","maxLength":100,"title":"Owner","type":"string"},"repo":{"description":"Repository name without the owner, for example 'forgejo'.","maxLength":100,"title":"Repo","type":"string"},"status":{"anyOf":[{"enum":["unknown","waiting","running","success","failure","cancelled","skipped","blocked"],"type":"string"},{"type":"null"}],"default":null,"description":"Filter by status: unknown, waiting, running, success, failure, cancelled, skipped or blocked.","title":"Status"},"event":{"anyOf":[{"maxLength":50,"type":"string"},{"type":"null"}],"default":null,"description":"Only runs triggered by this event, for example push, pull_request or workflow_dispatch.","title":"Event"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Results per page (1 to 50; the server's default maximum page size is 50).","title":"Limit"}},"required":["owner","repo"],"title":"list_workflow_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/list_notifications":{"post":{"operationId":"list_notifications","summary":"List your Codeberg notification threads (unread by default) with subject, state and repository. Use for \"What Codeberg n","description":"List your Codeberg notification threads (unread by default) with subject, state and repository. Use for \"What Codeberg notifications do I have unread\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"all":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include read notifications too.","title":"All"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Results per page (1 to 50; the server's default maximum page size is 50).","title":"Limit"}},"title":"list_notificationsArguments","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}}}}