{"components":{"headers":{"Link":{"description":"RFC 5988 `Link` header carrying `prev`, `next`, `first`, `last`\nURLs for the paginated collection.\n","schema":{"type":"string"}},"XTotalCount":{"description":"Total number of items across all pages.","schema":{"minimum":0,"type":"integer"}}},"parameters":{"Number":{"description":"Issue or pull request number, scoped per repository.","in":"path","name":"number","required":true,"schema":{"minimum":1,"type":"integer"}},"Owner":{"description":"Repository owner (username or organization).","in":"path","name":"owner","required":true,"schema":{"type":"string"}},"Page":{"description":"1-based page index.","in":"query","name":"page","schema":{"default":1,"minimum":1,"type":"integer"}},"PerPage":{"description":"Page size (max 100).","in":"query","name":"per_page","schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},"Repo":{"description":"Repository name.","in":"path","name":"repo","required":true,"schema":{"type":"string"}},"Username":{"in":"path","name":"username","required":true,"schema":{"type":"string"}}},"responses":{"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Malformed input."},"Forbidden":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authenticated but not allowed (insufficient scope, not the repo owner, etc.)."},"NotFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource does not exist or is not visible to the caller."},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Missing or invalid credentials."}},"schemas":{"ActivityEntry":{"properties":{"action":{"description":"Verb: push, create_pr, merge_pr, comment, ...","type":"string"},"message":{"type":"string"},"owner_name":{"type":"string"},"ref_name":{"type":"string"},"repo_name":{"type":"string"},"sha":{"type":"string"}},"required":["action","message","repo_name","owner_name","ref_name","sha"],"type":"object"},"Branch":{"properties":{"active":{"description":"True if this branch is the repo's default.","type":"boolean"},"name":{"type":"string"}},"required":["name","active"],"type":"object"},"Comment":{"properties":{"author":{"type":"string"},"body":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"id":{"format":"int64","type":"integer"}},"required":["id","author","body","created_at"],"type":"object"},"CommentCreated":{"properties":{"author":{"type":"string"},"body":{"type":"string"}},"required":["body","author"],"type":"object"},"CommitStatus":{"properties":{"context":{"type":"string"},"description":{"type":"string"},"sha":{"type":"string"},"state":{"enum":["pending","success","failure","error"],"type":"string"},"target_url":{"format":"uri","type":"string"}},"required":["sha","state","context"],"type":"object"},"CommitStatusList":{"properties":{"state":{"description":"Combined state across all `(sha, context)` rows.","enum":["pending","success","failure","error"],"type":"string"},"statuses":{"items":{"properties":{"context":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"description":{"type":"string"},"id":{"format":"int64","type":"integer"},"sha":{"type":"string"},"state":{"enum":["pending","success","failure","error"],"type":"string"},"target_url":{"format":"uri","type":"string"}},"type":"object"},"type":"array"}},"required":["state","statuses"],"type":"object"},"CreateBranch":{"properties":{"name":{"description":"Name of the branch to create.","type":"string"},"source":{"description":"Branch or commit-ish to fork from. Defaults to the repo's default branch.","type":"string"}},"required":["name"],"type":"object"},"CreateComment":{"properties":{"body":{"type":"string"}},"required":["body"],"type":"object"},"CreateCommitStatus":{"properties":{"context":{"default":"default","description":"Logical name of the check (e.g. \"ci/build\", \"lint\"). Per `(sha, context)`, the most recent status wins.","type":"string"},"description":{"type":"string"},"state":{"enum":["pending","success","failure","error"],"type":"string"},"target_url":{"description":"Link to the CI build / details page.","format":"uri","type":"string"}},"required":["state"],"type":"object"},"CreateIssue":{"properties":{"body":{"type":"string"},"labels":{"description":"Comma-separated label names (legacy single-string format).","type":"string"},"title":{"type":"string"}},"required":["title"],"type":"object"},"CreatePullRequest":{"properties":{"base_branch":{"type":"string"},"body":{"type":"string"},"head_branch":{"type":"string"},"is_draft":{"type":"boolean"},"title":{"type":"string"}},"required":["title","head_branch","base_branch"],"type":"object"},"CurrentUser":{"properties":{"avatar_url":{"type":"string"},"bio":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"email":{"format":"email","type":"string"},"full_name":{"type":"string"},"id":{"format":"int64","type":"integer"},"is_admin":{"type":"boolean"},"username":{"type":"string"}},"required":["id","username","email","is_admin","created_at"],"type":"object"},"Error":{"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"},"FeatureRequest":{"properties":{"author":{"type":"string"},"body":{"type":"string"},"milestone":{"type":"string"},"milestone_state":{"type":"string"},"number":{"type":"integer"},"state":{"type":"string"},"title":{"type":"string"},"votes":{"type":"integer"}},"type":"object"},"HeatmapDay":{"properties":{"count":{"minimum":1,"type":"integer"},"date":{"format":"date","type":"string"}},"required":["date","count"],"type":"object"},"Issue":{"allOf":[{"$ref":"#/components/schemas/IssueSummary"},{"properties":{"comments":{"items":{"$ref":"#/components/schemas/Comment"},"type":"array"}},"type":"object"}]},"IssueCreated":{"properties":{"id":{"format":"int64","type":"integer"},"number":{"type":"integer"},"title":{"type":"string"}},"required":["id","number","title"],"type":"object"},"IssueSummary":{"properties":{"author":{"type":"string"},"body":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"id":{"format":"int64","type":"integer"},"label":{"type":"string"},"number":{"type":"integer"},"state":{"enum":["open","closed"],"type":"string"},"title":{"type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["id","number","title","state","author","created_at"],"type":"object"},"Milestone":{"properties":{"closed_issues":{"type":"integer"},"description":{"type":"string"},"due_date":{"nullable":true,"type":"string"},"id":{"type":"integer"},"open_issues":{"type":"integer"},"progress":{"type":"integer"},"release_tag":{"type":"string"},"sort_order":{"type":"integer"},"state":{"enum":["planned","in_progress","shipped","cancelled"],"type":"string"},"title":{"type":"string"}},"type":"object"},"MoveCard":{"properties":{"column_id":{"description":"Target project column.","format":"int64","type":"integer"},"position":{"description":"Zero-based slot within the target column.","minimum":0,"type":"integer"}},"required":["column_id","position"],"type":"object"},"PRComment":{"properties":{"author":{"type":"string"},"body":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"file_path":{"description":"File the comment is anchored to (line comments only).","type":"string"},"id":{"format":"int64","type":"integer"},"is_system":{"description":"True for CodeVault-generated comments (merge / close / reopen).","type":"boolean"},"line":{"description":"Line number for line comments; 0 otherwise.","type":"integer"}},"required":["id","author","body","created_at"],"type":"object"},"PRReview":{"properties":{"body":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"id":{"format":"int64","type":"integer"},"reviewer":{"type":"string"},"status":{"enum":["approved","changes_requested","comment"],"type":"string"}},"required":["id","reviewer","status","created_at"],"type":"object"},"Poll":{"properties":{"closed":{"type":"boolean"},"created_by":{"type":"string"},"deadline":{"nullable":true,"type":"string"},"description":{"type":"string"},"id":{"type":"integer"},"milestone_id":{"type":"integer"},"multi":{"type":"boolean"},"open":{"type":"boolean"},"options":{"items":{"$ref":"#/components/schemas/PollOption"},"type":"array"},"question":{"type":"string"},"total_votes":{"type":"integer"}},"type":"object"},"PollOption":{"properties":{"chosen":{"type":"boolean"},"id":{"type":"integer"},"percent":{"type":"integer"},"text":{"type":"string"},"votes":{"type":"integer"}},"type":"object"},"PullRequest":{"allOf":[{"$ref":"#/components/schemas/PullRequestSummary"},{"properties":{"closed_at":{"format":"date-time","nullable":true,"type":"string"},"comments":{"items":{"$ref":"#/components/schemas/PRComment"},"type":"array"},"merge_commit":{"type":"string"},"merged_at":{"format":"date-time","nullable":true,"type":"string"},"review_count":{"type":"integer"},"reviews":{"items":{"$ref":"#/components/schemas/PRReview"},"type":"array"}},"type":"object"}]},"PullRequestCreated":{"properties":{"base_branch":{"type":"string"},"head_branch":{"type":"string"},"id":{"format":"int64","type":"integer"},"number":{"type":"integer"},"status":{"type":"string"},"title":{"type":"string"}},"required":["id","number","title","head_branch","base_branch","status"],"type":"object"},"PullRequestSummary":{"properties":{"author":{"type":"string"},"base_branch":{"type":"string"},"body":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"head_branch":{"type":"string"},"id":{"format":"int64","type":"integer"},"is_draft":{"type":"boolean"},"number":{"type":"integer"},"status":{"enum":["open","closed","merged"],"type":"string"},"title":{"type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["id","number","title","head_branch","base_branch","status","author","created_at"],"type":"object"},"Repository":{"properties":{"created_at":{"format":"date-time","type":"string"},"default_branch":{"type":"string"},"description":{"type":"string"},"empty":{"description":"True when the repo has no refs yet.","type":"boolean"},"forks_count":{"type":"integer"},"full_name":{"description":"`owner/name`.","type":"string"},"id":{"format":"int64","type":"integer"},"name":{"type":"string"},"owner":{"type":"string"},"private":{"type":"boolean"},"stars_count":{"type":"integer"},"updated_at":{"format":"date-time","type":"string"}},"required":["id","owner","name","full_name","private","default_branch","empty"],"type":"object"},"ToggleReaction":{"properties":{"emoji":{"enum":["thumbsup","thumbsdown","heart","hooray","confused","rocket","eyes"],"type":"string"},"target_id":{"description":"ID of the issue / PR / comment row (NOT the public number).","format":"int64","type":"integer"},"target_type":{"enum":["issue","issue_comment","pr","pr_comment"],"type":"string"}},"required":["target_type","target_id","emoji"],"type":"object"},"UserProfile":{"properties":{"avatar_url":{"type":"string"},"bio":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"full_name":{"type":"string"},"id":{"format":"int64","type":"integer"},"username":{"type":"string"}},"required":["id","username","created_at"],"type":"object"}},"securitySchemes":{"BasicAuth":{"description":"HTTP Basic auth using your username and a Personal Access Token as\nthe password. Pure password auth is **not** supported on the API.\n","scheme":"basic","type":"http"},"BearerToken":{"bearerFormat":"CodeVault Personal Access Token","description":"Pass the raw token in the `Authorization: Bearer \u003ctoken\u003e` header.\nTokens are issued at `/settings/tokens`. Tokens with `repo:read`\nscope cannot perform write operations and will receive `403`.\n","scheme":"bearer","type":"http"}}},"info":{"contact":{"name":"CodeVault","url":"https://codevault.example/"},"description":"The `/api/v1/*` REST surface for managing repositories, branches, issues,\npull requests, commit statuses, reactions, the roadmap (milestones,\nreleases), community collaboration (feature requests, polls), notifications,\nand the user's contribution heatmap. Authentication is by Personal Access Token issued at\n`/settings/tokens`, presented either as `Authorization: Bearer \u003ctoken\u003e`\nor as the password half of HTTP Basic auth (`username:token`).\n\nThis document covers the JSON REST endpoints under `/api/v1/`. Other\nCodeVault interfaces follow standard external specs and are not described\nhere:\n\n* **Git Smart HTTP** (`/info/refs`, `/git-upload-pack`, `/git-receive-pack`)\n  — see the Git protocol documentation.\n* **Git LFS** (`/info/lfs/objects/*`) — see the Git LFS Batch API spec.\n* **Docker registry v2** (`/v2/*`) — see the OCI Distribution spec.\n* **npm / PyPI registries** — provider-specific conventions.\n\nTokens with the legacy scope `repo` (or new `repo:write`) can perform\nwrite operations. Tokens scoped `repo:read` are denied for any state-\nchanging endpoint with HTTP `403`.\n","license":{"name":"MPL-2.0"},"summary":"Programmatic access to a CodeVault instance.","title":"CodeVault REST API","version":"2.6.0"},"openapi":"3.1.0","paths":{"/api/v1/heatmap":{"get":{"description":"Returns one entry per day for the past year. Authentication is via\nthe session cookie (this endpoint is consumed by the dashboard's\nSVG heatmap), not by Bearer token.\n","operationId":"getHeatmap","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/HeatmapDay"},"type":"array"}}},"description":"Heatmap days (sparse — only days with activity)."},"401":{"$ref":"#/components/responses/Unauthorized"}},"security":[],"summary":"Authenticated user's contribution heatmap","tags":["Activity"]}},"/api/v1/heatmap/{date}":{"get":{"operationId":"getHeatmapDay","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ActivityEntry"},"type":"array"}}},"description":"List of activity entries for that day."},"400":{"description":"Invalid date format."},"401":{"$ref":"#/components/responses/Unauthorized"}},"security":[],"summary":"Activity for a single day","tags":["Activity"]},"parameters":[{"description":"ISO-8601 date (YYYY-MM-DD).","in":"path","name":"date","required":true,"schema":{"format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}}]},"/api/v1/notary-key":{"get":{"operationId":"getNotaryKey","responses":{"200":{"description":"PEM-encoded public key."}},"security":[],"summary":"The instance's cosign/notary Ed25519 public key (PKIX PEM).","tags":["Security"]}},"/api/v1/notifications":{"get":{"operationId":"listNotifications","parameters":[{"in":"query","name":"unread","schema":{"type":"boolean"}},{"in":"query","name":"limit","schema":{"type":"integer"}}],"responses":{"200":{"description":"Notifications."},"401":{"$ref":"#/components/responses/Unauthorized"}},"summary":"List the authenticated user's notifications.","tags":["Notifications"]}},"/api/v1/notifications/read":{"post":{"operationId":"markAllNotificationsRead","responses":{"200":{"description":"All marked read."}},"summary":"Mark all notifications read.","tags":["Notifications"]}},"/api/v1/notifications/{id}/read":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"post":{"operationId":"markNotificationRead","responses":{"200":{"description":"Marked read."}},"summary":"Mark one notification read.","tags":["Notifications"]}},"/api/v1/orgs/{org}/roadmap":{"get":{"operationId":"getOrgRoadmap","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Milestone"},"type":"array"}}},"description":"Milestones across the org (private repos only for members)."}},"security":[],"summary":"Aggregate roadmap across an organization's repositories.","tags":["Roadmap"]},"parameters":[{"in":"path","name":"org","required":true,"schema":{"type":"string"}}]},"/api/v1/palette":{"get":{"operationId":"quickPalette","parameters":[{"in":"query","name":"q","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Grouped search results."},"401":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Command-palette search across repos, users, issues, and code.","tags":["Search"]}},"/api/v1/projects/cards/{cardID}/move":{"parameters":[{"description":"Project card identifier.","in":"path","name":"cardID","required":true,"schema":{"format":"int64","type":"integer"}}],"post":{"operationId":"moveProjectCard","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveCard"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"status":{"example":"ok","type":"string"}},"type":"object"}}},"description":"Card moved."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"Move a project card","tags":["Projects"]}},"/api/v1/reactions":{"post":{"description":"Idempotently adds or removes a single emoji reaction on an issue,\npull request, or comment. Calling twice from the same user with\nthe same body removes the reaction.\n","operationId":"toggleReaction","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToggleReaction"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"integer"},"example":{"heart":1,"rocket":0,"thumbsup":3},"type":"object"}}},"description":"Updated reaction counts for the target."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Toggle a reaction","tags":["Reactions"]}},"/api/v1/repos/{owner}/{repo}":{"get":{"operationId":"getRepo","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Repository"}}},"description":"Repository metadata."},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"Get repository details","tags":["Repositories"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}]},"/api/v1/repos/{owner}/{repo}/advisories":{"get":{"operationId":"listAdvisories","responses":{"200":{"description":"Advisories with severity + reachability."},"404":{"$ref":"#/components/responses/NotFound"}},"security":[],"summary":"Dependency security advisories affecting the repository.","tags":["Security"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}],"post":{"operationId":"createAdvisory","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"required":true},"responses":{"201":{"description":"Created."},"403":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Record a repository advisory (write scope).","tags":["Security"]}},"/api/v1/repos/{owner}/{repo}/advisories/sync":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}],"post":{"operationId":"syncAdvisories","responses":{"200":{"description":"Sync complete."},"403":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Re-scan dependencies against advisory feeds (write scope).","tags":["Security"]}},"/api/v1/repos/{owner}/{repo}/advisories/{id}/autofix":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"post":{"operationId":"autofixAdvisory","responses":{"201":{"description":"Autofix PR opened."},"403":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Open a pull request that bumps the vulnerable dependency (write scope).","tags":["Security"]}},"/api/v1/repos/{owner}/{repo}/blame":{"get":{"operationId":"getBlame","parameters":[{"in":"query","name":"path","required":true,"schema":{"type":"string"}},{"in":"query","name":"ref","schema":{"type":"string"}}],"responses":{"200":{"description":"Blame lines."},"404":{"$ref":"#/components/responses/NotFound"}},"security":[],"summary":"Line-by-line blame for a file.","tags":["Repositories"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}]},"/api/v1/repos/{owner}/{repo}/branches":{"get":{"operationId":"listBranches","parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PerPage"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Branch"},"type":"array"}}},"description":"Page of branches. Pagination via `X-Total-Count` and `Link`.","headers":{"Link":{"$ref":"#/components/headers/Link"},"X-Total-Count":{"$ref":"#/components/headers/XTotalCount"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"List branches","tags":["Repositories"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}],"post":{"operationId":"createBranch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBranch"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Branch"}}},"description":"Branch created."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Branch already exists or source ref invalid."}},"summary":"Create a branch","tags":["Repositories"]}},"/api/v1/repos/{owner}/{repo}/branches/{branch}":{"delete":{"operationId":"deleteBranch","responses":{"204":{"description":"Branch deleted."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Cannot delete (e.g., default branch, branch has open PRs)."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"Delete a branch","tags":["Repositories"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"description":"Branch name.","in":"path","name":"branch","required":true,"schema":{"type":"string"}}]},"/api/v1/repos/{owner}/{repo}/contents":{"get":{"operationId":"getContents","parameters":[{"in":"query","name":"path","required":true,"schema":{"type":"string"}},{"in":"query","name":"ref","schema":{"type":"string"}}],"responses":{"200":{"description":"Raw file bytes."},"404":{"description":"File absent at ref."}},"security":[],"summary":"Raw file content at a ref.","tags":["Repositories"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}]},"/api/v1/repos/{owner}/{repo}/dependencies":{"get":{"operationId":"listDependencies","responses":{"200":{"description":"Dependencies."},"404":{"$ref":"#/components/responses/NotFound"}},"security":[],"summary":"The repository's resolved dependency inventory.","tags":["Security"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}]},"/api/v1/repos/{owner}/{repo}/deploy-pipeline":{"get":{"operationId":"getDeployPipeline","responses":{"200":{"description":"Pipeline definition."},"404":{"$ref":"#/components/responses/NotFound"}},"security":[],"summary":"The repository's deployment pipeline definition (rings/gates).","tags":["Deployments"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}],"post":{"operationId":"setDeployPipeline","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"required":true},"responses":{"200":{"description":"Pipeline saved."},"403":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Set the deployment pipeline definition (write scope).","tags":["Deployments"]}},"/api/v1/repos/{owner}/{repo}/deploy-runs":{"get":{"operationId":"listDeployRuns","responses":{"200":{"description":"Deploy runs."}},"security":[],"summary":"List deployment runs.","tags":["Deployments"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}],"post":{"operationId":"triggerDeploy","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}}},"responses":{"201":{"description":"Run started."},"403":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Trigger a deployment run (write scope).","tags":["Deployments"]}},"/api/v1/repos/{owner}/{repo}/deploy-runs/{id}/advance":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"post":{"operationId":"advanceDeploy","responses":{"200":{"description":"Advanced."}},"summary":"Advance a run to the next deployment ring (write scope).","tags":["Deployments"]}},"/api/v1/repos/{owner}/{repo}/deploy-runs/{id}/evaluate":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"post":{"operationId":"evaluateDeploy","responses":{"200":{"description":"Evaluation result."}},"summary":"Evaluate the current ring's health gates (write scope).","tags":["Deployments"]}},"/api/v1/repos/{owner}/{repo}/deploy-runs/{id}/rollback":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"post":{"operationId":"rollbackDeploy","responses":{"200":{"description":"Rolled back."}},"summary":"Roll back a deployment run (write scope).","tags":["Deployments"]}},"/api/v1/repos/{owner}/{repo}/encryption":{"get":{"operationId":"getRepoEncryption","responses":{"200":{"description":"Encryption config."},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"The repository's encryption configuration.","tags":["Encryption"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}],"post":{"operationId":"setRepoEncryption","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}}},"responses":{"200":{"description":"Saved."},"403":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Enable/configure repository encryption (admin).","tags":["Encryption"]}},"/api/v1/repos/{owner}/{repo}/encryption/key":{"get":{"operationId":"getRepoKey","responses":{"200":{"description":"Wrapped key."}},"summary":"The repository's wrapped encryption key.","tags":["Encryption"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}],"post":{"operationId":"setRepoKey","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}}},"responses":{"200":{"description":"Key set."},"403":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Set/rotate the repository's encryption key (admin).","tags":["Encryption"]}},"/api/v1/repos/{owner}/{repo}/encryption/setup":{"get":{"operationId":"encryptionSetup","responses":{"200":{"description":"Setup details."}},"summary":"Encryption setup material / instructions for the repository.","tags":["Encryption"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}]},"/api/v1/repos/{owner}/{repo}/feature-requests":{"get":{"operationId":"listFeatureRequests","parameters":[{"in":"query","name":"state","schema":{"enum":["open","closed"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FeatureRequest"},"type":"array"}}},"description":"Feature requests."}},"security":[],"summary":"List feature requests, most-voted first.","tags":["Community"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}],"post":{"operationId":"createFeatureRequest","requestBody":{"content":{"application/json":{"schema":{"properties":{"body":{"type":"string"},"title":{"type":"string"}},"required":["title"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Created feature request."},"403":{"description":"Not permitted to suggest on this repository."}},"summary":"Suggest a feature (requires the community 'suggest' capability).","tags":["Community"]}},"/api/v1/repos/{owner}/{repo}/feature-requests/{number}/vote":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"number","required":true,"schema":{"type":"integer"}}],"post":{"operationId":"voteFeatureRequest","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"number":{"type":"integer"},"votes":{"type":"integer"}},"type":"object"}}},"description":"New vote count."},"403":{"description":"Not permitted to vote on this repository."}},"summary":"Toggle your upvote (requires the community 'vote' capability).","tags":["Community"]}},"/api/v1/repos/{owner}/{repo}/index":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}],"post":{"operationId":"reindexRepo","responses":{"202":{"description":"Reindex started."},"403":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Rebuild the repository's code/symbol index (write scope).","tags":["Repositories"]}},"/api/v1/repos/{owner}/{repo}/issues":{"get":{"operationId":"listIssues","parameters":[{"description":"Filter by state. Defaults to `open`.","in":"query","name":"state","schema":{"default":"open","enum":["open","closed"],"type":"string"}},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PerPage"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/IssueSummary"},"type":"array"}}},"description":"Page of issues.","headers":{"Link":{"$ref":"#/components/headers/Link"},"X-Total-Count":{"$ref":"#/components/headers/XTotalCount"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"List issues","tags":["Issues"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}],"post":{"operationId":"createIssue","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIssue"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueCreated"}}},"description":"Issue created."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"summary":"Create an issue","tags":["Issues"]}},"/api/v1/repos/{owner}/{repo}/issues/{number}":{"get":{"operationId":"getIssue","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Issue"}}},"description":"Issue including comments."},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"Get an issue with comments","tags":["Issues"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"$ref":"#/components/parameters/Number"}]},"/api/v1/repos/{owner}/{repo}/issues/{number}/comments":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"$ref":"#/components/parameters/Number"}],"post":{"operationId":"commentOnIssue","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateComment"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentCreated"}}},"description":"Comment created."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"Add a comment to an issue","tags":["Issues"]}},"/api/v1/repos/{owner}/{repo}/milestones":{"get":{"operationId":"listMilestones","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Milestone"},"type":"array"}}},"description":"Milestones."}},"security":[],"summary":"List milestones.","tags":["Roadmap"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}],"post":{"operationId":"createMilestone","requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"},"due_date":{"description":"RFC3339 or YYYY-MM-DD","type":"string"},"state":{"enum":["planned","in_progress","shipped","cancelled"],"type":"string"},"title":{"type":"string"}},"required":["title"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Milestone"}}},"description":"Created milestone."},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"}},"summary":"Create a milestone (write scope).","tags":["Roadmap"]}},"/api/v1/repos/{owner}/{repo}/milestones/{id}":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"patch":{"operationId":"updateMilestone","requestBody":{"content":{"application/json":{"schema":{"properties":{"release_tag":{"type":"string"},"sort_order":{"type":"integer"},"state":{"enum":["planned","in_progress","shipped","cancelled"],"type":"string"}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Milestone"}}},"description":"Updated milestone."},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"Update a milestone's roadmap fields (write scope).","tags":["Roadmap"]}},"/api/v1/repos/{owner}/{repo}/packages/{type}":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"type","required":true,"schema":{"enum":["generic","npm","pypi","go"],"type":"string"}}],"post":{"operationId":"uploadPackage","requestBody":{"content":{"application/octet-stream":{"schema":{"format":"binary","type":"string"}}},"required":true},"responses":{"201":{"description":"Published."},"403":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Publish a package to the registry (write scope).","tags":["Packages"]}},"/api/v1/repos/{owner}/{repo}/packages/{type}/{name}/{version}/files/{filename}":{"get":{"operationId":"downloadPackageFile","responses":{"200":{"description":"File bytes."},"404":{"$ref":"#/components/responses/NotFound"}},"security":[],"summary":"Download a package file.","tags":["Packages"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"type","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","required":true,"schema":{"type":"string"}},{"in":"path","name":"version","required":true,"schema":{"type":"string"}},{"in":"path","name":"filename","required":true,"schema":{"type":"string"}}]},"/api/v1/repos/{owner}/{repo}/pipelines":{"get":{"description":"Readable with a personal access token, or with a deploy key for its own repository (HTTP Basic, username `x-deploy-key`, the key's token as the password) — so a CI client can diagnose its own failures.\n","operationId":"listPipelines","responses":{"200":{"description":"Recent pipelines."},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"List CI pipelines, newest first.","tags":["CI"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"description":"Filter to one commit (prefix match).","in":"query","name":"sha","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"type":"integer"}}]},"/api/v1/repos/{owner}/{repo}/pipelines/{id}":{"get":{"operationId":"getPipeline","responses":{"200":{"description":"Pipeline and job list."},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"One pipeline with its jobs.","tags":["CI"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"id","required":true,"schema":{"type":"integer"}}]},"/api/v1/repos/{owner}/{repo}/pipelines/{id}/jobs/{jobID}/log":{"get":{"description":"Includes everything the runner reported before the job's own script ran — an unavailable container image, a rejected resource limit, a config that did not parse. Capped at 512 KiB (the tail is kept); `X-Job-Status` and `X-Job-Exit-Code` headers carry the outcome.\n","operationId":"getJobLog","responses":{"200":{"description":"Plain-text log."},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"A job's runner-side log, as plain text.","tags":["CI"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"id","required":true,"schema":{"type":"integer"}},{"in":"path","name":"jobID","required":true,"schema":{"type":"integer"}},{"description":"Return only the last N bytes.","in":"query","name":"tail","required":false,"schema":{"type":"integer"}}]},"/api/v1/repos/{owner}/{repo}/polls":{"get":{"operationId":"listPolls","parameters":[{"in":"query","name":"state","schema":{"enum":["closed"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Poll"},"type":"array"}}},"description":"Polls."}},"security":[],"summary":"List polls with live tallies and the caller's own choices.","tags":["Community"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}]},"/api/v1/repos/{owner}/{repo}/polls/{id}/vote":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"post":{"operationId":"votePoll","requestBody":{"content":{"application/json":{"schema":{"properties":{"options":{"items":{"type":"integer"},"type":"array"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Poll"}}},"description":"Updated poll."},"403":{"description":"Poll closed or not permitted."}},"summary":"Cast a poll vote (requires 'vote'); replaces any prior choice.","tags":["Community"]}},"/api/v1/repos/{owner}/{repo}/provenance":{"get":{"operationId":"getProvenance","responses":{"200":{"description":"Provenance record."},"404":{"$ref":"#/components/responses/NotFound"}},"security":[],"summary":"Build/commit provenance for the repository.","tags":["Security"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}]},"/api/v1/repos/{owner}/{repo}/pulls":{"get":{"operationId":"listPullRequests","parameters":[{"in":"query","name":"state","schema":{"default":"open","enum":["open","closed","merged"],"type":"string"}},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PerPage"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PullRequestSummary"},"type":"array"}}},"description":"Page of pull requests.","headers":{"Link":{"$ref":"#/components/headers/Link"},"X-Total-Count":{"$ref":"#/components/headers/XTotalCount"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"List pull requests","tags":["Pull Requests"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}],"post":{"operationId":"createPullRequest","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePullRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PullRequestCreated"}}},"description":"Pull request created."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"summary":"Create a pull request","tags":["Pull Requests"]}},"/api/v1/repos/{owner}/{repo}/pulls/{number}":{"get":{"operationId":"getPullRequest","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PullRequest"}}},"description":"Pull request including review and comment threads."},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"Get a pull request with comments and reviews","tags":["Pull Requests"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"$ref":"#/components/parameters/Number"}]},"/api/v1/repos/{owner}/{repo}/pulls/{number}/comments":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"number","required":true,"schema":{"type":"integer"}}],"post":{"operationId":"commentOnPull","requestBody":{"content":{"application/json":{"schema":{"properties":{"body":{"type":"string"},"file_path":{"type":"string"},"line":{"type":"integer"}},"required":["body"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Comment created."},"403":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Add a review comment (inline on a file/line, or general).","tags":["Pull Requests"]}},"/api/v1/repos/{owner}/{repo}/pulls/{number}/files":{"get":{"operationId":"listPullFiles","responses":{"200":{"description":"Changed files."},"404":{"$ref":"#/components/responses/NotFound"}},"security":[],"summary":"Files changed in a pull request.","tags":["Pull Requests"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"number","required":true,"schema":{"type":"integer"}}]},"/api/v1/repos/{owner}/{repo}/pulls/{number}/impact":{"get":{"operationId":"pullImpact","responses":{"200":{"description":"Impacted symbols and callers."},"404":{"$ref":"#/components/responses/NotFound"}},"security":[],"summary":"Blast-radius / change-impact analysis for a pull request.","tags":["Pull Requests"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"number","required":true,"schema":{"type":"integer"}}]},"/api/v1/repos/{owner}/{repo}/pulls/{number}/merge":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"number","required":true,"schema":{"type":"integer"}}],"post":{"operationId":"mergePull","requestBody":{"content":{"application/json":{"schema":{"properties":{"strategy":{"enum":["merge","squash","rebase"],"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Merged."},"409":{"description":"Blocked by branch protection."}},"summary":"Merge a pull request. Returns 409 if branch protection blocks it.","tags":["Pull Requests"]}},"/api/v1/repos/{owner}/{repo}/pulls/{number}/review-links":{"get":{"operationId":"listReviewLinks","responses":{"200":{"description":"Review links."}},"summary":"List shareable review links for a pull request.","tags":["Pull Requests"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"number","required":true,"schema":{"type":"integer"}}],"post":{"operationId":"createReviewLink","responses":{"201":{"description":"Link created."},"403":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Create a shareable review link (write scope).","tags":["Pull Requests"]}},"/api/v1/repos/{owner}/{repo}/pulls/{number}/review-links/{id}/revoke":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"number","required":true,"schema":{"type":"integer"}},{"in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"post":{"operationId":"revokeReviewLink","responses":{"200":{"description":"Revoked."}},"summary":"Revoke a review link (write scope).","tags":["Pull Requests"]}},"/api/v1/repos/{owner}/{repo}/pulls/{number}/reviews":{"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"number","required":true,"schema":{"type":"integer"}}],"post":{"operationId":"reviewPull","requestBody":{"content":{"application/json":{"schema":{"properties":{"body":{"type":"string"},"event":{"enum":["approve","request_changes","comment"],"type":"string"}},"required":["event"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Review submitted."}},"summary":"Submit a review event (approve / request changes / comment).","tags":["Pull Requests"]}},"/api/v1/repos/{owner}/{repo}/pulls/{number}/schema-preview":{"get":{"description":"Classifies the migration SQL this pull request introduces (destructive / warning / info) and cross-checks each statement against the schema the last release documented for the repository's tied databases. Reads SQL text only — nothing is executed and no database is contacted. `has_migrations` is false when the pull request touches no reviewable SQL.\n","operationId":"pullSchemaPreview","responses":{"200":{"description":"Statement classification and documented-schema checks."},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"Database migration preview for a pull request (Schema Provenance).","tags":["Pull Requests"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"number","required":true,"schema":{"type":"integer"}}]},"/api/v1/repos/{owner}/{repo}/pulls/{number}/semantic-conflicts":{"get":{"operationId":"pullSemanticConflicts","responses":{"200":{"description":"Semantic conflicts."},"404":{"$ref":"#/components/responses/NotFound"}},"security":[],"summary":"Semantic (non-textual) conflicts detected for a pull request.","tags":["Pull Requests"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"in":"path","name":"number","required":true,"schema":{"type":"integer"}}]},"/api/v1/repos/{owner}/{repo}/releases":{"get":{"operationId":"listReleases","responses":{"200":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array"}}},"description":"Releases."}},"security":[],"summary":"List a repository's releases.","tags":["Roadmap"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}]},"/api/v1/repos/{owner}/{repo}/roadmap":{"get":{"operationId":"getRoadmap","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Milestone"},"type":"array"}}},"description":"Roadmap milestones."},"404":{"$ref":"#/components/responses/NotFound"}},"security":[],"summary":"A repository's milestones as roadmap items.","tags":["Roadmap"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}]},"/api/v1/repos/{owner}/{repo}/statuses/{sha}":{"get":{"operationId":"getCommitStatuses","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitStatusList"}}},"description":"All statuses for the SHA plus a combined `state` field."},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"List commit statuses","tags":["Commit Status"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"},{"description":"Commit SHA (full or abbreviated).","in":"path","name":"sha","required":true,"schema":{"pattern":"^[a-f0-9]{4,64}$","type":"string"}}],"post":{"description":"GitHub-compatible commit-status writer. External CI systems POST a\nstatus here for each commit they evaluate; the most-recent status\nper `(sha, context)` pair wins. Branch protection's \"require\nstatus checks\" gate reads the combined state from the matching\nGET endpoint.\n","operationId":"createCommitStatus","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCommitStatus"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitStatus"}}},"description":"Status recorded."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"summary":"Create or update a commit status","tags":["Commit Status"]}},"/api/v1/repos/{owner}/{repo}/symbol":{"get":{"operationId":"symbolLookup","parameters":[{"in":"query","name":"name","required":true,"schema":{"type":"string"}},{"in":"query","name":"ref","schema":{"type":"string"}}],"responses":{"200":{"description":"Definition + reference locations."},"404":{"$ref":"#/components/responses/NotFound"}},"security":[],"summary":"Jump-to-definition / find-references for a symbol.","tags":["Repositories"]},"parameters":[{"$ref":"#/components/parameters/Owner"},{"$ref":"#/components/parameters/Repo"}]},"/api/v1/user":{"get":{"operationId":"getCurrentUser","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurrentUser"}}},"description":"The user the supplied token belongs to."},"401":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Get the authenticated user","tags":["User"]}},"/api/v1/user/repos":{"get":{"operationId":"listUserRepos","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Repository"},"type":"array"}}},"description":"Accessible repositories."},"401":{"$ref":"#/components/responses/Unauthorized"}},"summary":"Repositories the authenticated user can access.","tags":["Repositories"]}},"/api/v1/users/{username}":{"get":{"operationId":"getUser","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfile"}}},"description":"The user's public profile."},"404":{"$ref":"#/components/responses/NotFound"}},"security":[],"summary":"Get a user profile","tags":["User"]},"parameters":[{"$ref":"#/components/parameters/Username"}]}},"security":[{"BearerToken":[]},{"BasicAuth":[]}],"servers":[{"description":"Your CodeVault instance","url":"{baseUrl}","variables":{"baseUrl":{"default":"https://codevault.example","description":"Root URL of your CodeVault installation, with no trailing slash."}}}],"tags":[{"description":"The authenticated user and other user profiles.","name":"User"},{"description":"Repository metadata and branches.","name":"Repositories"},{"description":"Issue tracker.","name":"Issues"},{"description":"Pull request lifecycle.","name":"Pull Requests"},{"description":"GitHub-compatible commit-status checks (used by external CI).","name":"Commit Status"},{"description":"Emoji reactions on issues, PRs, and comments.","name":"Reactions"},{"description":"Project board card management.","name":"Projects"},{"description":"The authenticated user's contribution heatmap and per-day activity.","name":"Activity"},{"description":"Milestones as roadmap items, releases, and org-wide roadmaps.","name":"Roadmap"},{"description":"Feature requests and polls, gated by per-repo community capabilities.","name":"Community"},{"description":"The authenticated user's notifications.","name":"Notifications"},{"description":"Global command-palette search.","name":"Search"},{"description":"Dependency advisories, autofix, provenance, and the notary key.","name":"Security"},{"description":"Deployment pipeline configuration and rollout runs.","name":"Deployments"},{"description":"Per-repository encryption configuration and keys.","name":"Encryption"},{"description":"Package registry upload/download (Generic, npm, PyPI, Go).","name":"Packages"}]}
