generated: '2026-07-15' method: generated source: openapi/codeberg-openapi.yml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 44 by_action_class: connected: 26 acting: 18 by_consequence: read: 26 write: 18 human_in_the_loop_required: 0 operations: - path: /version method: get operationId: getVersion x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/search method: get operationId: repoSearch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo} method: get operationId: repoGet x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo} method: patch operationId: repoEdit x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo} method: delete operationId: repoDelete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /user/repos method: get operationId: userCurrentListRepos x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/repos method: post operationId: createCurrentUserRepo x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/branches method: get operationId: repoListBranches x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/branches method: post operationId: repoCreateBranch x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/tags method: get operationId: repoListTags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/issues/search method: get operationId: issueSearchIssues x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/issues method: get operationId: issueListIssues x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/issues method: post operationId: issueCreateIssue x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/issues/{index} method: get operationId: issueGetIssue x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/issues/{index} method: patch operationId: issueEditIssue x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/issues/{index}/comments method: get operationId: issueGetComments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/issues/{index}/comments method: post operationId: issueCreateComment x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/pulls method: get operationId: repoListPullRequests x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/pulls method: post operationId: repoCreatePullRequest x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/pulls/{index} method: get operationId: repoGetPullRequest x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/pulls/{index} method: patch operationId: repoEditPullRequest x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/pulls/{index}/merge method: get operationId: repoPullRequestIsMerged x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/pulls/{index}/merge method: post operationId: repoMergePullRequest x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/releases method: get operationId: repoListReleases x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/releases method: post operationId: repoCreateRelease x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/releases/latest method: get operationId: repoGetLatestRelease x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/releases/{id} method: get operationId: repoGetRelease x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/releases/{id} method: patch operationId: repoEditRelease x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/releases/{id} method: delete operationId: repoDeleteRelease x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/contents/{filepath} method: get operationId: repoGetContents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/contents/{filepath} method: post operationId: repoCreateFile x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/contents/{filepath} method: put operationId: repoUpdateFile x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/contents/{filepath} method: delete operationId: repoDeleteFile x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /repos/{owner}/{repo}/raw/{filepath} method: get operationId: repoGetRawFile x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/commits method: get operationId: repoGetAllCommits x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /repos/{owner}/{repo}/git/trees/{sha} method: get operationId: getTree x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user method: get operationId: userGetCurrent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/search method: get operationId: userSearch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/{username} method: get operationId: userGet x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/{username}/repos method: get operationId: userListRepos x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /orgs/{org} method: get operationId: orgGet x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /orgs/{org} method: patch operationId: orgEdit x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /orgs/{org}/repos method: get operationId: orgListRepos x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /orgs/{org}/repos method: post operationId: createOrgRepo x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required