From 84da59d17210d4536b8b30ba7622d2856f9533c9 Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Thu, 20 Aug 2026 18:31:40 +1000 Subject: [PATCH] github update --- .../src/github/v00.00.00000/provider.yaml | 40 +- .../github/v00.00.00000/services/actions.yaml | 682 ++ .../v00.00.00000/services/activity.yaml | 1192 ++- .../v00.00.00000/services/agent_tasks.yaml | 337 +- .../github/v00.00.00000/services/agents.yaml | 3065 +++++++ .../github/v00.00.00000/services/apps.yaml | 58 +- .../github/v00.00.00000/services/billing.yaml | 1186 ++- .../v00.00.00000/services/campaigns.yaml | 22 + .../github/v00.00.00000/services/checks.yaml | 9 + .../v00.00.00000/services/classroom.yaml | 126 +- .../v00.00.00000/services/code_quality.yaml | 726 ++ .../v00.00.00000/services/code_scanning.yaml | 1458 +++- .../v00.00.00000/services/code_security.yaml | 45 +- .../services/codes_of_conduct.yaml | 8 + .../v00.00.00000/services/codespaces.yaml | 8 + .../github/v00.00.00000/services/copilot.yaml | 1566 ++-- .../v00.00.00000/services/copilot_spaces.yaml | 4026 ++++++++++ .../v00.00.00000/services/credentials.yaml | 8 + .../v00.00.00000/services/dependabot.yaml | 376 +- .../services/dependency_graph.yaml | 267 +- .../v00.00.00000/services/discussions.yaml | 493 ++ .../github/v00.00.00000/services/emojis.yaml | 8 + .../services/enterprise_team_memberships.yaml | 8 + .../enterprise_team_organizations.yaml | 8 + .../services/enterprise_teams.yaml | 48 + .../github/v00.00.00000/services/gists.yaml | 14 + .../src/github/v00.00.00000/services/git.yaml | 8 + .../v00.00.00000/services/gitignore.yaml | 13 +- .../v00.00.00000/services/hosted_compute.yaml | 8 + .../v00.00.00000/services/interactions.yaml | 738 ++ .../github/v00.00.00000/services/issues.yaml | 7114 +++++++++++------ .../v00.00.00000/services/licenses.yaml | 8 + .../v00.00.00000/services/markdown.yaml | 8 + .../github/v00.00.00000/services/meta.yaml | 32 +- .../v00.00.00000/services/migrations.yaml | 20 +- .../github/v00.00.00000/services/oidc.yaml | 21 + .../github/v00.00.00000/services/orgs.yaml | 5203 ++++++------ .../v00.00.00000/services/packages.yaml | 8 + .../services/private_registries.yaml | 157 +- .../v00.00.00000/services/projects.yaml | 217 +- .../github/v00.00.00000/services/pulls.yaml | 3805 +++++---- .../v00.00.00000/services/rate_limit.yaml | 28 +- .../v00.00.00000/services/reactions.yaml | 8 + .../github/v00.00.00000/services/repos.yaml | 653 +- .../github/v00.00.00000/services/search.yaml | 82 +- .../services/secret_scanning.yaml | 1408 +++- .../services/security_advisories.yaml | 46 + .../github/v00.00.00000/services/teams.yaml | 205 +- .../github/v00.00.00000/services/users.yaml | 1254 ++- 49 files changed, 27182 insertions(+), 9646 deletions(-) create mode 100644 providers/src/github/v00.00.00000/services/agents.yaml create mode 100644 providers/src/github/v00.00.00000/services/code_quality.yaml create mode 100644 providers/src/github/v00.00.00000/services/copilot_spaces.yaml create mode 100644 providers/src/github/v00.00.00000/services/discussions.yaml diff --git a/providers/src/github/v00.00.00000/provider.yaml b/providers/src/github/v00.00.00000/provider.yaml index aeb9844c..5a1746ef 100644 --- a/providers/src/github/v00.00.00000/provider.yaml +++ b/providers/src/github/v00.00.00000/provider.yaml @@ -19,9 +19,7 @@ providerServices: $ref: github/v00.00.00000/services/activity.yaml title: activity API version: v00.00.00000 - description: >- - Activity APIs provide access to notifications, subscriptions, and - timelines. + description: Activity APIs provide access to notifications, subscriptions, and timelines. agent_tasks: id: agent_tasks:v00.00.00000 name: agent_tasks @@ -31,6 +29,15 @@ providerServices: title: agent_tasks API version: v00.00.00000 description: github API + agents: + id: agents:v00.00.00000 + name: agents + preferred: true + service: + $ref: github/v00.00.00000/services/agents.yaml + title: agents API + version: v00.00.00000 + description: Endpoints for Agents secrets and variables. apps: id: apps:v00.00.00000 name: apps @@ -76,6 +83,15 @@ providerServices: title: classroom API version: v00.00.00000 description: Interact with GitHub Classroom. + code_quality: + id: code_quality:v00.00.00000 + name: code_quality + preferred: true + service: + $ref: github/v00.00.00000/services/code_quality.yaml + title: code_quality API + version: v00.00.00000 + description: github API code_scanning: id: code_scanning:v00.00.00000 name: code_scanning @@ -121,6 +137,15 @@ providerServices: title: copilot API version: v00.00.00000 description: Endpoints to manage Copilot using the REST API. + copilot_spaces: + id: copilot_spaces:v00.00.00000 + name: copilot_spaces + preferred: true + service: + $ref: github/v00.00.00000/services/copilot_spaces.yaml + title: copilot_spaces API + version: v00.00.00000 + description: github API credentials: id: credentials:v00.00.00000 name: credentials @@ -148,6 +173,15 @@ providerServices: title: dependency_graph API version: v00.00.00000 description: github API + discussions: + id: discussions:v00.00.00000 + name: discussions + preferred: true + service: + $ref: github/v00.00.00000/services/discussions.yaml + title: discussions API + version: v00.00.00000 + description: GitHub Discussions for a repository - discussions, categories and comments. GitHub exposes Discussions through the GraphQL API only; these resources are backed by GraphQL queries. emojis: id: emojis:v00.00.00000 name: emojis diff --git a/providers/src/github/v00.00.00000/services/actions.yaml b/providers/src/github/v00.00.00000/services/actions.yaml index 41891d56..f7f173f0 100644 --- a/providers/src/github/v00.00.00000/services/actions.yaml +++ b/providers/src/github/v00.00.00000/services/actions.yaml @@ -1111,6 +1111,16 @@ paths: The machine size of the runner. To list available sizes, use `GET actions/hosted-runners/machine-sizes` type: string + image_source: + description: >- + The source type of the runner image to use. Must match the + source of the image specified by `image_id`. Can be one of + `github`, `partner`, or `custom`. + type: string + enum: + - github + - partner + - custom image_id: description: >- The unique identifier of the runner image. To list available @@ -1125,6 +1135,12 @@ paths: only for runners using custom images. type: string nullable: true + image_gen: + description: >- + Whether to enable image generation for this runner pool. + When enabled, the runner pool is used to build and publish + custom runner images. + type: boolean examples: default: value: @@ -4876,6 +4892,144 @@ paths: category: actions subcategory: cache x-stackQL-resource: cache + /repos/{owner}/{repo}/actions/concurrency_groups: + get: + summary: List concurrency groups for a repository + description: >- + Lists the active concurrency groups for a repository. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-repository + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/per-page' + - $ref: '#/components/parameters/pagination-after' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/concurrency-group-list' + examples: + default: + $ref: '#/components/examples/concurrency-group-list' + headers: + Link: + $ref: '#/components/headers/link' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups + x-stackQL-resource: concurrency_groups + /repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}: + get: + summary: Get a concurrency group for a repository + description: >- + Gets a specific concurrency group for a repository, including all + instances in the group's queue. + + Returns 404 if the group is inactive or does not exist. + + + Optionally, pass `ahead_of_run` or `ahead_of_job` to filter the results + to only the items + + ahead of the specified workflow run or job in the queue, plus the + specified item itself + + (returned as the last element). This is useful for determining what is + blocking a particular + + run or job. Returns 422 if the specified run or job is not in this + concurrency group. + + + When using `ahead_of_run`, this matches workflow-level concurrency and + any reusable-workflow + + leases held on behalf of that run. Job-level leases within the run are + not considered to + + block the run as a whole. Use `ahead_of_job` to match job-level + concurrency and reusable-workflow + + leases on the job's ancestor paths. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/get-concurrency-group-for-repository + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/concurrency-group-name' + - name: ahead_of_run + description: >- + Filter to items ahead of this workflow run ID in the queue, plus the + run itself. + + Matches workflow-level concurrency and reusable-workflow leases held + on behalf of + + the run. Mutually exclusive with `ahead_of_job`. + in: query + required: false + schema: + type: integer + minimum: 1 + - name: ahead_of_job + description: >- + Filter to items ahead of this job ID in the queue, plus the job + itself. + + Matches job-level concurrency and reusable-workflow leases on the + job's + + ancestor paths. Mutually exclusive with `ahead_of_run`. + in: query + required: false + schema: + type: integer + minimum: 1 + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/concurrency-group' + examples: + default: + $ref: '#/components/examples/concurrency-group' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups + x-stackQL-resource: concurrency_groups /repos/{owner}/{repo}/actions/jobs/{job_id}: get: summary: Get a job for a workflow run @@ -4988,6 +5142,10 @@ paths: type: boolean default: false description: Whether to enable debug logging for the re-run. + enable_debugger: + type: boolean + default: false + description: Whether to enable the debugger for the re-run of this job. examples: default: value: null @@ -5095,6 +5253,12 @@ paths: type: array items: type: string + use_immutable_subject: + description: >- + Whether to opt in to the immutable OIDC subject claim format + for this repository. When `true`, OIDC tokens will use a + stable, repository-ID-based `sub` claim. + type: boolean examples: default: value: @@ -6870,6 +7034,83 @@ paths: category: actions subcategory: workflow-runs x-stackQL-resource: workflow_runs + /repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups: + get: + summary: List concurrency groups for a workflow run + description: >- + Lists all concurrency groups associated with a workflow run or its jobs. + + + The set of groups is derived from the run's configuration, so a group is + + included even when the run no longer has any items currently holding or + + waiting in it. In that case the `group_members` array will be empty. + + `total_count` reflects the number of groups the run participates in by + + configuration, not the number with active items. + + + This differs from `GET + /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}`, + + which returns 404 when a group has no active items. That endpoint + reports + + the live state of a group repo-wide, while this endpoint reports the + + groups associated with a specific run by configuration. + + + Results are sorted by group name and support cursor-based pagination via + + `before` and `after`. The `after` cursor paginates forward only and does + + not emit a `rel="prev"` Link; use `before` to page backward from a + + forward page's `next` cursor. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-workflow-run + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/run-id' + - $ref: '#/components/parameters/per-page' + - $ref: '#/components/parameters/pagination-before' + - $ref: '#/components/parameters/pagination-after' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/concurrency-group-run-list' + examples: + default: + $ref: '#/components/examples/concurrency-group-run-list' + headers: + Link: + $ref: '#/components/headers/link' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups + x-stackQL-resource: concurrency_groups /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule: post: summary: Review custom deployment protection rules for a workflow run @@ -8110,6 +8351,9 @@ paths: - op: remove path: >- /requestBody/content/application~1json/schema/properties/return_run_details + - op: replace + path: /responses/200/description + value: Response including the workflow run ID and URLs. version: '2026-03-10' x-stackQL-resource: workflows /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable: @@ -10351,6 +10595,13 @@ components: $ref: '#/components/schemas/runner-label' ephemeral: type: boolean + version: + description: >- + The version of the GitHub Actions Runner software. This is only set + if the runner has connected to the service at least once. + nullable: true + type: string + example: 2.323.0 required: - id - name @@ -10672,6 +10923,111 @@ components: required: - total_count - actions_caches + concurrency-group-list: + title: Concurrency Group List + description: A list of active concurrency groups for a repository. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - last_acquired_at + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + last_acquired_at: + type: string + format: date-time + nullable: true + concurrency-group: + title: Concurrency Group + description: >- + A concurrency group with the workflow runs and jobs that are either + currently holding + + or waiting for the concurrency group lease. + type: object + required: + - group_name + - group_url + - total_count + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + total_count: + type: integer + group_members: + type: array + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: string + format: uri + description: API URL for the workflow run. + nullable: true + run_html_url: + type: string + format: uri + description: Web URL for the workflow run. + nullable: true + job_id: + type: integer + description: >- + The ID of the job, when the item represents a job-level or + reusable-workflow-level lease. + job_name: + type: string + description: >- + The display name of the job, when the item represents a + job-level or reusable-workflow-level lease. + job_url: + type: string + format: uri + description: API URL for the job. + nullable: true + job_html_url: + type: string + format: uri + description: Web URL for the job. + nullable: true + status: + type: string + enum: + - in_progress + - pending job: title: Job description: Information of a job execution in a workflow run @@ -10681,10 +11037,12 @@ components: description: The id of the job. example: 21 type: integer + format: int64 run_id: description: The id of the associated workflow run. example: 5 type: integer + format: int64 run_url: type: string example: https://api.github.com/repos/github/hello-world/actions/runs/5 @@ -10886,6 +11244,16 @@ components: type: array items: type: string + use_immutable_subject: + description: >- + Whether the repository has opted in to the immutable OIDC subject + claim format. When `true`, OIDC tokens will use a stable, + repository-ID-based `sub` claim. If not set at the repository level, + falls back to the organization-level setting. + type: boolean + sub_claim_prefix: + description: The current `sub` claim prefix for this repository. + type: string required: - use_default actions-secret: @@ -10983,6 +11351,7 @@ components: properties: id: type: integer + format: int64 description: The ID of the workflow run. example: 5 name: @@ -10995,6 +11364,7 @@ components: example: MDEwOkNoZWNrU3VpdGU1 check_suite_id: type: integer + format: int64 description: The ID of the associated check suite. example: 42 check_suite_node_id: @@ -11219,6 +11589,131 @@ components: - state - user - comment + concurrency-group-run-list: + title: Concurrency Group Run List + description: A list of concurrency groups associated with a workflow run. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + description: >- + The total number of concurrency groups this workflow run + participates in, + + derived from the run's configuration. This count is not filtered by + + whether the run currently holds or is waiting in each group, so it + can + + include groups whose `group_members` array is empty (for example, + when + + the run has already released its lease in that group). + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: >- + API URL for this concurrency group. May return 404 if the + group + + has no active items at the time it is requested, since the + + get-by-name endpoint reports the live repo-wide state of a + group + + while this endpoint lists groups associated with a run by + + configuration. + group_members: + type: array + description: >- + Items belonging to this workflow run that are either currently + holding or + + waiting for the concurrency group lease. May be empty if the + run no + + longer has any active or queued items in this group. + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + - position + - position_url + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: string + format: uri + description: API URL for the workflow run. + nullable: true + run_html_url: + type: string + format: uri + description: Web URL for the workflow run. + nullable: true + position: + type: integer + description: >- + Queue position. 0 means the item holds the concurrency + lease (in_progress), 1 or higher means queued (pending). + position_url: + type: string + format: uri + description: >- + API URL to get items ahead of this item in the + concurrency group. + job_id: + type: integer + description: >- + The ID of the job, when the item represents a job-level + or reusable-workflow-level lease. + nullable: true + job_name: + type: string + description: >- + The display name of the job, when the item represents a + job-level or reusable-workflow-level lease. + nullable: true + job_url: + type: string + format: uri + description: API URL for the job. + nullable: true + job_html_url: + type: string + format: uri + description: Web URL for the job. + nullable: true + status: + type: string + enum: + - in_progress + - pending review-custom-gates-comment-required: type: object properties: @@ -12342,6 +12837,20 @@ components: enum: - enterprise - organization + access_source: + description: >- + How the team's access to the repository was granted. This property + is only + + present when the team is returned in a repository context, such as + + `GET /repos/{owner}/{repo}/teams`. + type: string + enum: + - direct + - organization + - enterprise + example: direct organization_id: type: integer description: Unique identifier of the organization to which this team belongs @@ -13148,6 +13657,25 @@ components: required: true schema: type: integer + pagination-after: + name: after + description: >- + A cursor, as given in the [Link + header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). + If specified, the query only searches for results after this cursor. For + more information, see "[Using pagination in the REST + API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + in: query + required: false + schema: + type: string + concurrency-group-name: + name: concurrency_group_name + description: The name of the concurrency group. + in: path + required: true + schema: + type: string job-id: name: job_id description: The unique identifier of the job. @@ -13155,6 +13683,7 @@ components: required: true schema: type: integer + format: int64 actor: name: actor description: >- @@ -13235,6 +13764,7 @@ components: in: query schema: type: integer + format: int64 workflow-run-head-sha: name: head_sha description: >- @@ -13258,6 +13788,18 @@ components: required: true schema: type: integer + pagination-before: + name: before + description: >- + A cursor, as given in the [Link + header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). + If specified, the query only searches for results before this cursor. + For more information, see "[Using pagination in the REST + API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + in: query + required: false + schema: + type: string workflow-id: name: workflow_id in: path @@ -13904,6 +14446,7 @@ components: status: online busy: true ephemeral: false + version: 2.323.0 labels: - id: 5 name: self-hosted @@ -13920,6 +14463,7 @@ components: status: offline busy: false ephemeral: false + version: 2.323.0 labels: - id: 5 name: self-hosted @@ -13976,6 +14520,7 @@ components: status: online busy: true ephemeral: false + version: 2.323.0 labels: - id: 5 name: self-hosted @@ -14207,6 +14752,49 @@ components: last_accessed_at: '2019-01-24T22:45:36.000Z' created_at: '2019-01-24T22:45:36.000Z' size_in_bytes: 1024 + concurrency-group-list: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + last_acquired_at: '2026-01-15T16:14:23Z' + - group_name: ci-build + group_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + last_acquired_at: '2026-01-15T16:13:55Z' + concurrency-group: + value: + group_name: deploy-prod + group_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + total_count: 3 + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + - run_id: 30433643 + run_name: Deploy to production + run_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433643 + status: pending + - run_id: 30433644 + run_name: Deploy hotfix + run_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433644 + job_id: 798245260 + job_name: deploy + job_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: >- + https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260 + status: pending job: value: id: 399444496 @@ -14939,6 +15527,42 @@ components: runner_group_name: my runner group workflow_name: CI head_branch: main + concurrency-group-run-list: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + position: 0 + position_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642 + - group_name: ci-build + group_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: pending + position: 2 + position_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260 + job_id: 798245260 + job_name: build + job_url: >- + https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: >- + https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260 pending-deployment-items: value: - environment: @@ -16989,6 +17613,35 @@ components: - $ref: >- #/components/x-stackQL-resources/cache/methods/delete_actions_cache_by_key replace: [] + concurrency_groups: + id: github.actions.concurrency_groups + name: concurrency_groups + title: Concurrency Groups + methods: + list_concurrency_groups_for_repository: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1actions~1concurrency_groups/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.concurrency_groups + get_concurrency_group_for_repository: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1actions~1concurrency_groups~1{concurrency_group_name}/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/concurrency_groups/methods/get_concurrency_group_for_repository + - $ref: >- + #/components/x-stackQL-resources/concurrency_groups/methods/list_concurrency_groups_for_repository + insert: [] + update: [] + delete: [] + replace: [] workflow_jobs: id: github.actions.workflow_jobs name: workflow_jobs @@ -17334,6 +17987,27 @@ components: update: [] delete: [] replace: [] + workflow_run_concurrency_groups: + id: github.actions.workflow_run_concurrency_groups + name: workflow_run_concurrency_groups + title: Workflow Run Concurrency Groups + methods: + list_concurrency_groups_for_workflow_run: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1actions~1runs~1{run_id}~1concurrency_groups/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.concurrency_groups + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/workflow_run_concurrency_groups/methods/list_concurrency_groups_for_workflow_run + insert: [] + update: [] + delete: [] + replace: [] workflow_run_logs: id: github.actions.workflow_run_logs name: workflow_run_logs @@ -17481,3 +18155,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/activity.yaml b/providers/src/github/v00.00.00000/services/activity.yaml index 70237e9a..d163531c 100644 --- a/providers/src/github/v00.00.00000/services/activity.yaml +++ b/providers/src/github/v00.00.00000/services/activity.yaml @@ -7,11 +7,9 @@ paths: /events: get: summary: List public events - description: >- + description: |- > [!NOTE] - - > This API is not built to serve real-time use cases. Depending on the - time of day, event latency can be anywhere from 30s to 6h. + > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. tags: - activity operationId: activity/list-public-events @@ -48,45 +46,21 @@ paths: /feeds: get: summary: Get feeds - description: >- - Lists the feeds available to the authenticated user. The response - provides a URL for each feed. You can then get a specific feed by - sending a request to one of the feed URLs. - + description: |- + Lists the feeds available to the authenticated user. The response provides a URL for each feed. You can then get a specific feed by sending a request to one of the feed URLs. * **Timeline**: The GitHub global public timeline - - * **User**: The public timeline for any user, using `uri_template`. - For more information, see - "[Hypermedia](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." - - * **Current user public**: The public timeline for the authenticated - user - + * **User**: The public timeline for any user, using `uri_template`. For more information, see "[Hypermedia](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." + * **Current user public**: The public timeline for the authenticated user * **Current user**: The private timeline for the authenticated user + * **Current user actor**: The private timeline for activity created by the authenticated user + * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. - * **Current user actor**: The private timeline for activity created by - the authenticated user - - * **Current user organizations**: The private timeline for the - organizations the authenticated user is a member of. - - * **Security advisories**: A collection of public announcements that - provide information about security-related vulnerabilities in software - on GitHub. - - - By default, timeline resources are returned in JSON. You can specify the - `application/atom+xml` type in the `Accept` header to return timeline - resources in Atom format. For more information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - + By default, timeline resources are returned in JSON. You can specify the `application/atom+xml` type in the `Accept` header to return timeline resources in Atom format. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." > [!NOTE] - - > Private feeds are only returned when [authenticating via Basic - Auth](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) - since current feed URIs use the older, non revocable auth tokens. + > Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) since current feed URIs use the older, non revocable auth tokens. tags: - activity operationId: activity/get-feeds @@ -113,18 +87,15 @@ paths: /networks/{owner}/{repo}/events: get: summary: List public events for a network of repositories - description: >- + description: |- > [!NOTE] - - > This API is not built to serve real-time use cases. Depending on the - time of day, event latency can be anywhere from 30s to 6h. + > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. tags: - activity operationId: activity/list-public-events-for-repo-network externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/events#list-public-events-for-a-network-of-repositories + url: https://docs.github.com/rest/activity/events#list-public-events-for-a-network-of-repositories parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -159,16 +130,13 @@ paths: /notifications: get: summary: List notifications for the authenticated user - description: >- - List all notifications for the current user, sorted by most recently - updated. + description: List all notifications for the current user, sorted by most recently updated. tags: - activity operationId: activity/list-notifications-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user + url: https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user parameters: - $ref: '#/components/parameters/all' - $ref: '#/components/parameters/participating' @@ -176,10 +144,7 @@ paths: - $ref: '#/components/parameters/before' - $ref: '#/components/parameters/page' - name: per_page - description: >- - The number of results per page (max 50). For more information, see - "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: The number of results per page (max 50). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query schema: type: integer @@ -215,22 +180,13 @@ paths: x-stackQL-resource: notifications put: summary: Mark notifications as read - description: >- - Marks all notifications as "read" for the current user. If the number of - notifications is too large to complete in one request, you will receive - a `202 Accepted` status and GitHub will run an asynchronous process to - mark notifications as "read." To check whether any "unread" - notifications remain, you can use the [List notifications for the - authenticated - user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) - endpoint and pass the query parameter `all=false`. + description: Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. tags: - activity operationId: activity/mark-notifications-as-read externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/notifications#mark-notifications-as-read + url: https://docs.github.com/rest/activity/notifications#mark-notifications-as-read parameters: [] requestBody: required: false @@ -240,13 +196,7 @@ paths: type: object properties: last_read_at: - description: >- - Describes the last point that notifications were checked. - Anything updated since this time will not be marked as read. - If you omit this parameter, all notifications are marked as - read. This is a timestamp in [ISO - 8601](https://en.wikipedia.org/wiki/ISO_8601) format: - `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + description: 'Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp.' type: string format: date-time read: @@ -320,17 +270,13 @@ paths: x-stackQL-resource: notifications patch: summary: Mark a thread as read - description: >- - Marks a thread as "read." Marking a thread as "read" is equivalent to - clicking a notification in your notification inbox on GitHub: - https://github.com/notifications. + description: 'Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications.' tags: - activity operationId: activity/mark-thread-as-read externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/notifications#mark-a-thread-as-read + url: https://docs.github.com/rest/activity/notifications#mark-a-thread-as-read parameters: - $ref: '#/components/parameters/thread-id' responses: @@ -348,17 +294,13 @@ paths: x-stackQL-resource: notifications delete: summary: Mark a thread as done - description: >- - Marks a thread as "done." Marking a thread as "done" is equivalent to - marking a notification in your notification inbox on GitHub as done: - https://github.com/notifications. + description: 'Marks a thread as "done." Marking a thread as "done" is equivalent to marking a notification in your notification inbox on GitHub as done: https://github.com/notifications.' tags: - activity operationId: activity/mark-thread-as-done externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/notifications#mark-a-thread-as-done + url: https://docs.github.com/rest/activity/notifications#mark-a-thread-as-done parameters: - $ref: '#/components/parameters/thread-id' responses: @@ -373,22 +315,16 @@ paths: /notifications/threads/{thread_id}/subscription: get: summary: Get a thread subscription for the authenticated user - description: >- - This checks to see if the current user is subscribed to a thread. You - can also [get a repository - subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). - + description: |- + This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). - Note that subscriptions are only generated if a user is participating in - a conversation--for example, they've replied to the thread, were - **@mentioned**, or manually subscribe to a thread. + Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. tags: - activity operationId: activity/get-thread-subscription-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/notifications#get-a-thread-subscription-for-the-authenticated-user + url: https://docs.github.com/rest/activity/notifications#get-a-thread-subscription-for-the-authenticated-user parameters: - $ref: '#/components/parameters/thread-id' responses: @@ -415,28 +351,18 @@ paths: x-stackQL-resource: notifications put: summary: Set a thread subscription - description: >- - If you are watching a repository, you receive notifications for all - threads by default. Use this endpoint to ignore future notifications for - threads until you comment on the thread or get an **@mention**. + description: |- + If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. - You can also use this endpoint to subscribe to threads that you are - currently not receiving notifications for or to subscribed to threads - that you have previously ignored. - - - Unsubscribing from a conversation in a repository that you are not - watching is functionally equivalent to the [Delete a thread - subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) - endpoint. + Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. tags: - activity operationId: activity/set-thread-subscription externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/notifications#set-a-thread-subscription + url: https://docs.github.com/rest/activity/notifications#set-a-thread-subscription parameters: - $ref: '#/components/parameters/thread-id' requestBody: @@ -478,20 +404,13 @@ paths: x-stackQL-resource: notifications delete: summary: Delete a thread subscription - description: >- - Mutes all future notifications for a conversation until you comment on - the thread or get an **@mention**. If you are watching the repository of - the thread, you will still receive notifications. To ignore future - notifications for a repository you are watching, use the [Set a thread - subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) - endpoint and set `ignore` to `true`. + description: Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. tags: - activity operationId: activity/delete-thread-subscription externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription + url: https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription parameters: - $ref: '#/components/parameters/thread-id' responses: @@ -512,18 +431,15 @@ paths: /orgs/{org}/events: get: summary: List public organization events - description: >- + description: |- > [!NOTE] - - > This API is not built to serve real-time use cases. Depending on the - time of day, event latency can be anywhere from 30s to 6h. + > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. tags: - activity operationId: activity/list-public-org-events externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/events#list-public-organization-events + url: https://docs.github.com/rest/activity/events#list-public-organization-events parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/per-page' @@ -549,11 +465,9 @@ paths: /repos/{owner}/{repo}/events: get: summary: List repository events - description: >- + description: |- > [!NOTE] - - > This API is not built to serve real-time use cases. Depending on the - time of day, event latency can be anywhere from 30s to 6h. + > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. tags: - activity operationId: activity/list-repo-events @@ -586,16 +500,13 @@ paths: /repos/{owner}/{repo}/notifications: get: summary: List repository notifications for the authenticated user - description: >- - Lists all notifications for the current user in the specified - repository. + description: Lists all notifications for the current user in the specified repository. tags: - activity operationId: activity/list-repo-notifications-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user + url: https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -628,22 +539,13 @@ paths: x-stackQL-resource: notifications put: summary: Mark repository notifications as read - description: >- - Marks all notifications in a repository as "read" for the current user. - If the number of notifications is too large to complete in one request, - you will receive a `202 Accepted` status and GitHub will run an - asynchronous process to mark notifications as "read." To check whether - any "unread" notifications remain, you can use the [List repository - notifications for the authenticated - user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) - endpoint and pass the query parameter `all=false`. + description: Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. tags: - activity operationId: activity/mark-repo-notifications-as-read externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/notifications#mark-repository-notifications-as-read + url: https://docs.github.com/rest/activity/notifications#mark-repository-notifications-as-read parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -657,13 +559,7 @@ paths: last_read_at: type: string format: date-time - description: >- - Describes the last point that notifications were checked. - Anything updated since this time will not be marked as read. - If you omit this parameter, all notifications are marked as - read. This is a timestamp in [ISO - 8601](https://en.wikipedia.org/wiki/ISO_8601) format: - `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + description: 'Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp.' examples: default: value: @@ -683,10 +579,7 @@ paths: examples: default: value: - message: >- - Unread notifications couldn't be marked in a single - request. Notifications are being marked as read in the - background. + message: Unread notifications couldn't be marked in a single request. Notifications are being marked as read in the background. '205': description: Reset Content x-github: @@ -698,17 +591,12 @@ paths: /repos/{owner}/{repo}/stargazers: get: summary: List stargazers - description: >- + description: |- Lists the people that have starred the repository. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github.star+json`**: Includes a timestamp of when - the star was created. + - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. tags: - activity operationId: activity/list-stargazers-for-repo @@ -733,8 +621,7 @@ paths: default-response: $ref: '#/components/examples/simple-user-items-default-response' alternative-response-with-star-creation-timestamps: - $ref: >- - #/components/examples/stargazer-items-alternative-response-with-star-creation-timestamps + $ref: '#/components/examples/stargazer-items-alternative-response-with-star-creation-timestamps' headers: Link: $ref: '#/components/headers/link' @@ -785,16 +672,13 @@ paths: /repos/{owner}/{repo}/subscription: get: summary: Get a repository subscription - description: >- - Gets information about whether the authenticated user is subscribed to - the repository. + description: Gets information about whether the authenticated user is subscribed to the repository. tags: - activity operationId: activity/get-repo-subscription externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/watching#get-a-repository-subscription + url: https://docs.github.com/rest/activity/watching#get-a-repository-subscription parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -807,8 +691,7 @@ paths: $ref: '#/components/schemas/repository-subscription' examples: response-if-you-subscribe-to-the-repository: - $ref: >- - #/components/examples/repository-subscription-response-if-you-subscribe-to-the-repository + $ref: '#/components/examples/repository-subscription-response-if-you-subscribe-to-the-repository' '403': $ref: '#/components/responses/forbidden' '404': @@ -821,20 +704,13 @@ paths: x-stackQL-resource: watching put: summary: Set a repository subscription - description: >- - If you would like to watch a repository, set `subscribed` to `true`. If - you would like to ignore notifications made within a repository, set - `ignored` to `true`. If you would like to stop watching a repository, - [delete the repository's - subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) - completely. + description: If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. tags: - activity operationId: activity/set-repo-subscription externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/watching#set-a-repository-subscription + url: https://docs.github.com/rest/activity/watching#set-a-repository-subscription parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -847,14 +723,10 @@ paths: properties: subscribed: type: boolean - description: >- - Determines if notifications should be received from this - repository. + description: Determines if notifications should be received from this repository. ignored: type: boolean - description: >- - Determines if all notifications should be blocked from this - repository. + description: Determines if all notifications should be blocked from this repository. examples: default: value: @@ -878,18 +750,13 @@ paths: x-stackQL-resource: watching delete: summary: Delete a repository subscription - description: >- - This endpoint should only be used to stop watching a repository. To - control whether or not you wish to receive notifications from a - repository, [set the repository's subscription - manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). + description: This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). tags: - activity operationId: activity/delete-repo-subscription externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/watching#delete-a-repository-subscription + url: https://docs.github.com/rest/activity/watching#delete-a-repository-subscription parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -905,24 +772,18 @@ paths: /user/starred: get: summary: List repositories starred by the authenticated user - description: >- + description: |- Lists repositories the authenticated user has starred. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github.star+json`**: Includes a timestamp of when - the star was created. + - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. tags: - activity operationId: activity/list-repos-starred-by-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/starring#list-repositories-starred-by-the-authenticated-user + url: https://docs.github.com/rest/activity/starring#list-repositories-starred-by-the-authenticated-user parameters: - $ref: '#/components/parameters/sort-starred' - $ref: '#/components/parameters/direction' @@ -947,8 +808,7 @@ paths: $ref: '#/components/schemas/starred-repository' examples: alternative-response-with-star-creation-timestamps: - $ref: >- - #/components/examples/starred-repository-items-alternative-response-with-star-creation-timestamps + $ref: '#/components/examples/starred-repository-items-alternative-response-with-star-creation-timestamps' headers: Link: $ref: '#/components/headers/link' @@ -973,8 +833,7 @@ paths: operationId: activity/check-repo-is-starred-by-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/starring#check-if-a-repository-is-starred-by-the-authenticated-user + url: https://docs.github.com/rest/activity/starring#check-if-a-repository-is-starred-by-the-authenticated-user parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1001,17 +860,13 @@ paths: x-stackQL-resource: starring put: summary: Star a repository for the authenticated user - description: >- - Note that you'll need to set `Content-Length` to zero when calling out - to this endpoint. For more information, see "[HTTP - method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + description: Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." tags: - activity operationId: activity/star-repo-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/starring#star-a-repository-for-the-authenticated-user + url: https://docs.github.com/rest/activity/starring#star-a-repository-for-the-authenticated-user parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1040,8 +895,7 @@ paths: operationId: activity/unstar-repo-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/starring#unstar-a-repository-for-the-authenticated-user + url: https://docs.github.com/rest/activity/starring#unstar-a-repository-for-the-authenticated-user parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1071,8 +925,7 @@ paths: operationId: activity/list-watched-repos-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/watching#list-repositories-watched-by-the-authenticated-user + url: https://docs.github.com/rest/activity/watching#list-repositories-watched-by-the-authenticated-user parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' @@ -1106,24 +959,17 @@ paths: /users/{username}/events: get: summary: List events for the authenticated user - description: >- - If you are authenticated as the given user, you will see your private - events. Otherwise, you'll only see public events. _Optional_: use the - fine-grained token with following permission set to view private events: - "Events" user permissions (read). - + description: |- + If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. _Optional_: use the fine-grained token with following permission set to view private events: "Events" user permissions (read). > [!NOTE] - - > This API is not built to serve real-time use cases. Depending on the - time of day, event latency can be anywhere from 30s to 6h. + > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. tags: - activity operationId: activity/list-events-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/events#list-events-for-the-authenticated-user + url: https://docs.github.com/rest/activity/events#list-events-for-the-authenticated-user parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/per-page' @@ -1149,22 +995,17 @@ paths: /users/{username}/events/orgs/{org}: get: summary: List organization events for the authenticated user - description: >- - This is the user's organization dashboard. You must be authenticated as - the user to view this. - + description: |- + This is the user's organization dashboard. You must be authenticated as the user to view this. > [!NOTE] - - > This API is not built to serve real-time use cases. Depending on the - time of day, event latency can be anywhere from 30s to 6h. + > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. tags: - activity operationId: activity/list-org-events-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/events#list-organization-events-for-the-authenticated-user + url: https://docs.github.com/rest/activity/events#list-organization-events-for-the-authenticated-user parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/org' @@ -1191,18 +1032,15 @@ paths: /users/{username}/events/public: get: summary: List public events for a user - description: >- + description: |- > [!NOTE] - - > This API is not built to serve real-time use cases. Depending on the - time of day, event latency can be anywhere from 30s to 6h. + > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. tags: - activity operationId: activity/list-public-events-for-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/events#list-public-events-for-a-user + url: https://docs.github.com/rest/activity/events#list-public-events-for-a-user parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/per-page' @@ -1228,25 +1066,18 @@ paths: /users/{username}/received_events: get: summary: List events received by the authenticated user - description: >- - These are events that you've received by watching repositories and - following users. If you are authenticated as the - - given user, you will see private events. Otherwise, you'll only see - public events. - + description: |- + These are events that you've received by watching repositories and following users. If you are authenticated as the + given user, you will see private events. Otherwise, you'll only see public events. > [!NOTE] - - > This API is not built to serve real-time use cases. Depending on the - time of day, event latency can be anywhere from 30s to 6h. + > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. tags: - activity operationId: activity/list-received-events-for-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/events#list-events-received-by-the-authenticated-user + url: https://docs.github.com/rest/activity/events#list-events-received-by-the-authenticated-user parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/per-page' @@ -1272,18 +1103,15 @@ paths: /users/{username}/received_events/public: get: summary: List public events received by a user - description: >- + description: |- > [!NOTE] - - > This API is not built to serve real-time use cases. Depending on the - time of day, event latency can be anywhere from 30s to 6h. + > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. tags: - activity operationId: activity/list-received-public-events-for-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/events#list-public-events-received-by-a-user + url: https://docs.github.com/rest/activity/events#list-public-events-received-by-a-user parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/per-page' @@ -1309,24 +1137,18 @@ paths: /users/{username}/starred: get: summary: List repositories starred by a user - description: >- + description: |- Lists repositories a user has starred. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github.star+json`**: Includes a timestamp of when - the star was created. + - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. tags: - activity operationId: activity/list-repos-starred-by-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/starring#list-repositories-starred-by-a-user + url: https://docs.github.com/rest/activity/starring#list-repositories-starred-by-a-user parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/sort-starred' @@ -1363,8 +1185,7 @@ paths: operationId: activity/list-repos-watched-by-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/activity/watching#list-repositories-watched-by-a-user + url: https://docs.github.com/rest/activity/watching#list-repositories-watched-by-a-user parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/per-page' @@ -1390,6 +1211,111 @@ paths: category: activity subcategory: watching x-stackQL-resource: watching + /graphql?resource=star_history: + post: + operationId: graphql/activity/star_history/list + summary: Star History + description: Every star on a repository with the time it was given, oldest first - suitable for star growth over time. Backed by the GitHub GraphQL API (`repository.stargazers` ordered by `STARRED_AT`). Since July 2026 GitHub limits stargazer listings to repository admins and collaborators; other tokens get "Resource not accessible by personal access token". + x-stackQL-graphQL: + url: https://api.github.com/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.repository.stargazers.edges[*] + cursor: + strategy: page_info + jsonPath: $.data.repository.stargazers.pageInfo.endCursor + terminateOnJsonPath: $.data.repository.stargazers.pageInfo.hasNextPage + query: | + query { + repository(owner: "{{ .owner }}", name: "{{ .repo }}") { + stargazers(first: 100, orderBy: {field: STARRED_AT, direction: ASC}{{ .cursor }}) { + pageInfo { endCursor hasNextPage } + edges { + starred_at: starredAt + user: node { + login + id + database_id: databaseId + name + company + location + url + avatar_url: avatarUrl + } + } + } + } + } + x-stackql-protocol: graphql + externalDocs: + description: GitHub GraphQL API documentation + url: https://docs.github.com/graphql + parameters: + - name: owner + in: query + required: true + schema: + type: string + description: The account owner of the repository. + - name: repo + in: query + required: true + schema: + type: string + description: The name of the repository. + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + repository: + type: object + properties: + stargazers: + type: object + properties: + edges: + type: array + items: + type: object + properties: + starred_at: + type: string + format: date-time + description: When the star was given. + user: + type: object + description: The user who starred the repository (`login`, `id`, `database_id`, `name`, `company`, `location`, `url`, `avatar_url`). + properties: + login: + type: string + id: + type: string + database_id: + type: integer + name: + type: string + company: + type: string + location: + type: string + url: + type: string + avatar_url: + type: string + pageInfo: + type: object + properties: + endCursor: + type: string + hasNextPage: + type: boolean components: schemas: event: @@ -1600,9 +1526,7 @@ components: has_pull_requests: type: boolean pull_request_creation_policy: - description: >- - The policy controlling who can create pull requests: all or - collaborators_only. + description: 'The policy controlling who can create pull requests: all or collaborators_only.' type: string enum: - all @@ -1755,9 +1679,7 @@ components: example: v1.0.0 type: string target_commitish: - description: >- - Specifies the commitish value that determines where the Git - tag is created from. + description: Specifies the commitish value that determines where the Git tag is created from. example: master type: string name: @@ -1767,15 +1689,11 @@ components: type: string nullable: true draft: - description: >- - true to create a draft (unpublished) release, false to - create a published one. + description: true to create a draft (unpublished) release, false to create a published one. example: false type: boolean prerelease: - description: >- - Whether to identify the release as a prerelease or a full - release. + description: Whether to identify the release as a prerelease or a full release. example: false type: boolean immutable: @@ -1895,8 +1813,7 @@ components: current_user_organization_urls: type: array example: - - >- - https://github.com/organizations/github/octocat.private.atom?token=abc123 + - https://github.com/organizations/github/octocat.private.atom?token=abc123 items: type: string format: uri @@ -2150,9 +2067,7 @@ components: type: boolean example: true ignored: - description: >- - Determines if all notifications should be blocked from this - repository. + description: Determines if all notifications should be blocked from this repository. type: boolean reason: type: string @@ -2239,8 +2154,7 @@ components: example: https://api.github.com/repos/octocat/Hello-World archive_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + example: http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: type: string example: http://api.github.com/repos/octocat/Hello-World/assignees{/user} @@ -2252,8 +2166,7 @@ components: example: http://api.github.com/repos/octocat/Hello-World/branches{/branch} collaborators_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + example: http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: type: string example: http://api.github.com/repos/octocat/Hello-World/comments{/number} @@ -2262,8 +2175,7 @@ components: example: http://api.github.com/repos/octocat/Hello-World/commits{/sha} compare_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + example: http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: type: string example: http://api.github.com/repos/octocat/Hello-World/contents/{+path} @@ -2301,12 +2213,10 @@ components: example: git:github.com/octocat/Hello-World.git issue_comment_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + example: http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} issue_events_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/issues/events{/number} + example: http://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: type: string example: http://api.github.com/repos/octocat/Hello-World/issues{/number} @@ -2329,8 +2239,7 @@ components: example: http://api.github.com/repos/octocat/Hello-World/milestones{/number} notifications_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + example: http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: type: string example: http://api.github.com/repos/octocat/Hello-World/pulls{/number} @@ -2400,9 +2309,7 @@ components: type: integer example: 80 size: - description: >- - The size of the repository, in kilobytes. Size is calculated hourly. - When a repository is initially created, the size is 0. + description: The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. type: integer example: 108 default_branch: @@ -2413,9 +2320,7 @@ components: type: integer example: 0 is_template: - description: >- - Whether this repository acts as a template that can be used to - generate new repositories. + description: Whether this repository acts as a template that can be used to generate new repositories. default: false type: boolean example: true @@ -2457,9 +2362,7 @@ components: type: boolean example: true pull_request_creation_policy: - description: >- - The policy controlling who can create pull requests: all or - collaborators_only. + description: 'The policy controlling who can create pull requests: all or collaborators_only.' type: string enum: - all @@ -2514,19 +2417,13 @@ components: type: boolean example: false allow_update_branch: - description: >- - Whether or not a pull request head branch that is behind its base - branch can always be updated even if it is not required to be up to - date before merging. + description: Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. default: false type: boolean example: false use_squash_pr_title_as_default: type: boolean - description: >- - Whether a squash merge commit can use the pull request title as - default. **This property is closing down. Please use - `squash_merge_commit_title` instead. + description: Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. default: false deprecated: true squash_merge_commit_title: @@ -2534,14 +2431,11 @@ components: enum: - PR_TITLE - COMMIT_OR_PR_TITLE - description: >- + description: |- The default value for a squash merge commit title: - - `PR_TITLE` - default to the pull request's title. - - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one - commit) or the pull request's title (when more than one commit). + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). squash_merge_commit_message: type: string enum: @@ -2559,14 +2453,11 @@ components: enum: - PR_TITLE - MERGE_MESSAGE - description: >- + description: |- The default value for a merge commit title. - - `PR_TITLE` - default to the pull request's title. - - - `MERGE_MESSAGE` - default to the classic title for a merge message - (e.g., Merge pull request #123 from branch-name). + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). merge_commit_message: type: string enum: @@ -2841,8 +2732,7 @@ components: example: https://api.github.com/repos/octocat/Hello-World archive_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + example: http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: type: string example: http://api.github.com/repos/octocat/Hello-World/assignees{/user} @@ -2854,8 +2744,7 @@ components: example: http://api.github.com/repos/octocat/Hello-World/branches{/branch} collaborators_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + example: http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: type: string example: http://api.github.com/repos/octocat/Hello-World/comments{/number} @@ -2864,8 +2753,7 @@ components: example: http://api.github.com/repos/octocat/Hello-World/commits{/sha} compare_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + example: http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: type: string example: http://api.github.com/repos/octocat/Hello-World/contents/{+path} @@ -2902,12 +2790,10 @@ components: type: string issue_comment_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + example: http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} issue_events_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/issues/events{/number} + example: http://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: type: string example: http://api.github.com/repos/octocat/Hello-World/issues{/number} @@ -2930,8 +2816,7 @@ components: example: http://api.github.com/repos/octocat/Hello-World/milestones{/number} notifications_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + example: http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: type: string example: http://api.github.com/repos/octocat/Hello-World/pulls{/number} @@ -2990,9 +2875,7 @@ components: watchers_count: type: integer size: - description: >- - The size of the repository, in kilobytes. Size is calculated hourly. - When a repository is initially created, the size is 0. + description: The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. type: integer default_branch: type: string @@ -3019,9 +2902,7 @@ components: has_pull_requests: type: boolean pull_request_creation_policy: - description: >- - The policy controlling who can create pull requests: all or - collaborators_only. + description: 'The policy controlling who can create pull requests: all or collaborators_only.' type: string enum: - all @@ -3106,10 +2987,7 @@ components: $ref: '#/components/schemas/security-and-analysis' custom_properties: type: object - description: >- - The custom properties that were defined for the repository. The keys - are the custom property names, and the values are the corresponding - custom property values. + description: The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. additionalProperties: true required: - archive_url @@ -3428,9 +3306,7 @@ components: has_pull_requests: type: boolean pull_request_creation_policy: - description: >- - The policy controlling who can create pull requests: all or - collaborators_only. + description: 'The policy controlling who can create pull requests: all or collaborators_only.' type: string enum: - all @@ -3904,9 +3780,7 @@ components: example: v1.0.0 type: string target_commitish: - description: >- - Specifies the commitish value that determines where the Git tag - is created from. + description: Specifies the commitish value that determines where the Git tag is created from. example: master type: string name: @@ -3916,15 +3790,11 @@ components: type: string nullable: true draft: - description: >- - true to create a draft (unpublished) release, false to create a - published one. + description: true to create a draft (unpublished) release, false to create a published one. example: false type: boolean prerelease: - description: >- - Whether to identify the release as a prerelease or a full - release. + description: Whether to identify the release as a prerelease or a full release. example: false type: boolean immutable: @@ -4194,107 +4064,52 @@ components: example: https://api.github.com/codes_of_conduct/contributor_covenant body: type: string - example: > + example: | # Contributor Covenant Code of Conduct - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we - as contributors and maintainers pledge to making participation in - our project and our community a harassment-free experience for - everyone, regardless of age, body size, disability, ethnicity, - gender identity and expression, level of experience, nationality, - personal appearance, race, religion, or sexual identity and - orientation. - + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards - - Examples of behavior that contributes to creating a positive - environment include: - + Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual - attention or advances - - * Trolling, insulting/derogatory comments, and personal or political - attacks - + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment - - * Publishing others' private information, such as a physical or - electronic address, without explicit permission - - * Other conduct which could reasonably be considered inappropriate - in a professional setting - + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of - acceptable behavior and are expected to take appropriate and fair - corrective action in response + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. - Project maintainers have the right and responsibility to remove, - edit, or reject comments, commits, code, wiki edits, issues, and - other contributions that are not aligned to this Code of Conduct, or - to ban temporarily or permanently any contributor for other - behaviors that they deem inappropriate, threatening, offensive, or - harmful. - + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope - - This Code of Conduct applies both within project spaces and in - public spaces when an individual is representing the project or its - community. Examples of representing a project or community include - using an official project e-mail address, + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - Instances of abusive, harassing, or otherwise unacceptable behavior - may be reported by contacting the project team at [EMAIL]. The - project team will review and investigate all complaints, and will - respond in a way that it deems appropriate to the circumstances. The - project team is obligated to maintain confidentiality with regard to - the reporter of an incident. Further details of specific enforcement - policies may be posted separately. - - - Project maintainers who do not follow or enforce the Code of Conduct - in good faith may face temporary or permanent repercussions as - determined by other members of the project's leadership. - + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution - - This Code of Conduct is adapted from the [Contributor - Covenant](http://contributor-covenant.org), version 1.4, available - at - [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/). + This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/). html_url: type: string format: uri @@ -4309,12 +4124,10 @@ components: type: object properties: advanced_security: - description: > + description: | Enable or disable GitHub Advanced Security for the repository. - - For standalone Code Scanning or Secret Protection products, this - parameter cannot be used. + For standalone Code Scanning or Secret Protection products, this parameter cannot be used. type: object properties: status: @@ -4335,9 +4148,7 @@ components: type: object properties: status: - description: >- - The enablement status of Dependabot security updates for the - repository. + description: The enablement status of Dependabot security updates for the repository. type: string enum: - enabled @@ -4605,14 +4416,10 @@ components: type: string state: type: string - description: >- + description: |- The current state of the discussion. - - `converting` means that the discussion is being converted from an - issue. - - `transferring` means that the discussion is being transferred from - another repository. + `converting` means that the discussion is being converted from an issue. + `transferring` means that the discussion is being transferred from another repository. enum: - open - closed @@ -4732,9 +4539,7 @@ components: - body issue: title: Issue - description: >- - Issues are a great way to keep track of tasks, enhancements, and bugs - for your projects. + description: Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. type: object properties: id: @@ -4785,20 +4590,13 @@ components: type: string body: description: Contents of the issue - example: >- - It looks like the new widget form is broken on Safari. When I try - and create the widget, Safari crashes. This is reproducible on 10.8, - but not 10.9. Maybe a browser bug? + example: It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? type: string nullable: true user: $ref: '#/components/schemas/nullable-simple-user' labels: - description: >- - Labels to associate with this issue; pass one or more label names to - replace the set of labels on this issue; send an empty array to - clear all labels from the issue; note that the labels are silently - dropped for users without push access to the repository + description: Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository example: - bug - registration @@ -4983,9 +4781,7 @@ components: version: '2026-03-10' label: title: Label - description: >- - Color-coded labels help you categorize and filter your issues (just like - labels in Gmail). + description: Color-coded labels help you categorize and filter your issues (just like labels in Gmail). type: object properties: id: @@ -5075,6 +4871,8 @@ components: $ref: '#/components/schemas/reaction-rollup' pin: $ref: '#/components/schemas/nullable-pinned-issue-comment' + minimized: + $ref: '#/components/schemas/nullable-issue-comment-minimized' required: - id - node_id @@ -5220,9 +5018,7 @@ components: example: v1.0.0 type: string target_commitish: - description: >- - Specifies the commitish value that determines where the Git tag is - created from. + description: Specifies the commitish value that determines where the Git tag is created from. example: master type: string name: @@ -5232,9 +5028,7 @@ components: type: string nullable: true draft: - description: >- - true to create a draft (unpublished) release, false to create a - published one. + description: true to create a draft (unpublished) release, false to create a published one. example: false type: boolean prerelease: @@ -5381,7 +5175,7 @@ components: nullable: true issue-type: title: Issue Type - description: The type of issue. + description: The type assigned to the issue. This is only present for issues in repositories where issue types are supported. type: object nullable: true properties: @@ -5429,11 +5223,7 @@ components: - description nullable-integration: title: GitHub app - description: >- - GitHub apps are a new way to extend GitHub. They can be installed - directly on organizations and user accounts and granted access to - specific repositories. They come with granular permissions and built-in - webhooks. GitHub apps are first class actors within GitHub. + description: GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. type: object nullable: true properties: @@ -5621,11 +5411,7 @@ components: issues: read deployments: write events: - description: >- - The list of events for the GitHub app. Note that the - `installation_target`, `security_advisory`, and `meta` events are - not included because they are global events and not specific to an - installation. + description: The list of events for the GitHub app. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation. example: - label - deployment @@ -5633,9 +5419,7 @@ components: items: type: string installations_count: - description: >- - The number of installations associated with the GitHub app. Only - returned when the integration is requesting details about itself. + description: The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself. example: 5 type: integer required: @@ -5727,6 +5511,8 @@ components: $ref: '#/components/schemas/reaction-rollup' pin: $ref: '#/components/schemas/nullable-pinned-issue-comment' + minimized: + $ref: '#/components/schemas/nullable-issue-comment-minimized' required: - id - node_id @@ -5764,6 +5550,10 @@ components: type: integer format: int64 example: 1 + issue_field_name: + description: The human-readable name of the issue field. + type: string + example: Priority node_id: type: string example: IFT_GDKND @@ -5773,6 +5563,7 @@ components: enum: - text - single_select + - multi_select - number - date example: text @@ -5782,9 +5573,7 @@ components: type: string example: Sample text single_select_option: - description: >- - Details about the selected option (only present for single_select - fields) + description: Details about the selected option (only present for single_select fields) type: object properties: id: @@ -5805,6 +5594,30 @@ components: - name - color nullable: true + multi_select_options: + description: Details about the selected options + type: array + items: + type: object + properties: + id: + description: Unique identifier for the option. + type: integer + format: int64 + example: 1 + name: + description: The name of the option + type: string + example: High + color: + description: The color of the option + type: string + example: red + required: + - id + - name + - color + nullable: true required: - issue_field_id - node_id @@ -5825,6 +5638,19 @@ components: - pinned_at - pinned_by nullable: true + nullable-issue-comment-minimized: + title: Minimized Issue Comment + description: Details about why an issue comment was minimized. + type: object + properties: + reason: + description: The reason the comment was minimized. + type: string + nullable: true + example: low-quality + required: + - reason + nullable: true release-asset: title: Release Asset description: Data related to a release. @@ -5989,20 +5815,14 @@ components: parameters: public-events-per-page: name: per_page - description: >- - The number of results per page (max 100). For more information, see - "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query schema: type: integer default: 15 page: name: page - description: >- - The page number of the results to fetch. For more information, see - "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query schema: type: integer @@ -6016,19 +5836,14 @@ components: type: string repo: name: repo - description: >- - The name of the repository without the `.git` extension. The name is not - case sensitive. + description: The name of the repository without the `.git` extension. The name is not case sensitive. in: path required: true schema: type: string per-page: name: per_page - description: >- - The number of results per page (max 100). For more information, see - "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query schema: type: integer @@ -6043,9 +5858,7 @@ components: default: false participating: name: participating - description: >- - If `true`, only shows notifications in which the user is directly - participating or mentioned. + description: If `true`, only shows notifications in which the user is directly participating or mentioned. in: query required: false schema: @@ -6053,10 +5866,7 @@ components: default: false since: name: since - description: >- - Only show results that were last updated after the given time. This is a - timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: - `YYYY-MM-DDTHH:MM:SSZ`. + description: 'Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.' in: query required: false schema: @@ -6064,10 +5874,7 @@ components: format: date-time before: name: before - description: >- - Only show notifications updated before the given time. This is a - timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: - `YYYY-MM-DDTHH:MM:SSZ`. + description: 'Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.' in: query required: false schema: @@ -6075,11 +5882,7 @@ components: format: date-time thread-id: name: thread_id - description: >- - The unique identifier of the notification thread. This corresponds to - the value returned in the `id` field when you retrieve notifications - (for example with the [`GET /notifications` - operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). + description: The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). in: path required: true schema: @@ -6093,9 +5896,7 @@ components: type: string sort-starred: name: sort - description: >- - The property to sort the results by. `created` means when the repository - was starred. `updated` means when the repository was last pushed to. + description: The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. in: query required: false schema: @@ -6172,8 +5973,7 @@ components: current_user_actor_url: https://github.com/octocat.private.actor?token=abc123 current_user_organization_url: '' current_user_organization_urls: - - >- - https://github.com/organizations/github/octocat.private.atom?token=abc123 + - https://github.com/organizations/github/octocat.private.atom?token=abc123 security_advisories_url: https://github.com/security-advisories _links: timeline: @@ -6195,8 +5995,7 @@ components: href: '' type: '' current_user_organizations: - - href: >- - https://github.com/organizations/github/octocat.private.atom?token=abc123 + - href: https://github.com/organizations/github/octocat.private.atom?token=abc123 type: application/atom+xml security_advisories: href: https://github.com/security-advisories @@ -6273,17 +6072,14 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments @@ -6294,19 +6090,15 @@ components: git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges - milestones_url: >- - https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -6321,8 +6113,7 @@ components: subject: title: Greetings url: https://api.github.com/repos/octokit/octokit.rb/issues/123 - latest_comment_url: >- - https://api.github.com/repos/octokit/octokit.rb/issues/comments/123 + latest_comment_url: https://api.github.com/repos/octokit/octokit.rb/issues/comments/123 type: Issue reason: subscribed unread: true @@ -6332,9 +6123,7 @@ components: subscription_url: https://api.github.com/notifications/threads/1/subscription notifications-mark-read: value: - message: >- - Unread notifications couldn't be marked in a single request. - Notifications are being marked as read in the background. + message: Unread notifications couldn't be marked in a single request. Notifications are being marked as read in the background. thread: value: id: '1' @@ -6367,17 +6156,14 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments @@ -6388,18 +6174,15 @@ components: git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -6633,17 +6416,14 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments @@ -6654,18 +6434,15 @@ components: git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -6761,17 +6538,14 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments @@ -6782,19 +6556,15 @@ components: git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges - milestones_url: >- - https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -6887,17 +6657,14 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments @@ -6908,18 +6675,15 @@ components: git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -7204,51 +6968,38 @@ components: created_at: '2022-06-07T07:50:26Z' headers: link: - example: >- - ; rel="next", - ; rel="last" + example: ; rel="next", ; rel="last" schema: type: string x-stackQL-resources: - public_events: - id: github.activity.public_events - name: public_events - title: Public Events + events: + id: github.activity.events + name: events + title: Events methods: - list_public_events: - operation: - $ref: '#/paths/~1events/get' - response: - mediaType: application/json - openAPIDocKey: '200' - list_public_events_for_repo_network: + list_repo_events: operation: - $ref: '#/paths/~1networks~1{owner}~1{repo}~1events/get' + $ref: '#/paths/~1repos~1{owner}~1{repo}~1events/get' response: mediaType: application/json openAPIDocKey: '200' - list_public_org_events: + list_events_for_authenticated_user: operation: - $ref: '#/paths/~1orgs~1{org}~1events/get' + $ref: '#/paths/~1users~1{username}~1events/get' response: mediaType: application/json openAPIDocKey: '200' - list_public_events_for_user: + list_org_events_for_authenticated_user: operation: - $ref: '#/paths/~1users~1{username}~1events~1public/get' + $ref: '#/paths/~1users~1{username}~1events~1orgs~1{org}/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/public_events/methods/list_public_events_for_repo_network - - $ref: >- - #/components/x-stackQL-resources/public_events/methods/list_public_org_events - - $ref: >- - #/components/x-stackQL-resources/public_events/methods/list_public_events_for_user - - $ref: >- - #/components/x-stackQL-resources/public_events/methods/list_public_events + - $ref: '#/components/x-stackQL-resources/events/methods/list_repo_events' + - $ref: '#/components/x-stackQL-resources/events/methods/list_org_events_for_authenticated_user' + - $ref: '#/components/x-stackQL-resources/events/methods/list_events_for_authenticated_user' insert: [] update: [] delete: [] @@ -7326,18 +7077,14 @@ components: openAPIDocKey: '202' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/notifications/methods/list_repo_notifications_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/notifications/methods/list_repo_notifications_for_authenticated_user' - $ref: '#/components/x-stackQL-resources/notifications/methods/get_thread' - - $ref: >- - #/components/x-stackQL-resources/notifications/methods/list_notifications_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/notifications/methods/list_notifications_for_authenticated_user' insert: [] update: - - $ref: >- - #/components/x-stackQL-resources/notifications/methods/mark_thread_as_read + - $ref: '#/components/x-stackQL-resources/notifications/methods/mark_thread_as_read' delete: - - $ref: >- - #/components/x-stackQL-resources/notifications/methods/mark_thread_as_done + - $ref: '#/components/x-stackQL-resources/notifications/methods/mark_thread_as_done' replace: [] notifications_thread_subscriptions: id: github.activity.notifications_thread_subscriptions @@ -7367,84 +7114,102 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/notifications_thread_subscriptions/methods/get_thread_subscription_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/notifications_thread_subscriptions/methods/get_thread_subscription_for_authenticated_user' insert: [] update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/notifications_thread_subscriptions/methods/delete_thread_subscription + - $ref: '#/components/x-stackQL-resources/notifications_thread_subscriptions/methods/delete_thread_subscription' replace: - - $ref: >- - #/components/x-stackQL-resources/notifications_thread_subscriptions/methods/set_thread_subscription - events: - id: github.activity.events - name: events - title: Events + - $ref: '#/components/x-stackQL-resources/notifications_thread_subscriptions/methods/set_thread_subscription' + public_events: + id: github.activity.public_events + name: public_events + title: Public Events methods: - list_repo_events: + list_public_events: operation: - $ref: '#/paths/~1repos~1{owner}~1{repo}~1events/get' + $ref: '#/paths/~1events/get' response: mediaType: application/json openAPIDocKey: '200' - list_events_for_authenticated_user: + list_public_events_for_repo_network: operation: - $ref: '#/paths/~1users~1{username}~1events/get' + $ref: '#/paths/~1networks~1{owner}~1{repo}~1events/get' response: mediaType: application/json openAPIDocKey: '200' - list_org_events_for_authenticated_user: + list_public_org_events: operation: - $ref: '#/paths/~1users~1{username}~1events~1orgs~1{org}/get' + $ref: '#/paths/~1orgs~1{org}~1events/get' + response: + mediaType: application/json + openAPIDocKey: '200' + list_public_events_for_user: + operation: + $ref: '#/paths/~1users~1{username}~1events~1public/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/events/methods/list_repo_events' - - $ref: >- - #/components/x-stackQL-resources/events/methods/list_org_events_for_authenticated_user - - $ref: >- - #/components/x-stackQL-resources/events/methods/list_events_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/public_events/methods/list_public_events_for_repo_network' + - $ref: '#/components/x-stackQL-resources/public_events/methods/list_public_org_events' + - $ref: '#/components/x-stackQL-resources/public_events/methods/list_public_events_for_user' + - $ref: '#/components/x-stackQL-resources/public_events/methods/list_public_events' insert: [] update: [] delete: [] replace: [] - repo_stargazers: - id: github.activity.repo_stargazers - name: repo_stargazers - title: Repo Stargazers + received_events: + id: github.activity.received_events + name: received_events + title: Received Events methods: - list_stargazers_for_repo: + list_received_events_for_user: operation: - $ref: '#/paths/~1repos~1{owner}~1{repo}~1stargazers/get' + $ref: '#/paths/~1users~1{username}~1received_events/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/repo_stargazers/methods/list_stargazers_for_repo + - $ref: '#/components/x-stackQL-resources/received_events/methods/list_received_events_for_user' insert: [] update: [] delete: [] replace: [] - repo_watchers: - id: github.activity.repo_watchers - name: repo_watchers - title: Repo Watchers + received_public_events: + id: github.activity.received_public_events + name: received_public_events + title: Received Public Events methods: - list_watchers_for_repo: + list_received_public_events_for_user: operation: - $ref: '#/paths/~1repos~1{owner}~1{repo}~1subscribers/get' + $ref: '#/paths/~1users~1{username}~1received_events~1public/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/repo_watchers/methods/list_watchers_for_repo + - $ref: '#/components/x-stackQL-resources/received_public_events/methods/list_received_public_events_for_user' + insert: [] + update: [] + delete: [] + replace: [] + repo_stargazers: + id: github.activity.repo_stargazers + name: repo_stargazers + title: Repo Stargazers + methods: + list_stargazers_for_repo: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1stargazers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/repo_stargazers/methods/list_stargazers_for_repo' insert: [] update: [] delete: [] @@ -7477,16 +7242,51 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/repo_subscriptions/methods/get_repo_subscription + - $ref: '#/components/x-stackQL-resources/repo_subscriptions/methods/get_repo_subscription' insert: [] update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/repo_subscriptions/methods/delete_repo_subscription + - $ref: '#/components/x-stackQL-resources/repo_subscriptions/methods/delete_repo_subscription' replace: - - $ref: >- - #/components/x-stackQL-resources/repo_subscriptions/methods/set_repo_subscription + - $ref: '#/components/x-stackQL-resources/repo_subscriptions/methods/set_repo_subscription' + repo_watchers: + id: github.activity.repo_watchers + name: repo_watchers + title: Repo Watchers + methods: + list_watchers_for_repo: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1subscribers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/repo_watchers/methods/list_watchers_for_repo' + insert: [] + update: [] + delete: [] + replace: [] + star_history: + id: github.activity.star_history + name: star_history + title: Star History + methods: + list: + operation: + $ref: '#/paths/~1graphql?resource=star_history/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.repository.stargazers.edges + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/star_history/methods/list' + insert: [] + update: [] + delete: [] + replace: [] starring: id: github.activity.starring name: starring @@ -7524,10 +7324,8 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/starring/methods/list_repos_starred_by_user - - $ref: >- - #/components/x-stackQL-resources/starring/methods/list_repos_starred_by_authenticated_user + - $ref: '#/components/x-stackQL-resources/starring/methods/list_repos_starred_by_user' + - $ref: '#/components/x-stackQL-resources/starring/methods/list_repos_starred_by_authenticated_user' insert: [] update: [] delete: [] @@ -7551,51 +7349,19 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/watching/methods/list_repos_watched_by_user - - $ref: >- - #/components/x-stackQL-resources/watching/methods/list_watched_repos_for_authenticated_user - insert: [] - update: [] - delete: [] - replace: [] - received_events: - id: github.activity.received_events - name: received_events - title: Received Events - methods: - list_received_events_for_user: - operation: - $ref: '#/paths/~1users~1{username}~1received_events/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/received_events/methods/list_received_events_for_user - insert: [] - update: [] - delete: [] - replace: [] - received_public_events: - id: github.activity.received_public_events - name: received_public_events - title: Received Public Events - methods: - list_received_public_events_for_user: - operation: - $ref: '#/paths/~1users~1{username}~1received_events~1public/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/received_public_events/methods/list_received_public_events_for_user + - $ref: '#/components/x-stackQL-resources/watching/methods/list_repos_watched_by_user' + - $ref: '#/components/x-stackQL-resources/watching/methods/list_watched_repos_for_authenticated_user' insert: [] update: [] delete: [] replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/agent_tasks.yaml b/providers/src/github/v00.00.00000/services/agent_tasks.yaml index 3f43328e..451273af 100644 --- a/providers/src/github/v00.00.00000/services/agent_tasks.yaml +++ b/providers/src/github/v00.00.00000/services/agent_tasks.yaml @@ -7,11 +7,36 @@ paths: /agents/repos/{owner}/{repo}/tasks: get: summary: List tasks for repository - description: | + description: > > [!NOTE] + > This endpoint is in public preview and is subject to change. + Returns a list of tasks for a specific repository + + + **Fine-grained access tokens for "List tasks for repository"** + + + This endpoint works with the following fine-grained token types: + + + * [GitHub App user access + tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + + * [Fine-grained personal access + tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + + The fine-grained token must have the following permission set: + + + * "Agent tasks" repository permissions (read) + + + GitHub App installation access tokens are not supported for this + endpoint. tags: - agent-tasks operationId: agent-tasks/list-tasks-for-repo @@ -96,8 +121,10 @@ paths: - name: creator_id in: query schema: - type: integer - description: Filter tasks by creator user ID + type: array + items: + type: integer + description: Filter tasks by creator user ID. Accepts one or more user IDs. responses: '200': description: Tasks retrieved successfully @@ -275,6 +302,18 @@ paths: type: string format: date-time description: Timestamp when the task was created + custom_agent: + type: object + description: Custom agent metadata associated with this task + properties: + id: + type: string + description: >- + The custom agent's filename without the + extension - for example, `performance-optimizer` + for a + `.github/agents/performance-optimizer.agent.md` + custom agent. description: List of tasks total_active_count: type: integer @@ -563,18 +602,47 @@ paths: description: URL to relevant API documentation x-stackQL-resource: agent_tasks post: - summary: Create a task - description: | + summary: Start a task + description: > > [!NOTE] + > This endpoint is in public preview and is subject to change. - Creates a new task for a repository. + + Starts a new Copilot cloud agent task for a repository. + + + This endpoint is only available to users with a Copilot Business or + Copilot Enterprise subscription. + + + **Fine-grained access tokens for "Start a task"** + + + This endpoint works with the following fine-grained token types: + + + * [GitHub App user access + tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + + * [Fine-grained personal access + tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + + The fine-grained token must have the following permission set: + + + * "Agent tasks" repository permissions (read and write) + + + GitHub App installation access tokens are not supported for this + endpoint. tags: - agent-tasks - operationId: agent-tasks/create-task + operationId: agent-tasks/create-task-in-repo externalDocs: description: API method documentation - url: https://docs.github.com/rest/agent-tasks/agent-tasks#create-a-task + url: https://docs.github.com/rest/agent-tasks/agent-tasks#start-a-task x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -595,6 +663,9 @@ paths: description: The name of the repository. The name is not case sensitive. requestBody: required: true + description: >- + The task creation parameters, including the user's prompt and optional + agent settings. content: application/json: schema: @@ -614,6 +685,14 @@ paths: `claude-sonnet-4.6`, `claude-opus-4.6`, `gpt-5.2-codex`, `gpt-5.3-codex`, `gpt-5.4`, `claude-sonnet-4.5`, `claude-opus-4.5` + custom_agent: + type: string + description: >- + Optional identifier for a custom agent to use for this task. + Use the custom agent's filename without the extension - for + example, for a + `.github/agents/performance-optimizer.agent.md` custom + agent, use `performance-optimizer`. create_pull_request: type: boolean description: Whether to create a PR. @@ -621,11 +700,24 @@ paths: base_ref: type: string description: Base ref for new branch/PR + head_ref: + type: string + description: >- + Head ref for existing branch/PR. If provided with + `base_ref`, the agent looks up open PR context for + `head_ref` targeting `base_ref` and commits to `head_ref` + instead of creating a new branch. examples: default: value: prompt: Fix the login button on the homepage base_ref: main + with-custom-agent: + summary: Task with a custom agent + value: + prompt: Fix the login button on the homepage + base_ref: main + custom_agent: my-custom-agent responses: '201': description: Task created successfully @@ -774,6 +866,17 @@ paths: type: string format: date-time description: Timestamp when the task was created + custom_agent: + type: object + description: Custom agent metadata associated with this task + properties: + id: + type: string + description: >- + The custom agent's filename without the extension - + for example, `performance-optimizer` for a + `.github/agents/performance-optimizer.agent.md` custom + agent. examples: default: value: @@ -796,6 +899,30 @@ paths: archived_at: null created_at: '2025-01-01T00:00:00Z' updated_at: '2025-01-01T00:00:00Z' + with-custom-agent: + summary: Task created with a custom agent + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: >- + https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: >- + https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: queued + session_count: 1 + custom_agent: + id: my-custom-agent + artifacts: [] + archived_at: null + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' '400': description: Problems parsing JSON content: @@ -1000,11 +1127,36 @@ paths: /agents/repos/{owner}/{repo}/tasks/{task_id}: get: summary: Get a task by repo - description: | + description: > > [!NOTE] + > This endpoint is in public preview and is subject to change. + Returns a task by ID scoped to an owner/repo path + + + **Fine-grained access tokens for "Get a task by repo"** + + + This endpoint works with the following fine-grained token types: + + + * [GitHub App user access + tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + + * [Fine-grained personal access + tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + + The fine-grained token must have the following permission set: + + + * "Agent tasks" repository permissions (read) + + + GitHub App installation access tokens are not supported for this + endpoint. tags: - agent-tasks operationId: agent-tasks/get-task-by-repo-and-id @@ -1186,6 +1338,17 @@ paths: type: string format: date-time description: Timestamp when the task was created + custom_agent: + type: object + description: Custom agent metadata associated with this task + properties: + id: + type: string + description: >- + The custom agent's filename without the extension - + for example, `performance-optimizer` for a + `.github/agents/performance-optimizer.agent.md` custom + agent. sessions: type: array items: @@ -1265,6 +1428,39 @@ paths: model: type: string description: Model used for this session + usage: + type: object + description: >- + Structured information about billing units consumed + by the session. + required: + - type + - amount + properties: + type: + type: string + description: >- + Billing unit used for this session. New sessions + since June 1, 2026 use `ai_credits`, but older + sessions use `premium_requests`. + enum: + - ai_credits + - premium_requests + amount: + type: number + format: double + description: >- + Number of billing units used by this session. + When the `type` is `ai_credits`, the value is a + whole number, expressed in nano units. When + presenting this to a human, divide by + 1,000,000,000 and round to one decimal place. + When aggregating (for example, summing usage + across sessions), sum the nano values first, and + divide once at the end before presenting to a + human to avoid losing precision. When the `type` + is `premium_requests`, the value may be + fractional (for example `1.5`). error: type: object description: Error details for a failed session @@ -1571,11 +1767,36 @@ paths: /agents/tasks: get: summary: List tasks - description: | + description: > > [!NOTE] + > This endpoint is in public preview and is subject to change. + Returns a list of tasks for the authenticated user + + + **Fine-grained access tokens for "List tasks"** + + + This endpoint works with the following fine-grained token types: + + + * [GitHub App user access + tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + + * [Fine-grained personal access + tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + + The fine-grained token must have the following permission set: + + + * "Agent tasks" repository permissions (read) + + + GitHub App installation access tokens are not supported for this + endpoint. tags: - agent-tasks operationId: agent-tasks/list-tasks @@ -1819,6 +2040,18 @@ paths: type: string format: date-time description: Timestamp when the task was created + custom_agent: + type: object + description: Custom agent metadata associated with this task + properties: + id: + type: string + description: >- + The custom agent's filename without the + extension - for example, `performance-optimizer` + for a + `.github/agents/performance-optimizer.agent.md` + custom agent. description: List of tasks total_active_count: type: integer @@ -2055,11 +2288,36 @@ paths: /agents/tasks/{task_id}: get: summary: Get a task by ID - description: | + description: > > [!NOTE] + > This endpoint is in public preview and is subject to change. + Returns a task by ID with its associated sessions + + + **Fine-grained access tokens for "Get a task by ID"** + + + This endpoint works with the following fine-grained token types: + + + * [GitHub App user access + tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + + * [Fine-grained personal access + tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + + The fine-grained token must have the following permission set: + + + * "Agent tasks" repository permissions (read) + + + GitHub App installation access tokens are not supported for this + endpoint. tags: - agent-tasks operationId: agent-tasks/get-task-by-id @@ -2228,6 +2486,17 @@ paths: type: string format: date-time description: Timestamp when the task was created + custom_agent: + type: object + description: Custom agent metadata associated with this task + properties: + id: + type: string + description: >- + The custom agent's filename without the extension - + for example, `performance-optimizer` for a + `.github/agents/performance-optimizer.agent.md` custom + agent. sessions: type: array items: @@ -2307,6 +2576,39 @@ paths: model: type: string description: Model used for this session + usage: + type: object + description: >- + Structured information about billing units consumed + by the session. + required: + - type + - amount + properties: + type: + type: string + description: >- + Billing unit used for this session. New sessions + since June 1, 2026 use `ai_credits`, but older + sessions use `premium_requests`. + enum: + - ai_credits + - premium_requests + amount: + type: number + format: double + description: >- + Number of billing units used by this session. + When the `type` is `ai_credits`, the value is a + whole number, expressed in nano units. When + presenting this to a human, divide by + 1,000,000,000 and round to one decimal place. + When aggregating (for example, summing usage + across sessions), sum the nano values first, and + divide once at the end before presenting to a + human to avoid losing precision. When the `type` + is `premium_requests`, the value may be + fractional (for example `1.5`). error: type: object description: Error details for a failed session @@ -2624,7 +2926,7 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.tasks - create_task: + create_task_in_repo: config: requestBodyTranslate: algorithm: naive @@ -2647,7 +2949,8 @@ components: - $ref: >- #/components/x-stackQL-resources/repo_tasks/methods/list_tasks_for_repo insert: - - $ref: '#/components/x-stackQL-resources/repo_tasks/methods/create_task' + - $ref: >- + #/components/x-stackQL-resources/repo_tasks/methods/create_task_in_repo update: [] delete: [] replace: [] @@ -2680,3 +2983,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/agents.yaml b/providers/src/github/v00.00.00000/services/agents.yaml new file mode 100644 index 00000000..3ca836b2 --- /dev/null +++ b/providers/src/github/v00.00.00000/services/agents.yaml @@ -0,0 +1,3065 @@ +openapi: 3.0.3 +info: + title: agents API + description: Endpoints for Agents secrets and variables. + version: 1.1.4 +paths: + /orgs/{org}/agents/secrets: + get: + summary: List organization secrets + description: >- + Lists all secrets available in an organization without revealing their + + encrypted values. + + + Authenticated users must have collaborator access to a repository to + create, update, or read secrets. + + + OAuth app tokens and personal access tokens (classic) need the + `admin:org` scope to use this endpoint. If the repository is private, + the `repo` scope is also required. + tags: + - agents + operationId: agents/list-org-secrets + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agents/secrets#list-organization-secrets + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/per-page' + - $ref: '#/components/parameters/page' + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - total_count + - secrets + properties: + total_count: + type: integer + secrets: + type: array + items: + $ref: '#/components/schemas/organization-actions-secret' + examples: + default: + $ref: '#/components/examples/organization-actions-secret-paginated' + headers: + Link: + $ref: '#/components/headers/link' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + /orgs/{org}/agents/secrets/public-key: + get: + summary: Get an organization public key + description: >- + Gets your public key, which you need to encrypt secrets. You need to + + encrypt a secret before you can create or update secrets. + + + Authenticated users must have collaborator access to a repository to + create, update, or read secrets. + + + OAuth app tokens and personal access tokens (classic) need the + `admin:org` scope to use this endpoint. If the repository is private, + the `repo` scope is also required. + tags: + - agents + operationId: agents/get-org-public-key + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/secrets#get-an-organization-public-key + parameters: + - $ref: '#/components/parameters/org' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/actions-public-key' + examples: + default: + $ref: '#/components/examples/actions-public-key' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + /orgs/{org}/agents/secrets/{secret_name}: + get: + summary: Get an organization secret + description: >- + Gets a single organization secret without revealing its encrypted value. + + + The authenticated user must have collaborator access to a repository to + create, update, or read secrets. + + + OAuth tokens and personal access tokens (classic) need the `admin:org` + scope to use this endpoint. If the repository is private, OAuth tokens + and personal access tokens (classic) need the `repo` scope to use this + endpoint. + tags: + - agents + operationId: agents/get-org-secret + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agents/secrets#get-an-organization-secret + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/secret-name' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/organization-actions-secret' + examples: + default: + $ref: '#/components/examples/organization-actions-secret' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + put: + summary: Create or update an organization secret + description: >- + Creates or updates an organization secret with an encrypted value. + Encrypt your secret using + + [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). + For more information, see "[Encrypting secrets for the REST + API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + + + Authenticated users must have collaborator access to a repository to + create, update, or read secrets. + + + OAuth tokens and personal access tokens (classic) need the `admin:org` + scope to use this endpoint. If the repository is private, OAuth tokens + and personal access tokens (classic) need the `repo` scope to use this + endpoint. + tags: + - agents + operationId: agents/create-or-update-org-secret + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/secrets#create-or-update-an-organization-secret + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/secret-name' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + encrypted_value: + type: string + description: >- + Value for your secret, encrypted with + [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) + using the public key retrieved from the [Get an organization + public + key](https://docs.github.com/rest/agents/secrets#get-an-organization-public-key) + endpoint. + pattern: >- + ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ + key_id: + type: string + description: ID of the key you used to encrypt the secret. + visibility: + type: string + description: >- + Which type of organization repositories have access to the + organization secret. `selected` means only the repositories + specified by `selected_repository_ids` can access the + secret. + enum: + - all + - private + - selected + selected_repository_ids: + type: array + description: >- + An array of repository ids that can access the organization + secret. You can only provide a list of repository ids when + the `visibility` is set to `selected`. You can manage the + list of selected repositories using the [List selected + repositories for an organization + secret](https://docs.github.com/rest/agents/secrets#list-selected-repositories-for-an-organization-secret), + [Set selected repositories for an organization + secret](https://docs.github.com/rest/agents/secrets#set-selected-repositories-for-an-organization-secret), + and [Remove selected repository from an organization + secret](https://docs.github.com/rest/agents/secrets#remove-selected-repository-from-an-organization-secret) + endpoints. + items: + type: integer + required: + - encrypted_value + - key_id + - visibility + examples: + default: + value: + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + visibility: selected + selected_repository_ids: + - 1296269 + - 1296280 + responses: + '201': + description: Response when creating a secret + content: + application/json: + schema: + $ref: '#/components/schemas/empty-object' + examples: + default: + value: null + '204': + description: Response when updating a secret + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + delete: + summary: Delete an organization secret + description: >- + Deletes a secret in an organization using the secret name. + + + Authenticated users must have collaborator access to a repository to + create, update, or read secrets. + + + OAuth tokens and personal access tokens (classic) need the `admin:org` + scope to use this endpoint. If the repository is private, OAuth tokens + and personal access tokens (classic) need the `repo` scope to use this + endpoint. + tags: + - agents + operationId: agents/delete-org-secret + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/secrets#delete-an-organization-secret + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/secret-name' + responses: + '204': + description: Response + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + /orgs/{org}/agents/secrets/{secret_name}/repositories: + get: + summary: List selected repositories for an organization secret + description: >- + Lists all repositories that have been selected when the `visibility` + + for repository access to a secret is set to `selected`. + + + Authenticated users must have collaborator access to a repository to + create, update, or read secrets. + + + OAuth app tokens and personal access tokens (classic) need the + `admin:org` scope to use this endpoint. If the repository is private, + the `repo` scope is also required. + tags: + - agents + operationId: agents/list-selected-repos-for-org-secret + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/secrets#list-selected-repositories-for-an-organization-secret + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/secret-name' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/per-page' + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - total_count + - repositories + properties: + total_count: + type: integer + repositories: + type: array + items: + $ref: '#/components/schemas/minimal-repository' + examples: + default: + $ref: '#/components/examples/public-repository-paginated' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + put: + summary: Set selected repositories for an organization secret + description: >- + Replaces all repositories for an organization secret when the + `visibility` + + for repository access is set to `selected`. The visibility is set when + you [Create + + or update an organization + secret](https://docs.github.com/rest/agents/secrets#create-or-update-an-organization-secret). + + + Authenticated users must have collaborator access to a repository to + create, update, or read secrets. + + + OAuth app tokens and personal access tokens (classic) need the + `admin:org` scope to use this endpoint. If the repository is private, + the `repo` scope is also required. + tags: + - agents + operationId: agents/set-selected-repos-for-org-secret + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/secrets#set-selected-repositories-for-an-organization-secret + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/secret-name' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + selected_repository_ids: + type: array + description: >- + An array of repository ids that can access the organization + secret. You can only provide a list of repository ids when + the `visibility` is set to `selected`. You can add and + remove individual repositories using the [Add selected + repository to an organization + secret](https://docs.github.com/rest/agents/secrets#add-selected-repository-to-an-organization-secret) + and [Remove selected repository from an organization + secret](https://docs.github.com/rest/agents/secrets#remove-selected-repository-from-an-organization-secret) + endpoints. + items: + type: integer + required: + - selected_repository_ids + examples: + default: + value: + selected_repository_ids: + - 64780797 + responses: + '204': + description: Response + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + /orgs/{org}/agents/secrets/{secret_name}/repositories/{repository_id}: + put: + summary: Add selected repository to an organization secret + description: >- + Adds a repository to an organization secret when the `visibility` for + + repository access is set to `selected`. For more information about + setting the visibility, see [Create or + + update an organization + secret](https://docs.github.com/rest/agents/secrets#create-or-update-an-organization-secret). + + + Authenticated users must have collaborator access to a repository to + create, update, or read secrets. + + + OAuth tokens and personal access tokens (classic) need the `admin:org` + scope to use this endpoint. If the repository is private, OAuth tokens + and personal access tokens (classic) need the `repo` scope to use this + endpoint. + tags: + - agents + operationId: agents/add-selected-repo-to-org-secret + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/secrets#add-selected-repository-to-an-organization-secret + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/secret-name' + - name: repository_id + in: path + required: true + schema: + type: integer + responses: + '204': + description: No Content when repository was added to the selected list + '409': + description: Conflict when visibility type is not set to selected + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + delete: + summary: Remove selected repository from an organization secret + description: >- + Removes a repository from an organization secret when the `visibility` + + for repository access is set to `selected`. The visibility is set when + you [Create + + or update an organization + secret](https://docs.github.com/rest/agents/secrets#create-or-update-an-organization-secret). + + + Authenticated users must have collaborator access to a repository to + create, update, or read secrets. + + + OAuth app tokens and personal access tokens (classic) need the + `admin:org` scope to use this endpoint. If the repository is private, + the `repo` scope is also required. + tags: + - agents + operationId: agents/remove-selected-repo-from-org-secret + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/secrets#remove-selected-repository-from-an-organization-secret + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/secret-name' + - name: repository_id + in: path + required: true + schema: + type: integer + responses: + '204': + description: Response when repository was removed from the selected list + '409': + description: Conflict when visibility type not set to selected + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + /orgs/{org}/agents/variables: + get: + summary: List organization variables + description: >- + Lists all agent variables available in an organization. + + Returned variables include their values. + + + Authenticated users must have collaborator access to a repository to + create, update, or read variables. + + + OAuth app tokens and personal access tokens (classic) need the + `admin:org` scope to use this endpoint. If the repository is private, + the `repo` scope is also required. + tags: + - agents + operationId: agents/list-org-variables + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#list-organization-variables + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/variables-per-page' + - $ref: '#/components/parameters/page' + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - total_count + - variables + properties: + total_count: + type: integer + variables: + type: array + items: + $ref: '#/components/schemas/organization-actions-variable' + examples: + default: + $ref: >- + #/components/examples/organization-actions-variables-paginated + headers: + Link: + $ref: '#/components/headers/link' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + post: + summary: Create an organization variable + description: >- + Creates an organization agent variable that you can reference in a + GitHub Actions workflow. + + + Authenticated users must have collaborator access to a repository to + create, update, or read variables. + + + OAuth tokens and personal access tokens (classic) need the `admin:org` + scope to use this endpoint. If the repository is private, OAuth tokens + and personal access tokens (classic) need the `repo` scope to use this + endpoint. + tags: + - agents + operationId: agents/create-org-variable + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#create-an-organization-variable + parameters: + - $ref: '#/components/parameters/org' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the variable. + value: + type: string + description: The value of the variable. + visibility: + type: string + description: >- + The type of repositories in the organization that can access + the variable. `selected` means only the repositories + specified by `selected_repository_ids` can access the + variable. + enum: + - all + - private + - selected + selected_repository_ids: + type: array + description: >- + An array of repository ids that can access the organization + variable. You can only provide a list of repository ids when + the `visibility` is set to `selected`. + items: + type: integer + required: + - name + - value + - visibility + examples: + default: + value: + name: USERNAME + value: octocat + visibility: selected + selected_repository_ids: + - 1296269 + - 1296280 + responses: + '201': + description: Response when creating a variable + content: + application/json: + schema: + $ref: '#/components/schemas/empty-object' + examples: + default: + value: null + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + /orgs/{org}/agents/variables/{name}: + get: + summary: Get an organization variable + description: >- + Gets a specific agent variable in an organization. + + + The authenticated user must have collaborator access to a repository to + create, update, or read variables. + + + OAuth tokens and personal access tokens (classic) need the `admin:org` + scope to use this endpoint. If the repository is private, OAuth tokens + and personal access tokens (classic) need the `repo` scope to use this + endpoint. + tags: + - agents + operationId: agents/get-org-variable + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#get-an-organization-variable + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/variable-name' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/organization-actions-variable' + examples: + default: + $ref: '#/components/examples/organization-actions-variable' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + patch: + summary: Update an organization variable + description: >- + Updates an organization agent variable that you can reference in a + GitHub Actions workflow. + + + Authenticated users must have collaborator access to a repository to + create, update, or read variables. + + + OAuth app tokens and personal access tokens (classic) need the + `admin:org` scope to use this endpoint. If the repository is private, + the `repo` scope is also required. + tags: + - agents + operationId: agents/update-org-variable + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#update-an-organization-variable + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/variable-name' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the variable. + value: + type: string + description: The value of the variable. + visibility: + type: string + description: >- + The type of repositories in the organization that can access + the variable. `selected` means only the repositories + specified by `selected_repository_ids` can access the + variable. + enum: + - all + - private + - selected + selected_repository_ids: + type: array + description: >- + An array of repository ids that can access the organization + variable. You can only provide a list of repository ids when + the `visibility` is set to `selected`. + items: + type: integer + examples: + default: + value: + name: USERNAME + value: octocat + visibility: selected + selected_repository_ids: + - 1296269 + - 1296280 + responses: + '204': + description: Response + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + delete: + summary: Delete an organization variable + description: >- + Deletes an organization agent variable using the variable name. + + + Authenticated users must have collaborator access to a repository to + create, update, or read variables. + + + OAuth tokens and personal access tokens (classic) need the `admin:org` + scope to use this endpoint. If the repository is private, OAuth tokens + and personal access tokens (classic) need the `repo` scope to use this + endpoint. + tags: + - agents + operationId: agents/delete-org-variable + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#delete-an-organization-variable + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/variable-name' + responses: + '204': + description: Response + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + /orgs/{org}/agents/variables/{name}/repositories: + get: + summary: List selected repositories for an organization variable + description: >- + Lists all repositories that can access an organization agent variable + + that is available to selected repositories. + + + Authenticated users must have collaborator access to a repository to + create, update, or read variables. + + + OAuth app tokens and personal access tokens (classic) need the + `admin:org` scope to use this endpoint. If the repository is private, + the `repo` scope is also required. + tags: + - agents + operationId: agents/list-selected-repos-for-org-variable + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#list-selected-repositories-for-an-organization-variable + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/variable-name' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/per-page' + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - total_count + - repositories + properties: + total_count: + type: integer + repositories: + type: array + items: + $ref: '#/components/schemas/minimal-repository' + examples: + default: + $ref: '#/components/examples/public-repository-paginated' + '409': + description: >- + Response when the visibility of the variable is not set to + `selected` + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + put: + summary: Set selected repositories for an organization variable + description: >- + Replaces all repositories for an organization agent variable that is + available + + to selected repositories. Organization variables that are available to + selected + + repositories have their `visibility` field set to `selected`. + + + Authenticated users must have collaborator access to a repository to + create, update, or read variables. + + + OAuth app tokens and personal access tokens (classic) need the + `admin:org` scope to use this endpoint. If the repository is private, + the `repo` scope is also required. + tags: + - agents + operationId: agents/set-selected-repos-for-org-variable + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#set-selected-repositories-for-an-organization-variable + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/variable-name' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + selected_repository_ids: + type: array + description: >- + The IDs of the repositories that can access the organization + variable. + items: + type: integer + required: + - selected_repository_ids + examples: + default: + value: + selected_repository_ids: + - 64780797 + responses: + '204': + description: Response + '409': + description: >- + Response when the visibility of the variable is not set to + `selected` + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + /orgs/{org}/agents/variables/{name}/repositories/{repository_id}: + put: + summary: Add selected repository to an organization variable + description: >- + Adds a repository to an organization agent variable that is available to + selected repositories. + + Organization variables that are available to selected repositories have + their `visibility` field set to `selected`. + + + Authenticated users must have collaborator access to a repository to + create, update, or read variables. + + + OAuth tokens and personal access tokens (classic) need the `admin:org` + scope to use this endpoint. If the repository is private, OAuth tokens + and personal access tokens (classic) need the `repo` scope to use this + endpoint. + tags: + - agents + operationId: agents/add-selected-repo-to-org-variable + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#add-selected-repository-to-an-organization-variable + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/variable-name' + - name: repository_id + in: path + required: true + schema: + type: integer + responses: + '204': + description: Response + '409': + description: >- + Response when the visibility of the variable is not set to + `selected` + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + delete: + summary: Remove selected repository from an organization variable + description: >- + Removes a repository from an organization agent variable that is + + available to selected repositories. Organization variables that are + available to + + selected repositories have their `visibility` field set to `selected`. + + + Authenticated users must have collaborator access to a repository to + create, update, or read variables. + + + OAuth app tokens and personal access tokens (classic) need the + `admin:org` scope to use this endpoint. If the repository is private, + the `repo` scope is also required. + tags: + - agents + operationId: agents/remove-selected-repo-from-org-variable + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#remove-selected-repository-from-an-organization-variable + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/variable-name' + - name: repository_id + in: path + required: true + schema: + type: integer + responses: + '204': + description: Response + '409': + description: >- + Response when the visibility of the variable is not set to + `selected` + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + /repos/{owner}/{repo}/agents/organization-secrets: + get: + summary: List repository organization secrets + description: >- + Lists all organization secrets shared with a repository without + revealing their encrypted + + values. + + + Authenticated users must have collaborator access to a repository to + create, update, or read secrets. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint. + tags: + - agents + operationId: agents/list-repo-organization-secrets + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/secrets#list-repository-organization-secrets + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/per-page' + - $ref: '#/components/parameters/page' + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - total_count + - secrets + properties: + total_count: + type: integer + secrets: + type: array + items: + $ref: '#/components/schemas/actions-secret' + examples: + default: + $ref: '#/components/examples/actions-secret-paginated' + headers: + Link: + $ref: '#/components/headers/link' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + /repos/{owner}/{repo}/agents/organization-variables: + get: + summary: List repository organization variables + description: >- + Lists all organization variables shared with a repository. + + + Authenticated users must have collaborator access to a repository to + create, update, or read variables. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint. + tags: + - agents + operationId: agents/list-repo-organization-variables + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#list-repository-organization-variables + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/variables-per-page' + - $ref: '#/components/parameters/page' + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - total_count + - variables + properties: + total_count: + type: integer + variables: + type: array + items: + $ref: '#/components/schemas/actions-variable' + examples: + default: + $ref: '#/components/examples/actions-variables-paginated' + headers: + Link: + $ref: '#/components/headers/link' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + /repos/{owner}/{repo}/agents/secrets: + get: + summary: List repository secrets + description: >- + Lists all secrets available in a repository without revealing their + encrypted + + values. + + + Authenticated users must have collaborator access to a repository to + create, update, or read secrets. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint. + tags: + - agents + operationId: agents/list-repo-secrets + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agents/secrets#list-repository-secrets + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/per-page' + - $ref: '#/components/parameters/page' + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - total_count + - secrets + properties: + total_count: + type: integer + secrets: + type: array + items: + $ref: '#/components/schemas/actions-secret' + examples: + default: + $ref: '#/components/examples/actions-secret-paginated' + headers: + Link: + $ref: '#/components/headers/link' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + /repos/{owner}/{repo}/agents/secrets/public-key: + get: + summary: Get a repository public key + description: >- + Gets your public key, which you need to encrypt secrets. You need to + + encrypt a secret before you can create or update secrets. + + + Anyone with read access to the repository can use this endpoint. + + + If the repository is private, OAuth tokens and personal access tokens + (classic) need the `repo` scope to use this endpoint. + tags: + - agents + operationId: agents/get-repo-public-key + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/secrets#get-a-repository-public-key + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/actions-public-key' + examples: + default: + $ref: '#/components/examples/actions-public-key' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + /repos/{owner}/{repo}/agents/secrets/{secret_name}: + get: + summary: Get a repository secret + description: >- + Gets a single repository secret without revealing its encrypted value. + + + The authenticated user must have collaborator access to the repository + to use this endpoint. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint. + tags: + - agents + operationId: agents/get-repo-secret + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agents/secrets#get-a-repository-secret + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/secret-name' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/actions-secret' + examples: + default: + $ref: '#/components/examples/actions-secret' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + put: + summary: Create or update a repository secret + description: >- + Creates or updates a repository secret with an encrypted value. Encrypt + your secret using + + [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). + For more information, see "[Encrypting secrets for the REST + API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + + + Authenticated users must have collaborator access to a repository to + create, update, or read secrets. + + + OAuth tokens and personal access tokens (classic) need the `repo` scope + to use this endpoint. + tags: + - agents + operationId: agents/create-or-update-repo-secret + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/secrets#create-or-update-a-repository-secret + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/secret-name' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + encrypted_value: + type: string + description: >- + Value for your secret, encrypted with + [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) + using the public key retrieved from the [Get a repository + public + key](https://docs.github.com/rest/agents/secrets#get-a-repository-public-key) + endpoint. + pattern: >- + ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ + key_id: + type: string + description: ID of the key you used to encrypt the secret. + required: + - encrypted_value + - key_id + examples: + default: + value: + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + responses: + '201': + description: Response when creating a secret + content: + application/json: + schema: + $ref: '#/components/schemas/empty-object' + examples: + default: + value: null + '204': + description: Response when updating a secret + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + delete: + summary: Delete a repository secret + description: >- + Deletes a secret in a repository using the secret name. + + + Authenticated users must have collaborator access to a repository to + create, update, or read secrets. + + + OAuth tokens and personal access tokens (classic) need the `repo` scope + to use this endpoint. + tags: + - agents + operationId: agents/delete-repo-secret + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agents/secrets#delete-a-repository-secret + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/secret-name' + responses: + '204': + description: Response + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: secrets + x-stackQL-resource: secrets + /repos/{owner}/{repo}/agents/variables: + get: + summary: List repository variables + description: >- + Lists all repository variables. + + + Authenticated users must have collaborator access to a repository to + create, update, or read variables. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint. + tags: + - agents + operationId: agents/list-repo-variables + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#list-repository-variables + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/variables-per-page' + - $ref: '#/components/parameters/page' + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - total_count + - variables + properties: + total_count: + type: integer + variables: + type: array + items: + $ref: '#/components/schemas/actions-variable' + examples: + default: + $ref: '#/components/examples/actions-variables-paginated' + headers: + Link: + $ref: '#/components/headers/link' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + post: + summary: Create a repository variable + description: >- + Creates a repository variable that you can reference in a GitHub Actions + workflow. + + + Authenticated users must have collaborator access to a repository to + create, update, or read variables. + + + OAuth tokens and personal access tokens (classic) need the `repo` scope + to use this endpoint. + tags: + - agents + operationId: agents/create-repo-variable + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#create-a-repository-variable + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the variable. + value: + type: string + description: The value of the variable. + required: + - name + - value + examples: + default: + value: + name: USERNAME + value: octocat + responses: + '201': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/empty-object' + examples: + default: + value: null + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + /repos/{owner}/{repo}/agents/variables/{name}: + get: + summary: Get a repository variable + description: >- + Gets a specific variable in a repository. + + + The authenticated user must have collaborator access to the repository + to use this endpoint. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint. + tags: + - agents + operationId: agents/get-repo-variable + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#get-a-repository-variable + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/variable-name' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/actions-variable' + examples: + default: + $ref: '#/components/examples/actions-variable' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + patch: + summary: Update a repository variable + description: >- + Updates a repository variable that you can reference in a GitHub Actions + workflow. + + + Authenticated users must have collaborator access to a repository to + create, update, or read variables. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint. + tags: + - agents + operationId: agents/update-repo-variable + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#update-a-repository-variable + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/variable-name' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the variable. + value: + type: string + description: The value of the variable. + examples: + default: + value: + name: USERNAME + value: octocat + responses: + '204': + description: Response + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables + delete: + summary: Delete a repository variable + description: >- + Deletes a repository variable using the variable name. + + + Authenticated users must have collaborator access to a repository to + create, update, or read variables. + + + OAuth tokens and personal access tokens (classic) need the `repo` scope + to use this endpoint. + tags: + - agents + operationId: agents/delete-repo-variable + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/agents/variables#delete-a-repository-variable + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/variable-name' + responses: + '204': + description: Response + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agents + subcategory: variables + x-stackQL-resource: variables +components: + schemas: + organization-actions-secret: + title: Actions Secret for an Organization + description: Secrets for GitHub Actions for an organization. + type: object + properties: + name: + description: The name of the secret. + example: SECRET_TOKEN + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + visibility: + description: Visibility of a secret + enum: + - all + - private + - selected + type: string + selected_repositories_url: + type: string + format: uri + example: >- + https://api.github.com/organizations/org/secrets/my_secret/repositories + required: + - name + - created_at + - updated_at + - visibility + actions-public-key: + title: ActionsPublicKey + description: The public key used for setting Actions Secrets. + type: object + properties: + key_id: + description: The identifier for the key. + type: string + example: '1234567' + key: + description: The Base64 encoded public key. + type: string + example: hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + id: + type: integer + example: 2 + url: + type: string + example: https://api.github.com/user/keys/2 + title: + type: string + example: ssh-rsa AAAAB3NzaC1yc2EAAA + created_at: + type: string + example: '2011-01-26T19:01:12Z' + required: + - key_id + - key + empty-object: + title: Empty Object + description: An object without any properties. + type: object + properties: {} + additionalProperties: false + minimal-repository: + title: Minimal Repository + description: Minimal Repository + type: object + properties: + id: + type: integer + format: int64 + example: 1296269 + node_id: + type: string + example: MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + name: + type: string + example: Hello-World + full_name: + type: string + example: octocat/Hello-World + owner: + $ref: '#/components/schemas/simple-user' + private: + type: boolean + html_url: + type: string + format: uri + example: https://github.com/octocat/Hello-World + description: + type: string + example: This your first repo! + nullable: true + fork: + type: boolean + url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World + archive_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + assignees_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/assignees{/user} + blobs_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} + branches_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/branches{/branch} + collaborators_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + comments_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/comments{/number} + commits_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/commits{/sha} + compare_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + contents_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/contents/{+path} + contributors_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/contributors + deployments_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/deployments + downloads_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/downloads + events_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/events + forks_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/forks + git_commits_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + git_refs_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} + git_tags_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} + git_url: + type: string + issue_comment_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issues_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/issues{/number} + keys_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/keys{/key_id} + labels_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/labels{/name} + languages_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/languages + merges_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/merges + milestones_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + pulls_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/pulls{/number} + releases_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/releases{/id} + ssh_url: + type: string + stargazers_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/stargazers + statuses_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/statuses/{sha} + subscribers_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/subscribers + subscription_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/subscription + tags_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/tags + teams_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/teams + trees_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} + clone_url: + type: string + mirror_url: + type: string + nullable: true + hooks_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/hooks + svn_url: + type: string + homepage: + type: string + nullable: true + language: + type: string + nullable: true + forks_count: + type: integer + stargazers_count: + type: integer + watchers_count: + type: integer + size: + description: >- + The size of the repository, in kilobytes. Size is calculated hourly. + When a repository is initially created, the size is 0. + type: integer + default_branch: + type: string + open_issues_count: + type: integer + is_template: + type: boolean + topics: + type: array + items: + type: string + has_issues: + type: boolean + has_projects: + type: boolean + has_wiki: + type: boolean + has_pages: + type: boolean + has_downloads: + type: boolean + has_discussions: + type: boolean + has_pull_requests: + type: boolean + pull_request_creation_policy: + description: >- + The policy controlling who can create pull requests: all or + collaborators_only. + type: string + enum: + - all + - collaborators_only + archived: + type: boolean + disabled: + type: boolean + visibility: + type: string + pushed_at: + type: string + format: date-time + example: '2011-01-26T19:06:43Z' + nullable: true + created_at: + type: string + format: date-time + example: '2011-01-26T19:01:12Z' + nullable: true + updated_at: + type: string + format: date-time + example: '2011-01-26T19:14:43Z' + nullable: true + permissions: + type: object + properties: + admin: + type: boolean + maintain: + type: boolean + push: + type: boolean + triage: + type: boolean + pull: + type: boolean + role_name: + type: string + example: admin + temp_clone_token: + type: string + delete_branch_on_merge: + type: boolean + subscribers_count: + type: integer + network_count: + type: integer + code_of_conduct: + $ref: '#/components/schemas/code-of-conduct' + license: + type: object + properties: + key: + type: string + name: + type: string + spdx_id: + type: string + url: + type: string + nullable: true + node_id: + type: string + nullable: true + forks: + type: integer + example: 0 + open_issues: + type: integer + example: 0 + watchers: + type: integer + example: 0 + allow_forking: + type: boolean + web_commit_signoff_required: + type: boolean + example: false + security_and_analysis: + $ref: '#/components/schemas/security-and-analysis' + custom_properties: + type: object + description: >- + The custom properties that were defined for the repository. The keys + are the custom property names, and the values are the corresponding + custom property values. + additionalProperties: true + required: + - archive_url + - assignees_url + - blobs_url + - branches_url + - collaborators_url + - comments_url + - commits_url + - compare_url + - contents_url + - contributors_url + - deployments_url + - description + - downloads_url + - events_url + - fork + - forks_url + - full_name + - git_commits_url + - git_refs_url + - git_tags_url + - hooks_url + - html_url + - id + - node_id + - issue_comment_url + - issue_events_url + - issues_url + - keys_url + - labels_url + - languages_url + - merges_url + - milestones_url + - name + - notifications_url + - owner + - private + - pulls_url + - releases_url + - stargazers_url + - statuses_url + - subscribers_url + - subscription_url + - tags_url + - teams_url + - trees_url + - url + x-github-breaking-changes: + - changeset: remove_has_downloads + patch: + properties: + has_downloads: null + type: object + version: '2026-03-10' + organization-actions-variable: + title: Actions Variable for an Organization + description: Organization variable for GitHub Actions. + type: object + properties: + name: + description: The name of the variable. + example: USERNAME + type: string + value: + description: The value of the variable. + example: octocat + type: string + created_at: + description: >- + The date and time at which the variable was created, in ISO 8601 + format':' YYYY-MM-DDTHH:MM:SSZ. + example: '2019-01-24T22:45:36.000Z' + type: string + format: date-time + updated_at: + description: >- + The date and time at which the variable was last updated, in ISO + 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + example: '2019-01-24T22:45:36.000Z' + type: string + format: date-time + visibility: + description: Visibility of a variable + enum: + - all + - private + - selected + type: string + selected_repositories_url: + type: string + format: uri + example: >- + https://api.github.com/organizations/org/variables/USERNAME/repositories + required: + - name + - value + - created_at + - updated_at + - visibility + actions-secret: + title: Actions Secret + description: Set secrets for GitHub Actions. + type: object + properties: + name: + description: The name of the secret. + example: SECRET_TOKEN + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + required: + - name + - created_at + - updated_at + actions-variable: + title: Actions Variable + type: object + properties: + name: + description: The name of the variable. + example: USERNAME + type: string + value: + description: The value of the variable. + example: octocat + type: string + created_at: + description: >- + The date and time at which the variable was created, in ISO 8601 + format':' YYYY-MM-DDTHH:MM:SSZ. + type: string + format: date-time + example: '2019-01-24T22:45:36.000Z' + updated_at: + description: >- + The date and time at which the variable was last updated, in ISO + 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + type: string + format: date-time + example: '2019-01-24T22:45:36.000Z' + required: + - name + - value + - created_at + - updated_at + simple-user: + title: Simple User + description: A GitHub user. + type: object + properties: + name: + nullable: true + type: string + email: + nullable: true + type: string + login: + type: string + example: octocat + id: + type: integer + format: int64 + example: 1 + node_id: + type: string + example: MDQ6VXNlcjE= + avatar_url: + type: string + format: uri + example: https://github.com/images/error/octocat_happy.gif + gravatar_id: + type: string + example: 41d064eb2195891e12d0413f63227ea7 + nullable: true + url: + type: string + format: uri + example: https://api.github.com/users/octocat + html_url: + type: string + format: uri + example: https://github.com/octocat + followers_url: + type: string + format: uri + example: https://api.github.com/users/octocat/followers + following_url: + type: string + example: https://api.github.com/users/octocat/following{/other_user} + gists_url: + type: string + example: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: + type: string + example: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: + type: string + format: uri + example: https://api.github.com/users/octocat/subscriptions + organizations_url: + type: string + format: uri + example: https://api.github.com/users/octocat/orgs + repos_url: + type: string + format: uri + example: https://api.github.com/users/octocat/repos + events_url: + type: string + example: https://api.github.com/users/octocat/events{/privacy} + received_events_url: + type: string + format: uri + example: https://api.github.com/users/octocat/received_events + type: + type: string + example: User + site_admin: + type: boolean + starred_at: + type: string + example: '"2020-07-09T00:17:55Z"' + user_view_type: + type: string + example: public + required: + - avatar_url + - events_url + - followers_url + - following_url + - gists_url + - gravatar_id + - html_url + - id + - node_id + - login + - organizations_url + - received_events_url + - repos_url + - site_admin + - starred_url + - subscriptions_url + - type + - url + code-of-conduct: + title: Code Of Conduct + description: Code Of Conduct + type: object + properties: + key: + type: string + example: contributor_covenant + name: + type: string + example: Contributor Covenant + url: + type: string + format: uri + example: https://api.github.com/codes_of_conduct/contributor_covenant + body: + type: string + example: > + # Contributor Covenant Code of Conduct + + + ## Our Pledge + + + In the interest of fostering an open and welcoming environment, we + as contributors and maintainers pledge to making participation in + our project and our community a harassment-free experience for + everyone, regardless of age, body size, disability, ethnicity, + gender identity and expression, level of experience, nationality, + personal appearance, race, religion, or sexual identity and + orientation. + + + ## Our Standards + + + Examples of behavior that contributes to creating a positive + environment include: + + + * Using welcoming and inclusive language + + * Being respectful of differing viewpoints and experiences + + * Gracefully accepting constructive criticism + + * Focusing on what is best for the community + + * Showing empathy towards other community members + + + Examples of unacceptable behavior by participants include: + + + * The use of sexualized language or imagery and unwelcome sexual + attention or advances + + * Trolling, insulting/derogatory comments, and personal or political + attacks + + * Public or private harassment + + * Publishing others' private information, such as a physical or + electronic address, without explicit permission + + * Other conduct which could reasonably be considered inappropriate + in a professional setting + + + ## Our Responsibilities + + + Project maintainers are responsible for clarifying the standards of + acceptable behavior and are expected to take appropriate and fair + corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, + edit, or reject comments, commits, code, wiki edits, issues, and + other contributions that are not aligned to this Code of Conduct, or + to ban temporarily or permanently any contributor for other + behaviors that they deem inappropriate, threatening, offensive, or + harmful. + + + ## Scope + + + This Code of Conduct applies both within project spaces and in + public spaces when an individual is representing the project or its + community. Examples of representing a project or community include + using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + + Instances of abusive, harassing, or otherwise unacceptable behavior + may be reported by contacting the project team at [EMAIL]. The + project team will review and investigate all complaints, and will + respond in a way that it deems appropriate to the circumstances. The + project team is obligated to maintain confidentiality with regard to + the reporter of an incident. Further details of specific enforcement + policies may be posted separately. + + + Project maintainers who do not follow or enforce the Code of Conduct + in good faith may face temporary or permanent repercussions as + determined by other members of the project's leadership. + + + ## Attribution + + + This Code of Conduct is adapted from the [Contributor + Covenant](http://contributor-covenant.org), version 1.4, available + at + [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/). + html_url: + type: string + format: uri + nullable: true + required: + - url + - html_url + - key + - name + security-and-analysis: + nullable: true + type: object + properties: + advanced_security: + description: > + Enable or disable GitHub Advanced Security for the repository. + + + For standalone Code Scanning or Secret Protection products, this + parameter cannot be used. + type: object + properties: + status: + type: string + enum: + - enabled + - disabled + code_security: + type: object + properties: + status: + type: string + enum: + - enabled + - disabled + dependabot_security_updates: + description: Enable or disable Dependabot security updates for the repository. + type: object + properties: + status: + description: >- + The enablement status of Dependabot security updates for the + repository. + type: string + enum: + - enabled + - disabled + secret_scanning: + type: object + properties: + status: + type: string + enum: + - enabled + - disabled + secret_scanning_push_protection: + type: object + properties: + status: + type: string + enum: + - enabled + - disabled + secret_scanning_non_provider_patterns: + type: object + properties: + status: + type: string + enum: + - enabled + - disabled + secret_scanning_ai_detection: + type: object + properties: + status: + type: string + enum: + - enabled + - disabled + secret_scanning_delegated_alert_dismissal: + type: object + properties: + status: + type: string + enum: + - enabled + - disabled + secret_scanning_delegated_bypass: + type: object + properties: + status: + type: string + enum: + - enabled + - disabled + secret_scanning_delegated_bypass_options: + type: object + properties: + reviewers: + type: array + description: The bypass reviewers for secret scanning delegated bypass + items: + type: object + required: + - reviewer_id + - reviewer_type + properties: + reviewer_id: + type: integer + description: The ID of the team or role selected as a bypass reviewer + reviewer_type: + type: string + description: The type of the bypass reviewer + enum: + - TEAM + - ROLE + mode: + type: string + description: The bypass mode for the reviewer + enum: + - ALWAYS + - EXEMPT + default: ALWAYS + parameters: + org: + name: org + description: The organization name. The name is not case sensitive. + in: path + required: true + schema: + type: string + per-page: + name: per_page + description: >- + The number of results per page (max 100). For more information, see + "[Using pagination in the REST + API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + in: query + schema: + type: integer + default: 30 + page: + name: page + description: >- + The page number of the results to fetch. For more information, see + "[Using pagination in the REST + API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + in: query + schema: + type: integer + default: 1 + secret-name: + name: secret_name + description: The name of the secret. + in: path + required: true + schema: + type: string + variables-per-page: + name: per_page + description: >- + The number of results per page (max 30). For more information, see + "[Using pagination in the REST + API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + in: query + schema: + type: integer + default: 10 + variable-name: + name: name + description: The name of the variable. + in: path + required: true + schema: + type: string + owner: + name: owner + description: The account owner of the repository. The name is not case sensitive. + in: path + required: true + schema: + type: string + repo: + name: repo + description: >- + The name of the repository without the `.git` extension. The name is not + case sensitive. + in: path + required: true + schema: + type: string + examples: + organization-actions-secret-paginated: + value: + total_count: 3 + secrets: + - name: GIST_ID + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + visibility: private + - name: DEPLOY_TOKEN + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + visibility: all + - name: GH_TOKEN + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + visibility: selected + selected_repositories_url: >- + https://api.github.com/orgs/octo-org/actions/secrets/SUPER_SECRET/repositories + actions-public-key: + value: + key_id: '012345678912345678' + key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + organization-actions-secret: + value: + name: GH_TOKEN + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + visibility: selected + selected_repositories_url: >- + https://api.github.com/orgs/octo-org/actions/secrets/SUPER_SECRET/repositories + public-repository-paginated: + value: + total_count: 1 + repositories: + - id: 1296269 + node_id: MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + name: Hello-World + full_name: octocat/Hello-World + owner: + login: octocat + id: 1 + node_id: MDQ6VXNlcjE= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + private: false + html_url: https://github.com/octocat/Hello-World + description: This your first repo! + fork: false + url: https://api.github.com/repos/octocat/Hello-World + archive_url: >- + https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} + blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} + branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} + collaborators_url: >- + https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} + commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} + compare_url: >- + https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} + contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors + deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments + downloads_url: https://api.github.com/repos/octocat/Hello-World/downloads + events_url: https://api.github.com/repos/octocat/Hello-World/events + forks_url: https://api.github.com/repos/octocat/Hello-World/forks + git_commits_url: https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} + git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} + git_url: git:github.com/octocat/Hello-World.git + issue_comment_url: >- + https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: >- + https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} + keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} + labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} + languages_url: https://api.github.com/repos/octocat/Hello-World/languages + merges_url: https://api.github.com/repos/octocat/Hello-World/merges + milestones_url: >- + https://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: >- + https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} + releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} + ssh_url: git@github.com:octocat/Hello-World.git + stargazers_url: https://api.github.com/repos/octocat/Hello-World/stargazers + statuses_url: https://api.github.com/repos/octocat/Hello-World/statuses/{sha} + subscribers_url: https://api.github.com/repos/octocat/Hello-World/subscribers + subscription_url: https://api.github.com/repos/octocat/Hello-World/subscription + tags_url: https://api.github.com/repos/octocat/Hello-World/tags + teams_url: https://api.github.com/repos/octocat/Hello-World/teams + trees_url: https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} + hooks_url: http://api.github.com/repos/octocat/Hello-World/hooks + organization-actions-variables-paginated: + value: + total_count: 3 + variables: + - name: USERNAME + value: octocat + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + visibility: private + - name: ACTIONS_RUNNER_DEBUG + value: true + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + visibility: all + - name: ADMIN_EMAIL + value: octocat@github.com + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + visibility: selected + selected_repositories_url: >- + https://api.github.com/orgs/octo-org/actions/variables/ADMIN_EMAIL/repositories + organization-actions-variable: + value: + name: USERNAME + value: octocat + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + visibility: selected + selected_repositories_url: >- + https://api.github.com/orgs/octo-org/actions/variables/USERNAME/repositories + actions-secret-paginated: + value: + total_count: 2 + secrets: + - name: GH_TOKEN + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + - name: GIST_ID + created_at: '2020-01-10T10:59:22Z' + updated_at: '2020-01-11T11:59:22Z' + actions-variables-paginated: + value: + total_count: 2 + variables: + - name: USERNAME + value: octocat + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + - name: EMAIL + value: octocat@github.com + created_at: '2020-01-10T10:59:22Z' + updated_at: '2020-01-11T11:59:22Z' + actions-secret: + value: + name: GH_TOKEN + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + actions-variable: + value: + name: USERNAME + value: octocat + created_at: '2021-08-10T14:59:22Z' + updated_at: '2022-01-10T14:59:22Z' + headers: + link: + example: >- + ; rel="next", + ; rel="last" + schema: + type: string + x-stackQL-resources: + secrets: + id: github.agents.secrets + name: secrets + title: Secrets + methods: + list_org_secrets: + operation: + $ref: '#/paths/~1orgs~1{org}~1agents~1secrets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.secrets + get_org_secret: + operation: + $ref: '#/paths/~1orgs~1{org}~1agents~1secrets~1{secret_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_or_update_org_secret: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1orgs~1{org}~1agents~1secrets~1{secret_name}/put' + response: + mediaType: application/json + openAPIDocKey: '201' + delete_org_secret: + operation: + $ref: '#/paths/~1orgs~1{org}~1agents~1secrets~1{secret_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + list_repo_secrets: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1agents~1secrets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.secrets + get_repo_secret: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1agents~1secrets~1{secret_name}/get + response: + mediaType: application/json + openAPIDocKey: '200' + create_or_update_repo_secret: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1agents~1secrets~1{secret_name}/put + response: + mediaType: application/json + openAPIDocKey: '201' + delete_repo_secret: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1agents~1secrets~1{secret_name}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/secrets/methods/get_repo_secret' + - $ref: '#/components/x-stackQL-resources/secrets/methods/get_org_secret' + - $ref: '#/components/x-stackQL-resources/secrets/methods/list_repo_secrets' + - $ref: '#/components/x-stackQL-resources/secrets/methods/list_org_secrets' + insert: + - $ref: >- + #/components/x-stackQL-resources/secrets/methods/create_or_update_repo_secret + - $ref: >- + #/components/x-stackQL-resources/secrets/methods/create_or_update_org_secret + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/secrets/methods/delete_repo_secret + - $ref: '#/components/x-stackQL-resources/secrets/methods/delete_org_secret' + replace: [] + public_keys: + id: github.agents.public_keys + name: public_keys + title: Public Keys + methods: + get_org_public_key: + operation: + $ref: '#/paths/~1orgs~1{org}~1agents~1secrets~1public-key/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_repo_public_key: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1agents~1secrets~1public-key/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/public_keys/methods/get_repo_public_key + - $ref: >- + #/components/x-stackQL-resources/public_keys/methods/get_org_public_key + insert: [] + update: [] + delete: [] + replace: [] + repos_for_secret: + id: github.agents.repos_for_secret + name: repos_for_secret + title: Repos For Secret + methods: + list_selected_repos_for_org_secret: + operation: + $ref: >- + #/paths/~1orgs~1{org}~1agents~1secrets~1{secret_name}~1repositories/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.repositories + set_selected_repos_for_org_secret: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1orgs~1{org}~1agents~1secrets~1{secret_name}~1repositories/put + response: + mediaType: application/json + openAPIDocKey: '204' + add_selected_repo_to_org_secret: + operation: + $ref: >- + #/paths/~1orgs~1{org}~1agents~1secrets~1{secret_name}~1repositories~1{repository_id}/put + response: + mediaType: application/json + openAPIDocKey: '204' + remove_selected_repo_from_org_secret: + operation: + $ref: >- + #/paths/~1orgs~1{org}~1agents~1secrets~1{secret_name}~1repositories~1{repository_id}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/repos_for_secret/methods/list_selected_repos_for_org_secret + insert: + - $ref: >- + #/components/x-stackQL-resources/repos_for_secret/methods/add_selected_repo_to_org_secret + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/repos_for_secret/methods/remove_selected_repo_from_org_secret + replace: + - $ref: >- + #/components/x-stackQL-resources/repos_for_secret/methods/set_selected_repos_for_org_secret + variables: + id: github.agents.variables + name: variables + title: Variables + methods: + list_org_variables: + operation: + $ref: '#/paths/~1orgs~1{org}~1agents~1variables/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.variables + create_org_variable: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1orgs~1{org}~1agents~1variables/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_org_variable: + operation: + $ref: '#/paths/~1orgs~1{org}~1agents~1variables~1{name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_org_variable: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1orgs~1{org}~1agents~1variables~1{name}/patch' + response: + mediaType: application/json + openAPIDocKey: '204' + delete_org_variable: + operation: + $ref: '#/paths/~1orgs~1{org}~1agents~1variables~1{name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + list_repo_variables: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1agents~1variables/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.variables + create_repo_variable: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1agents~1variables/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_repo_variable: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1agents~1variables~1{name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_repo_variable: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1agents~1variables~1{name}/patch' + response: + mediaType: application/json + openAPIDocKey: '204' + delete_repo_variable: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1agents~1variables~1{name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/variables/methods/get_repo_variable + - $ref: >- + #/components/x-stackQL-resources/variables/methods/get_org_variable + - $ref: >- + #/components/x-stackQL-resources/variables/methods/list_repo_variables + - $ref: >- + #/components/x-stackQL-resources/variables/methods/list_org_variables + insert: + - $ref: >- + #/components/x-stackQL-resources/variables/methods/create_repo_variable + - $ref: >- + #/components/x-stackQL-resources/variables/methods/create_org_variable + update: + - $ref: >- + #/components/x-stackQL-resources/variables/methods/update_repo_variable + - $ref: >- + #/components/x-stackQL-resources/variables/methods/update_org_variable + delete: + - $ref: >- + #/components/x-stackQL-resources/variables/methods/delete_repo_variable + - $ref: >- + #/components/x-stackQL-resources/variables/methods/delete_org_variable + replace: [] + repos_for_org_variable: + id: github.agents.repos_for_org_variable + name: repos_for_org_variable + title: Repos For Org Variable + methods: + list_selected_repos_for_org_variable: + operation: + $ref: '#/paths/~1orgs~1{org}~1agents~1variables~1{name}~1repositories/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.repositories + set_selected_repos_for_org_variable: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1orgs~1{org}~1agents~1variables~1{name}~1repositories/put' + response: + mediaType: application/json + openAPIDocKey: '204' + add_selected_repo_to_org_variable: + operation: + $ref: >- + #/paths/~1orgs~1{org}~1agents~1variables~1{name}~1repositories~1{repository_id}/put + response: + mediaType: application/json + openAPIDocKey: '204' + remove_selected_repo_from_org_variable: + operation: + $ref: >- + #/paths/~1orgs~1{org}~1agents~1variables~1{name}~1repositories~1{repository_id}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/repos_for_org_variable/methods/list_selected_repos_for_org_variable + insert: + - $ref: >- + #/components/x-stackQL-resources/repos_for_org_variable/methods/add_selected_repo_to_org_variable + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/repos_for_org_variable/methods/remove_selected_repo_from_org_variable + replace: + - $ref: >- + #/components/x-stackQL-resources/repos_for_org_variable/methods/set_selected_repos_for_org_variable + repo_org_secrets: + id: github.agents.repo_org_secrets + name: repo_org_secrets + title: Repo Org Secrets + methods: + list_repo_organization_secrets: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1agents~1organization-secrets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.secrets + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/repo_org_secrets/methods/list_repo_organization_secrets + insert: [] + update: [] + delete: [] + replace: [] + repo_org_variables: + id: github.agents.repo_org_variables + name: repo_org_variables + title: Repo Org Variables + methods: + list_repo_organization_variables: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1agents~1organization-variables/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.variables + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/repo_org_variables/methods/list_repo_organization_variables + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/apps.yaml b/providers/src/github/v00.00.00000/services/apps.yaml index e5b0c23e..e81003b9 100644 --- a/providers/src/github/v00.00.00000/services/apps.yaml +++ b/providers/src/github/v00.00.00000/services/apps.yaml @@ -710,6 +710,20 @@ paths: installation can access. + > [!NOTE] + + > Starting April 27, 2026, GitHub began a staged rollout of a stateless + format (`ghs_APPID_JWT`) to all newly minted GitHub App installation + tokens, making them more performant and improving the reliability of our + API surface. If your application expects or relies on installation + tokens being exactly 40 characters long, it may not handle this new + token format correctly. You can now validate your apps and workflows + using a temporary request header that lets you enable the token format + on demand. For more information about the temporary header, see [the + GitHub + blog](https://github.blog/changelog/2026-05-15-github-app-installation-tokens-per-request-override-header). + + Optionally, you can use the `repositories` or `repository_ids` body parameters to specify individual repositories that the installation access token can access. If you don't use `repositories` or @@ -1705,6 +1719,14 @@ paths: type: boolean lexical_commit_sha: type: string + custom_properties: + type: object + description: >- + The custom properties that were defined for the + repository. The keys are the custom property names, + and the values are the corresponding custom property + values. Present for org repos only. + additionalProperties: true required: - archive_url - assignees_url @@ -2905,6 +2927,14 @@ paths: type: boolean lexical_commit_sha: type: string + custom_properties: + type: object + description: >- + The custom properties that were defined for the + repository. The keys are the custom property names, + and the values are the corresponding custom property + values. Present for org repos only. + additionalProperties: true required: - archive_url - assignees_url @@ -4107,7 +4137,7 @@ components: app-permissions: title: App Permissions type: object - description: The permissions granted to the user access token. + description: The permissions granted to the fine-grained access token. properties: actions: type: string @@ -4149,6 +4179,14 @@ components: enum: - read - write + code_quality: + type: string + description: >- + The level of permission to grant the access token to view and manage + code quality data. + enum: + - read + - write codespaces: type: string description: >- @@ -4382,12 +4420,13 @@ components: Copilot Business subscription. This property is in public preview and is subject to change. enum: + - read - write organization_copilot_agent_settings: type: string description: >- The level of permission to grant the access token to view and manage - Copilot coding agent settings for an organization. + Copilot cloud agent settings for an organization. enum: - read - write @@ -6548,7 +6587,7 @@ components: token_last_eight: Ae178B4a hashed_token: 25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8 app: - url: http://my-github-app.com + url: https://example.com name: my github app client_id: Iv1.8a61f9b3a7aba766 note: optional note @@ -6585,7 +6624,7 @@ components: token_last_eight: Ae178B4a hashed_token: 25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8 app: - url: http://my-github-app.com + url: https://example.com name: my github app client_id: Iv1.8a61f9b3a7aba766 note: optional note @@ -6766,6 +6805,9 @@ components: forks: 1 open_issues: 1 watchers: 1 + custom_properties: + environment: production + service: web marketplace-purchase: value: url: https://api.github.com/orgs/github @@ -7669,3 +7711,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/billing.yaml b/providers/src/github/v00.00.00000/services/billing.yaml index 80b3e190..e3fd81f8 100644 --- a/providers/src/github/v00.00.00000/services/billing.yaml +++ b/providers/src/github/v00.00.00000/services/billing.yaml @@ -4,19 +4,59 @@ info: description: Monitor charges and usage from Actions and Packages. version: 1.1.4 paths: - /organizations/{org}/settings/billing/budgets: + /organizations/{org}/settings/billing/ai_credit/usage: get: - summary: Get all budgets for an organization + summary: Get billing AI credit usage report for an organization description: >- - > [!NOTE] - - > This endpoint is in public preview and is subject to change. + Gets a report of AI credit usage for an organization. To use this + endpoint, you must be an administrator of an organization within an + enterprise or an organization account. + **Note:** Only data from the past 24 months is accessible via this + endpoint. + tags: + - billing + operationId: billing/get-github-billing-ai-credit-usage-report-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/billing/usage#get-billing-ai-credit-usage-report-for-an-organization + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/billing-usage-report-year' + - $ref: '#/components/parameters/billing-usage-report-month-default' + - $ref: '#/components/parameters/billing-usage-report-day' + - $ref: '#/components/parameters/billing-usage-report-user' + - $ref: '#/components/parameters/billing-usage-report-model' + - $ref: '#/components/parameters/billing-usage-report-product' + responses: + '200': + $ref: '#/components/responses/billing_ai_credit_usage_report_org' + '400': + $ref: '#/components/responses/bad_request' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '500': + $ref: '#/components/responses/internal_error' + '503': + $ref: '#/components/responses/service_unavailable' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: billing + subcategory: usage + x-stackQL-resource: usage + /organizations/{org}/settings/billing/budgets: + get: + summary: Get all budgets for an organization + description: >- Gets all budgets for an organization. The authenticated user must be an organization admin or billing manager. - Each page returns up to 10 budgets. + Each page returns up to 100 budgets. tags: - billing operationId: billing/get-all-budgets-org @@ -33,13 +73,24 @@ paths: type: integer default: 1 - name: per_page - description: The number of results per page (max 10). + description: The number of results per page (max 100). in: query schema: type: integer default: 10 - name: scope - description: Filter budgets by scope type. + description: >- + Filter budgets by scope type. + + + - `organization`: Budgets scoped to the organization. + + - `repository`: Budgets scoped to a repository. + + - `multi_user_customer`: Universal budgets that apply to all users + in the organization. + + - `user`: Budgets scoped to an individual user. in: query schema: type: string @@ -48,6 +99,15 @@ paths: - organization - repository - cost_center + - multi_user_customer + - user + - name: user + description: >- + Filter consumed amount details for budgets by the specified user + login. + in: query + schema: + type: string responses: '200': $ref: '#/components/responses/get_all_budgets' @@ -63,15 +123,188 @@ paths: category: billing subcategory: budgets x-stackQL-resource: budgets - /organizations/{org}/settings/billing/budgets/{budget_id}: - get: - summary: Get a budget by ID for an organization + post: + summary: Create a budget for an organization description: >- - > [!NOTE] + Creates a new budget for an organization. The authenticated user must be + an - > This endpoint is in public preview and is subject to change. + organization admin or billing manager. + tags: + - billing + operationId: billing/create-organization-budget + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/billing/budgets#create-a-budget-for-an-organization + parameters: + - $ref: '#/components/parameters/org' + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + budget_amount: + type: integer + description: >- + The budget amount in whole dollars. For license-based + products, this represents the number of licenses. + prevent_further_usage: + type: boolean + description: >- + Whether to prevent additional spending once the budget is + exceeded. For `user` and `multi_user_customer` scopes, this + must be `true`. + budget_alerting: + type: object + properties: + will_alert: + type: boolean + description: >- + Whether alerts are enabled for this budget. Rejected for + user-scope as alerting is always disabled for them. + alert_recipients: + type: array + items: + type: string + description: >- + Array of user login names who will receive alerts. + Rejected for user-scope as alerting is always disabled + for them. + budget_scope: + type: string + description: >- + The scope of the budget for this organization. + + + - `organization`: Apply the budget to the organization. + + - `repository`: Apply the budget to a specific repository in + the organization. + + - `multi_user_customer`: Apply a universal budget to all + users in the organization. + + - `user`: Apply the budget to a single user in the + organization. + + + `user` and `multi_user_customer` scopes are only supported + when + `budget_product_sku` is `ai_credits` or `premium_requests`. + enum: + - organization + - repository + - multi_user_customer + - user + budget_entity_name: + type: string + description: The name of the entity to apply the budget to + default: '' + budget_type: + description: >- + The type of pricing model used by the budget. Determines how + `budget_product_sku` is interpreted. + + - `BundlePricing`: Covers all AI credit SKUs. Set + `budget_product_sku` to `ai_credits`. + + - `ProductPricing`: Covers all SKUs that belong to a + product. Set `budget_product_sku` to a product such as + `actions` or `packages`. + + - `SkuPricing`: Covers a single, specific SKU. Set + `budget_product_sku` to a SKU such as `actions_linux`. + type: string + enum: + - BundlePricing + budget_product_sku: + type: string + description: A single product or SKU that will be covered in the budget + user: + type: string + description: >- + The username of the user for `user` scope budgets. This + field is required when `budget_scope` is `user`. + examples: + create-organization-budget: + summary: Create organization budget example + value: + budget_amount: 500 + prevent_further_usage: true + budget_scope: organization + budget_entity_name: '' + budget_type: ProductPricing + budget_product_sku: actions + budget_alerting: + will_alert: false + alert_recipients: [] + responses: + '200': + description: Budget created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/create-budget' + examples: + create-organization-budget: + $ref: '#/components/examples/create-budget' + '400': + $ref: '#/components/responses/bad_request' + '401': + $ref: '#/components/responses/requires_authentication' + '403': + description: Insufficient permissions + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + examples: + insufficient-permissions: + value: + message: Insufficient permissions to create a budget. + documentation_url: >- + https://docs.github.com/rest/billing/budgets#create-a-budget-for-an-organization + '404': + description: Feature not enabled or organization not found + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + examples: + feature-not-enabled: + value: + message: Not Found + documentation_url: >- + https://docs.github.com/rest/billing/budgets#create-a-budget-for-an-organization + '422': + $ref: '#/components/responses/validation_failed' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + examples: + server-error: + value: + message: Unable to create budget. + documentation_url: >- + https://docs.github.com/rest/billing/budgets#create-a-budget-for-an-organization + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: billing + subcategory: budgets + x-stackQL-resource: budgets + /organizations/{org}/settings/billing/budgets/{budget_id}: + get: + summary: Get a budget by ID for an organization + description: >- Gets a budget by ID. The authenticated user must be an organization admin or billing manager. tags: @@ -106,11 +339,6 @@ paths: patch: summary: Update a budget for an organization description: >- - > [!NOTE] - - > This endpoint is in public preview and is subject to change. - - Updates an existing budget for an organization. The authenticated user must be an organization admin or billing manager. tags: @@ -139,37 +367,74 @@ paths: type: boolean description: >- Whether to prevent additional spending once the budget is - exceeded + exceeded. For budgets with `user` or `multi_user_customer` + scope, this must remain `true`. budget_alerting: type: object properties: will_alert: type: boolean - description: Whether alerts are enabled for this budget + description: >- + Whether alerts are enabled for this budget. Ignored for + user-scopes as alerting is always disabled for them. alert_recipients: type: array items: type: string - description: Array of user login names who will receive alerts + description: >- + Array of user login names who will receive alerts. + Ignored for user-scopes as alerting is always disabled + for them. budget_scope: type: string - description: The scope of the budget + description: >- + The scope of the budget for this organization. + + + - `organization`: Apply the budget to the organization. + + - `repository`: Apply the budget to a specific repository in + the organization. + + - `multi_user_customer`: Apply a universal budget to all + users in the organization. + + - `user`: Apply the budget to a single user in the + organization. enum: - enterprise - organization - repository - cost_center + - multi_user_customer + - user budget_entity_name: type: string description: The name of the entity to apply the budget to budget_type: - description: The type of pricing for the budget + description: >- + The type of pricing model used by the budget. Determines how + `budget_product_sku` is interpreted. + + + - `BundlePricing`: Covers all AI credit SKUs. Set + `budget_product_sku` to `ai_credits`. + + - `ProductPricing`: Covers all SKUs that belong to a + product. Set `budget_product_sku` to a product such as + `actions` or `packages`. + + - `SkuPricing`: Covers a single, specific SKU. Set + `budget_product_sku` to a SKU such as `actions_linux`. type: string enum: - - ProductPricing + - BundlePricing budget_product_sku: type: string description: A single product or SKU that will be covered in the budget + user: + type: string + description: The username of the user for `user` scope budgets. examples: update-budget: summary: Update budget example @@ -185,68 +450,7 @@ paths: content: application/json: schema: - type: object - properties: - message: - type: string - example: Budget successfully updated. - budget: - type: object - properties: - id: - type: string - description: ID of the budget. - budget_amount: - type: number - format: float - description: >- - The budget amount in whole dollars. For license-based - products, this represents the number of licenses. - prevent_further_usage: - type: boolean - description: >- - Whether to prevent additional spending once the budget - is exceeded - budget_alerting: - type: object - required: - - will_alert - - alert_recipients - properties: - will_alert: - type: boolean - description: Whether alerts are enabled for this budget - alert_recipients: - type: array - items: - type: string - description: Array of user login names who will receive alerts - budget_scope: - type: string - description: The scope of the budget - enum: - - enterprise - - organization - - repository - - cost_center - budget_entity_name: - type: string - description: The name of the entity to apply the budget to - default: '' - budget_type: - description: The type of pricing for the budget - oneOf: - - type: string - enum: - - ProductPricing - - type: string - enum: - - SkuPricing - budget_product_sku: - type: string - description: >- - A single product or SKU that will be covered in the - budget + $ref: '#/components/schemas/update-budget' examples: update-budget: $ref: '#/components/examples/update-budget' @@ -298,11 +502,6 @@ paths: delete: summary: Delete a budget for an organization description: >- - > [!NOTE] - - > This endpoint is in public preview and is subject to change. - - Deletes a budget by ID for an organization. The authenticated user must be an organization admin or billing manager. tags: @@ -469,6 +668,48 @@ paths: category: billing subcategory: usage x-stackQL-resource: usage + /users/{username}/settings/billing/ai_credit/usage: + get: + summary: Get billing AI credit usage report for a user + description: >- + Gets a report of AI credit usage for a user. + + + **Note:** Only data from the past 24 months is accessible via this + endpoint. + tags: + - billing + operationId: billing/get-github-billing-ai-credit-usage-report-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/billing/usage#get-billing-ai-credit-usage-report-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - $ref: '#/components/parameters/billing-usage-report-year' + - $ref: '#/components/parameters/billing-usage-report-month-default' + - $ref: '#/components/parameters/billing-usage-report-day' + - $ref: '#/components/parameters/billing-usage-report-model' + - $ref: '#/components/parameters/billing-usage-report-product' + responses: + '200': + $ref: '#/components/responses/billing_ai_credit_usage_report_user' + '400': + $ref: '#/components/responses/bad_request' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '500': + $ref: '#/components/responses/internal_error' + '503': + $ref: '#/components/responses/service_unavailable' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: billing + subcategory: usage + x-stackQL-resource: usage /users/{username}/settings/billing/premium_request/usage: get: summary: Get billing premium request usage report for a user @@ -599,6 +840,83 @@ paths: x-stackQL-resource: usage components: schemas: + create-budget: + type: object + properties: + message: + type: string + description: A message indicating the result of the create operation + budget: + type: object + properties: + id: + type: string + description: ID of the budget. + budget_scope: + type: string + description: The type of scope for the budget + example: enterprise + enum: + - enterprise + - organization + - repository + - cost_center + - multi_user_customer + - multi_user_cost_center + - user + budget_entity_name: + type: string + description: The name of the entity to apply the budget to + example: example-repository-name + budget_amount: + type: integer + description: >- + The budget amount in whole dollars. For license-based products, + this represents the number of licenses. + example: 100 + minimum: 0 + prevent_further_usage: + type: boolean + description: >- + Whether to prevent additional spending once the budget is + exceeded + example: true + budget_product_sku: + type: string + description: A single product or sku to apply the budget to. + example: actions_linux + budget_type: + description: The type of pricing for the budget + example: ProductPricing + oneOf: + - type: string + enum: + - ProductPricing + - type: string + enum: + - SkuPricing + budget_alerting: + type: object + properties: + will_alert: + type: boolean + description: >- + Whether alerts are enabled for this budget. Rejected for + user-scope as alerting is always disabled for them. + example: true + alert_recipients: + type: array + items: + type: string + description: >- + Array of user login names who will receive alerts. Rejected + for user-scope as alerting is always disabled for them. + example: + - mona + - lisa + required: + - message + - budget basic-error: title: Basic Error description: Basic Error @@ -612,86 +930,178 @@ components: type: string status: type: string - get_all_budgets: + update-budget: type: object properties: - budgets: - type: array - items: - $ref: '#/components/schemas/budget' - description: Array of budget objects for the enterprise - has_next_page: - type: boolean - description: >- - Indicates if there are more pages of results available (maps to - hasNextPage from billing platform) - total_count: - type: integer - description: Total number of budgets matching the query + message: + type: string + description: A message indicating the result of the update operation + budget: + type: object + properties: + id: + type: string + description: ID of the budget. + budget_scope: + type: string + description: The type of scope for the budget + example: enterprise + enum: + - enterprise + - organization + - repository + - cost_center + - multi_user_customer + - multi_user_cost_center + - user + budget_entity_name: + type: string + description: The name of the entity to apply the budget to + example: example-repository-name + user: + type: string + description: >- + The user login when the budget is scoped to a single user + (`user` scope). + example: octocat + consumed_amount: + type: number + description: >- + The consumed amount for the specified user within the budget. + Only included for `user`-scoped budgets. + example: 42.5 + budget_amount: + type: integer + description: >- + The budget amount in whole dollars. For license-based products, + this represents the number of licenses. + example: 100 + minimum: 0 + prevent_further_usage: + type: boolean + description: >- + Whether to prevent additional spending once the budget is + exceeded + example: true + budget_product_sku: + type: string + description: A single product or sku to apply the budget to. + example: actions_linux + budget_type: + description: The type of pricing for the budget + example: ProductPricing + oneOf: + - type: string + enum: + - ProductPricing + - type: string + enum: + - SkuPricing + budget_alerting: + type: object + properties: + will_alert: + type: boolean + description: >- + Whether alerts are enabled for this budget. Ignored for + user-scope as alerting is always disabled for them. + example: true + alert_recipients: + type: array + items: + type: string + description: >- + Array of user login names who will receive alerts. Ignored + for user-scope as alerting is always disabled for them. + example: + - mona + - lisa required: - - budgets - get-budget: + - budget + - message + billing-ai-credit-usage-report-org: type: object properties: - id: - type: string - description: ID of the budget. - budget_scope: + timePeriod: + type: object + properties: + year: + type: integer + description: The year for the usage report. + month: + type: integer + description: The month for the usage report. + day: + type: integer + description: The day for the usage report. + required: + - year + organization: type: string - description: The type of scope for the budget - example: enterprise - enum: - - enterprise - - organization - - repository - - cost_center - budget_entity_name: + description: The unique identifier of the organization. + user: type: string - description: The name of the entity to apply the budget to - example: octocat/hello-world - budget_amount: - type: integer - description: >- - The budget amount in whole dollars. For license-based products, this - represents the number of licenses. - prevent_further_usage: - type: boolean - description: Whether to prevent additional spending once the budget is exceeded - example: true - budget_product_sku: + description: The name of the user for the usage report. + product: type: string - description: A single product or sku to apply the budget to. - example: actions_linux - budget_type: - description: The type of pricing for the budget - example: ProductPricing + description: The product for the usage report. + model: type: string - enum: - - ProductPricing - budget_alerting: - type: object - properties: - will_alert: - type: boolean - description: Whether alerts are enabled for this budget - example: true - alert_recipients: - type: array - items: + description: The model for the usage report. + usageItems: + type: array + items: + type: object + properties: + product: type: string - description: Array of user login names who will receive alerts - example: - - mona - - lisa + description: Product name. + sku: + type: string + description: SKU name. + model: + type: string + description: Model name. + unitType: + type: string + description: Unit type of the usage line item. + pricePerUnit: + type: number + description: Price per unit of the usage line item. + grossQuantity: + type: number + description: Gross quantity of the usage line item. + grossAmount: + type: number + description: Gross amount of the usage line item. + discountQuantity: + type: number + description: Discount quantity of the usage line item. + discountAmount: + type: number + description: Discount amount of the usage line item. + netQuantity: + type: number + description: Net quantity of the usage line item. + netAmount: + type: number + description: Net amount of the usage line item. + required: + - product + - sku + - model + - unitType + - pricePerUnit + - grossQuantity + - grossAmount + - discountQuantity + - discountAmount + - netQuantity + - netAmount required: - - id - - budget_amount - - prevent_further_usage - - budget_product_sku - - budget_type - - budget_alerting - - budget_scope - - budget_entity_name + - timePeriod + - organization + - usageItems scim-error: title: Scim Error description: Scim Error @@ -715,6 +1125,50 @@ components: type: array items: type: string + get_all_budgets: + type: object + properties: + budgets: + type: array + items: + $ref: '#/components/schemas/budget' + description: Array of budget objects for the enterprise + user: + type: string + description: >- + User login included when the response is scoped with the `user` + query parameter. + effective_budget: + type: object + description: >- + Effective user-level budget details returned when the response is + scoped with the `user` query parameter. + properties: + id: + type: string + description: The unique identifier of the effective budget. + budget_amount: + type: integer + description: The budget amount for the effective budget. + consumed_amount: + type: number + description: >- + The consumed amount for the specified user within the effective + budget. + required: + - id + - budget_amount + - consumed_amount + has_next_page: + type: boolean + description: >- + Indicates if there are more pages of results available (maps to + hasNextPage from billing platform) + total_count: + type: integer + description: Total number of budgets matching the query + required: + - budgets validation-error: title: Validation Error description: Validation Error @@ -754,6 +1208,83 @@ components: nullable: true items: type: string + get-budget: + type: object + properties: + id: + type: string + description: ID of the budget. + budget_scope: + type: string + description: The type of scope for the budget + example: enterprise + enum: + - enterprise + - organization + - repository + - cost_center + - multi_user_customer + - multi_user_cost_center + - user + budget_entity_name: + type: string + description: The name of the entity to apply the budget to + example: octocat/hello-world + user: + type: string + description: >- + The user login when the budget is scoped to a single user (`user` + scope). + example: octocat + budget_amount: + type: integer + description: >- + The budget amount in whole dollars. For license-based products, this + represents the number of licenses. + prevent_further_usage: + type: boolean + description: Whether to prevent additional spending once the budget is exceeded + example: true + budget_product_sku: + type: string + description: A single product or sku to apply the budget to. + example: actions_linux + budget_type: + description: The type of pricing for the budget + example: ProductPricing + type: string + enum: + - ProductPricing + budget_alerting: + type: object + properties: + will_alert: + type: boolean + description: >- + Whether alerts are enabled for this budget. Present but not + applicable for user-scope as alerting is always disabled for + them. + example: true + alert_recipients: + type: array + items: + type: string + description: >- + Array of user login names who will receive alerts. Present but + not applicable for user-scope as alerting is always disabled for + them. + example: + - mona + - lisa + required: + - id + - budget_amount + - prevent_further_usage + - budget_product_sku + - budget_type + - budget_alerting + - budget_scope + - budget_entity_name delete-budget: type: object properties: @@ -980,6 +1511,86 @@ components: - timePeriod - organization - usageItems + billing-ai-credit-usage-report-user: + type: object + properties: + timePeriod: + type: object + properties: + year: + type: integer + description: The year for the usage report. + month: + type: integer + description: The month for the usage report. + day: + type: integer + description: The day for the usage report. + required: + - year + user: + type: string + description: The unique identifier of the user. + product: + type: string + description: The product for the usage report. + model: + type: string + description: The model for the usage report. + usageItems: + type: array + items: + type: object + properties: + product: + type: string + description: Product name. + sku: + type: string + description: SKU name. + model: + type: string + description: Model name. + unitType: + type: string + description: Unit type of the usage line item. + pricePerUnit: + type: number + description: Price per unit of the usage line item. + grossQuantity: + type: number + description: Gross quantity of the usage line item. + grossAmount: + type: number + description: Gross amount of the usage line item. + discountQuantity: + type: number + description: Discount quantity of the usage line item. + discountAmount: + type: number + description: Discount amount of the usage line item. + netQuantity: + type: number + description: Net quantity of the usage line item. + netAmount: + type: number + description: Net amount of the usage line item. + required: + - product + - sku + - model + - unitType + - pricePerUnit + - grossQuantity + - grossAmount + - discountQuantity + - discountAmount + - netQuantity + - netAmount + required: + - timePeriod + - user + - usageItems billing-premium-request-usage-report-user: type: object properties: @@ -1211,16 +1822,33 @@ components: example: true budget_scope: type: string - description: >- - The scope of the budget (enterprise, organization, repository, cost - center) + description: The scope of the budget example: enterprise + enum: + - enterprise + - organization + - repository + - cost_center + - multi_user_customer + - multi_user_cost_center + - user budget_entity_name: type: string description: >- The name of the entity for the budget (enterprise does not require a name). example: octocat/hello-world + user: + type: string + description: >- + The user login when the budget is scoped to a single user (`user` + scope). + example: octocat + consumed_amount: + type: number + description: >- + The amount consumed for a user-scoped budget, or for a multi-user + budget when filtering by user. budget_product_sku: type: string description: A single product or sku to apply the budget to. @@ -1229,13 +1857,17 @@ components: properties: will_alert: type: boolean - description: Whether alerts are enabled for this budget + description: >- + Whether alerts are enabled for this budget. Ignored for + user-scope as alerting is disabled for them. example: true alert_recipients: type: array items: type: string - description: Array of user login names who will receive alerts + description: >- + Array of user login names who will receive alerts. Ignored for + user-scope as alerting is disabled for them. example: - mona - lisa @@ -1251,15 +1883,24 @@ components: - prevent_further_usage - budget_alerting responses: - get_all_budgets: - description: Response when getting all budgets + billing_ai_credit_usage_report_org: + description: Response when getting a billing AI credit usage report content: application/json: schema: - $ref: '#/components/schemas/get_all_budgets' + $ref: '#/components/schemas/billing-ai-credit-usage-report-org' examples: default: - $ref: '#/components/examples/get_all_budgets' + $ref: '#/components/examples/billing-ai-credit-usage-report-org' + bad_request: + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + application/scim+json: + schema: + $ref: '#/components/schemas/scim-error' forbidden: description: Forbidden content: @@ -1278,24 +1919,6 @@ components: application/json: schema: $ref: '#/components/schemas/basic-error' - budget: - description: Response when updating a budget - content: - application/json: - schema: - $ref: '#/components/schemas/get-budget' - examples: - default: - $ref: '#/components/examples/get-budget' - bad_request: - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/basic-error' - application/scim+json: - schema: - $ref: '#/components/schemas/scim-error' service_unavailable: description: Service unavailable content: @@ -1309,6 +1932,17 @@ components: type: string documentation_url: type: string + get_all_budgets: + description: Response when getting all budgets + content: + application/json: + schema: + $ref: '#/components/schemas/get_all_budgets' + examples: + default: + $ref: '#/components/examples/get_all_budgets' + with_user_filter: + $ref: '#/components/examples/get_all_budgets_with_user_filter' requires_authentication: description: Requires authentication content: @@ -1321,6 +1955,15 @@ components: application/json: schema: $ref: '#/components/schemas/validation-error' + budget: + description: Response when updating a budget + content: + application/json: + schema: + $ref: '#/components/schemas/get-budget' + examples: + default: + $ref: '#/components/examples/get-budget' delete-budget: description: Response when deleting a budget content: @@ -1357,6 +2000,15 @@ components: examples: default: $ref: '#/components/examples/billing-usage-summary-report-org' + billing_ai_credit_usage_report_user: + description: Response when getting a billing AI credit usage report + content: + application/json: + schema: + $ref: '#/components/schemas/billing-ai-credit-usage-report-user' + examples: + default: + $ref: '#/components/examples/billing-ai-credit-usage-report-user' billing_premium_request_usage_report_user: description: Response when getting a billing premium request usage report content: @@ -1392,13 +2044,6 @@ components: required: true schema: type: string - budget: - name: budget_id - description: The ID corresponding to the budget. - in: path - required: true - schema: - type: string billing-usage-report-year: name: year description: >- @@ -1450,6 +2095,13 @@ components: required: false schema: type: string + budget: + name: budget_id + description: The ID corresponding to the budget. + in: path + required: true + schema: + type: string billing-usage-report-month: name: month description: >- @@ -1482,6 +2134,20 @@ components: schema: type: string examples: + create-budget: + value: + message: Budget successfully created. + budget: + id: f5236c62-157f-4d8f-a79e-ffb91058ee97 + budget_type: ProductPricing + budget_product_sku: actions + budget_scope: organization + budget_entity_name: example-organization + budget_amount: 100 + prevent_further_usage: true + budget_alerting: + will_alert: false + alert_recipients: [] update-budget: value: message: Budget successfully updated. @@ -1491,13 +2157,30 @@ components: budget_product_sku: actions_linux budget_scope: repository budget_entity_name: org-name/example-repo-name - budget_amount: 0 + budget_amount: 10 prevent_further_usage: true budget_alerting: will_alert: true alert_recipients: - mona - lisa + billing-ai-credit-usage-report-org: + value: + timePeriod: + year: 2025 + organization: GitHub + usageItems: + - product: Copilot + sku: Copilot AI Credits + model: GPT-5 + unitType: credits + pricePerUnit: 0.01 + grossQuantity: 100 + grossAmount: 1 + discountQuantity: 0 + discountAmount: 0 + netQuantity: 100 + netAmount: 1 get_all_budgets: value: budgets: @@ -1536,6 +2219,39 @@ components: alert_recipients: [] has_next_page: false total_count: 3 + get_all_budgets_with_user_filter: + value: + budgets: + - id: 2066deda-923f-43f9-88d2-62395a28c0cdd + budget_type: ProductPricing + budget_product_skus: + - actions + budget_scope: multi_user_customer + budget_amount: 1000 + prevent_further_usage: true + budget_alerting: + will_alert: true + alert_recipients: + - enterprise-admin + - billing-manager + - id: f47ac10b-58cc-4372-a567-0e02b2c3d479 + budget_type: BundlePricing + budget_product_skus: + - ai_credits + budget_scope: user + budget_amount: 500 + prevent_further_usage: true + budget_alerting: + will_alert: true + alert_recipients: + - org-owner + user: octocat + effective_budget: + id: 9a7d04e8-6600-44f5-94ef-65ca92b95f0b + budget_amount: 1000 + consumed_amount: 42 + has_next_page: false + total_count: 2 get-budget: value: id: 2066deda-923f-43f9-88d2-62395a28c0cdd @@ -1601,6 +2317,23 @@ components: discountAmount: 0 netQuantity: 1000 netAmount: 8 + billing-ai-credit-usage-report-user: + value: + timePeriod: + year: 2025 + user: monalisa + usageItems: + - product: Copilot AI Credits + sku: AI Credit + model: GPT-5 + unitType: ai-credits + pricePerUnit: 0.01 + grossQuantity: 100 + grossAmount: 1 + discountQuantity: 0 + discountAmount: 0 + netQuantity: 100 + netAmount: 1 billing-premium-request-usage-report-user: value: timePeriod: @@ -1648,6 +2381,27 @@ components: netQuantity: 1000 netAmount: 8 x-stackQL-resources: + org_ai_credit_usage: + id: github.billing.org_ai_credit_usage + name: org_ai_credit_usage + title: Org Ai Credit Usage + methods: + get_github_billing_ai_credit_usage_report_org: + operation: + $ref: >- + #/paths/~1organizations~1{org}~1settings~1billing~1ai_credit~1usage/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.usageItems + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/org_ai_credit_usage/methods/get_github_billing_ai_credit_usage_report_org + insert: [] + update: [] + delete: [] + replace: [] org_budgets: id: github.billing.org_budgets name: org_budgets @@ -1659,6 +2413,15 @@ components: response: mediaType: application/json openAPIDocKey: '200' + create_organization_budget: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1organizations~1{org}~1settings~1billing~1budgets/post' + response: + mediaType: application/json + openAPIDocKey: '200' get_budget_org: operation: $ref: >- @@ -1689,7 +2452,9 @@ components: #/components/x-stackQL-resources/org_budgets/methods/get_budget_org - $ref: >- #/components/x-stackQL-resources/org_budgets/methods/get_all_budgets_org - insert: [] + insert: + - $ref: >- + #/components/x-stackQL-resources/org_budgets/methods/create_organization_budget update: - $ref: >- #/components/x-stackQL-resources/org_budgets/methods/update_budget_org @@ -1757,6 +2522,27 @@ components: update: [] delete: [] replace: [] + ai_credit_usage: + id: github.billing.ai_credit_usage + name: ai_credit_usage + title: Ai Credit Usage + methods: + get_github_billing_ai_credit_usage_report_user: + operation: + $ref: >- + #/paths/~1users~1{username}~1settings~1billing~1ai_credit~1usage/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.usageItems + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/ai_credit_usage/methods/get_github_billing_ai_credit_usage_report_user + insert: [] + update: [] + delete: [] + replace: [] premium_request_usage: id: github.billing.premium_request_usage name: premium_request_usage @@ -1818,3 +2604,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/campaigns.yaml b/providers/src/github/v00.00.00000/services/campaigns.yaml index 6898a0bc..f1b93c27 100644 --- a/providers/src/github/v00.00.00000/services/campaigns.yaml +++ b/providers/src/github/v00.00.00000/services/campaigns.yaml @@ -699,6 +699,20 @@ components: enum: - enterprise - organization + access_source: + description: >- + How the team's access to the repository was granted. This property + is only + + present when the team is returned in a repository context, such as + + `GET /repos/{owner}/{repo}/teams`. + type: string + enum: + - direct + - organization + - enterprise + example: direct organization_id: type: integer description: Unique identifier of the organization to which this team belongs @@ -1034,3 +1048,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/checks.yaml b/providers/src/github/v00.00.00000/services/checks.yaml index f209fd5f..b0a00788 100644 --- a/providers/src/github/v00.00.00000/services/checks.yaml +++ b/providers/src/github/v00.00.00000/services/checks.yaml @@ -2788,6 +2788,7 @@ components: required: true schema: type: integer + format: int64 per-page: name: per_page description: >- @@ -4102,3 +4103,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/classroom.yaml b/providers/src/github/v00.00.00000/services/classroom.yaml index b7efd5cd..9bd49e92 100644 --- a/providers/src/github/v00.00.00000/services/classroom.yaml +++ b/providers/src/github/v00.00.00000/services/classroom.yaml @@ -6,8 +6,17 @@ info: paths: /assignments/{assignment_id}: get: - summary: Get an assignment + summary: Closing down - Get an assignment description: >- + > [!WARNING] + + > **Closing down notice:** This operation is closing down and will be + removed on August 28, 2026. + + > For more information, see the [GitHub Classroom sunset + notice](https://gh.io/classroom-sunset). + + Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. @@ -16,7 +25,8 @@ paths: operationId: classroom/get-an-assignment externalDocs: description: API method documentation - url: https://docs.github.com/rest/classroom/classroom#get-an-assignment + url: >- + https://docs.github.com/rest/classroom/classroom#closing-down---get-an-assignment parameters: - $ref: '#/components/parameters/assignment-id' responses: @@ -31,15 +41,29 @@ paths: $ref: '#/components/examples/classroom-assignment' '404': $ref: '#/components/responses/not_found' + '410': + $ref: '#/components/responses/gone' x-github: enabledForGitHubApps: true category: classroom subcategory: classroom + deprecationDate: '2026-05-22' + removalDate: '2026-08-28' + deprecated: true x-stackQL-resource: classroom /assignments/{assignment_id}/accepted_assignments: get: - summary: List accepted assignments for an assignment + summary: Closing down - List accepted assignments for an assignment description: >- + > [!WARNING] + + > **Closing down notice:** This operation is closing down and will be + removed on August 28, 2026. + + > For more information, see the [GitHub Classroom sunset + notice](https://gh.io/classroom-sunset). + + Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub @@ -50,7 +74,7 @@ paths: externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/classroom/classroom#list-accepted-assignments-for-an-assignment + https://docs.github.com/rest/classroom/classroom#closing-down---list-accepted-assignments-for-an-assignment parameters: - $ref: '#/components/parameters/assignment-id' - $ref: '#/components/parameters/page' @@ -67,15 +91,29 @@ paths: examples: default: $ref: '#/components/examples/classroom-accepted-assignment' + '410': + $ref: '#/components/responses/gone' x-github: enabledForGitHubApps: true category: classroom subcategory: classroom + deprecationDate: '2026-05-22' + removalDate: '2026-08-28' + deprecated: true x-stackQL-resource: classroom /assignments/{assignment_id}/grades: get: - summary: Get assignment grades + summary: Closing down - Get assignment grades description: >- + > [!WARNING] + + > **Closing down notice:** This operation is closing down and will be + removed on August 28, 2026. + + > For more information, see the [GitHub Classroom sunset + notice](https://gh.io/classroom-sunset). + + Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. @@ -84,7 +122,8 @@ paths: operationId: classroom/get-assignment-grades externalDocs: description: API method documentation - url: https://docs.github.com/rest/classroom/classroom#get-assignment-grades + url: >- + https://docs.github.com/rest/classroom/classroom#closing-down---get-assignment-grades parameters: - $ref: '#/components/parameters/assignment-id' responses: @@ -101,15 +140,29 @@ paths: $ref: '#/components/examples/classroom-assignment-grades' '404': $ref: '#/components/responses/not_found' + '410': + $ref: '#/components/responses/gone' x-github: enabledForGitHubApps: true category: classroom subcategory: classroom + deprecationDate: '2026-05-22' + removalDate: '2026-08-28' + deprecated: true x-stackQL-resource: classroom /classrooms: get: - summary: List classrooms + summary: Closing down - List classrooms description: >- + > [!WARNING] + + > **Closing down notice:** This operation is closing down and will be + removed on August 28, 2026. + + > For more information, see the [GitHub Classroom sunset + notice](https://gh.io/classroom-sunset). + + Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. @@ -118,7 +171,8 @@ paths: operationId: classroom/list-classrooms externalDocs: description: API method documentation - url: https://docs.github.com/rest/classroom/classroom#list-classrooms + url: >- + https://docs.github.com/rest/classroom/classroom#closing-down---list-classrooms parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per-page' @@ -134,15 +188,29 @@ paths: examples: default: $ref: '#/components/examples/simple-classroom' + '410': + $ref: '#/components/responses/gone' x-github: enabledForGitHubApps: true category: classroom subcategory: classroom + deprecationDate: '2026-05-22' + removalDate: '2026-08-28' + deprecated: true x-stackQL-resource: classroom /classrooms/{classroom_id}: get: - summary: Get a classroom + summary: Closing down - Get a classroom description: >- + > [!WARNING] + + > **Closing down notice:** This operation is closing down and will be + removed on August 28, 2026. + + > For more information, see the [GitHub Classroom sunset + notice](https://gh.io/classroom-sunset). + + Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. @@ -151,7 +219,8 @@ paths: operationId: classroom/get-a-classroom externalDocs: description: API method documentation - url: https://docs.github.com/rest/classroom/classroom#get-a-classroom + url: >- + https://docs.github.com/rest/classroom/classroom#closing-down---get-a-classroom parameters: - $ref: '#/components/parameters/classroom-id' responses: @@ -166,15 +235,29 @@ paths: $ref: '#/components/examples/classroom' '404': $ref: '#/components/responses/not_found' + '410': + $ref: '#/components/responses/gone' x-github: enabledForGitHubApps: true category: classroom subcategory: classroom + deprecationDate: '2026-05-22' + removalDate: '2026-08-28' + deprecated: true x-stackQL-resource: classroom /classrooms/{classroom_id}/assignments: get: - summary: List assignments for a classroom + summary: Closing down - List assignments for a classroom description: >- + > [!WARNING] + + > **Closing down notice:** This operation is closing down and will be + removed on August 28, 2026. + + > For more information, see the [GitHub Classroom sunset + notice](https://gh.io/classroom-sunset). + + Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. @@ -184,7 +267,7 @@ paths: externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/classroom/classroom#list-assignments-for-a-classroom + https://docs.github.com/rest/classroom/classroom#closing-down---list-assignments-for-a-classroom parameters: - $ref: '#/components/parameters/classroom-id' - $ref: '#/components/parameters/page' @@ -201,10 +284,15 @@ paths: examples: default: $ref: '#/components/examples/simple-classroom-assignment' + '410': + $ref: '#/components/responses/gone' x-github: enabledForGitHubApps: true category: classroom subcategory: classroom + deprecationDate: '2026-05-22' + removalDate: '2026-08-28' + deprecated: true x-stackQL-resource: classroom components: schemas: @@ -681,6 +769,12 @@ components: application/json: schema: $ref: '#/components/schemas/basic-error' + gone: + description: Gone + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' parameters: assignment-id: name: assignment_id @@ -962,3 +1056,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/code_quality.yaml b/providers/src/github/v00.00.00000/services/code_quality.yaml new file mode 100644 index 00000000..8f22808d --- /dev/null +++ b/providers/src/github/v00.00.00000/services/code_quality.yaml @@ -0,0 +1,726 @@ +openapi: 3.0.3 +info: + title: code_quality API + description: github API + version: 1.1.4 +paths: + /repos/{owner}/{repo}/code-quality/findings: + get: + summary: List code quality findings for a repository + description: >- + Lists code quality findings for a repository. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint with private or public repositories, or the + `public_repo` scope to use this endpoint with only public repositories. + tags: + - code-quality + operationId: code-quality/list-findings-for-repo + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/code-quality/code-quality#list-code-quality-findings-for-a-repository + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/per-page' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/pagination-before' + - $ref: '#/components/parameters/pagination-after' + - name: state + description: >- + If specified, only code quality findings with this state will be + returned. + in: query + required: false + schema: + type: string + enum: + - open + - dismissed + responses: + '200': + description: Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/code-quality-finding' + examples: + default: + $ref: '#/components/examples/code-quality-finding-items' + '403': + $ref: '#/components/responses/code_quality_forbidden_read' + '404': + $ref: '#/components/responses/not_found' + '503': + $ref: '#/components/responses/service_unavailable' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: code-quality + subcategory: code-quality + x-stackQL-resource: code_quality + /repos/{owner}/{repo}/code-quality/findings/{finding_number}: + get: + summary: Get a code quality finding + description: >- + Gets a single code quality finding. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint with private or public repositories, or the + `public_repo` scope to use this endpoint with only public repositories. + tags: + - code-quality + operationId: code-quality/get-finding + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/code-quality/code-quality#get-a-code-quality-finding + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/code-quality-finding-number' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/code-quality-finding' + examples: + default: + $ref: '#/components/examples/code-quality-finding' + '403': + $ref: '#/components/responses/code_quality_forbidden_read' + '404': + $ref: '#/components/responses/not_found' + '503': + $ref: '#/components/responses/service_unavailable' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: code-quality + subcategory: code-quality + x-stackQL-resource: code_quality + /repos/{owner}/{repo}/code-quality/setup: + get: + summary: Get a code quality setup configuration + description: >- + Gets a code quality setup configuration. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint with private or public repositories, or the + `public_repo` scope to use this endpoint with only public repositories. + tags: + - code-quality + operationId: code-quality/get-setup + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/code-quality/code-quality#get-a-code-quality-setup-configuration + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/code-quality-setup' + examples: + default: + $ref: '#/components/examples/code-quality-setup' + '403': + $ref: '#/components/responses/code_quality_forbidden_read' + '404': + $ref: '#/components/responses/not_found' + '503': + $ref: '#/components/responses/service_unavailable' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: code-quality + subcategory: code-quality + x-stackQL-resource: code_quality + patch: + summary: Update a code quality setup configuration + description: >- + Updates a code quality setup configuration. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint with private or public repositories, or the + `public_repo` scope to use this endpoint with only public repositories. + tags: + - code-quality + operationId: code-quality/update-setup + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/code-quality/code-quality#update-a-code-quality-setup-configuration + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/code-quality-setup-update' + examples: + default: + $ref: '#/components/examples/code-quality-setup-update' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/empty-object' + examples: + default: + value: null + '202': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/code-quality-setup-update-response' + examples: + default: + $ref: '#/components/examples/code-quality-setup-update-response' + '403': + $ref: '#/components/responses/code_quality_forbidden_write' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/code_quality_conflict' + '422': + $ref: '#/components/responses/code_quality_invalid_state' + '503': + $ref: '#/components/responses/service_unavailable' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: code-quality + subcategory: code-quality + x-stackQL-resource: code_quality +components: + schemas: + code-quality-finding: + description: Code quality finding + type: object + properties: + number: + description: The finding number. + type: integer + state: + description: State of the code quality finding. + type: string + enum: + - open + - dismissed + url: + description: The REST API URL of the code quality finding resource. + type: string + format: uri + rule: + $ref: '#/components/schemas/code-quality-finding-rule' + location: + $ref: '#/components/schemas/code-quality-finding-location' + message: + $ref: '#/components/schemas/code-quality-finding-message' + created_at: + description: The time the code quality finding was created. + type: string + format: date-time + required: + - number + - state + - url + - rule + - location + - message + code-quality-setup: + description: Configuration for code quality setup. + type: object + properties: + state: + description: Code quality setup has been configured or not. + type: string + enum: + - configured + - not-configured + languages: + description: Languages to be analyzed. + type: array + items: + type: string + enum: + - csharp + - go + - java-kotlin + - javascript-typescript + - python + - ruby + - rust + runner_type: + description: Runner type to be used. + nullable: true + type: string + enum: + - standard + - labeled + runner_label: + description: Runner label to be used if the runner type is labeled. + nullable: true + type: string + example: code-scanning + updated_at: + description: Timestamp of latest configuration update. + nullable: true + type: string + format: date-time + example: '2023-12-06T14:20:20.000Z' + schedule: + description: The frequency of the periodic analysis. + nullable: true + type: string + enum: + - weekly + ai_findings_option: + description: The AI findings configuration for the repository. + nullable: true + type: string + enum: + - disabled + - on_push + code-quality-setup-update: + description: Configuration for code quality setup. + type: object + properties: + state: + description: The desired state of code quality setup. + type: string + enum: + - configured + - not-configured + runner_type: + description: Runner type to be used. + type: string + enum: + - standard + - labeled + runner_label: + nullable: true + description: Runner label to be used if the runner type is labeled. + type: string + example: code-scanning + languages: + description: Languages to be analyzed. + type: array + items: + type: string + enum: + - csharp + - go + - java-kotlin + - javascript-typescript + - python + - ruby + ai_findings_option: + description: Whether AI findings run for Code Quality on this repository. + type: string + enum: + - disabled + - on_push + additionalProperties: false + required: + - state + - runner_type + - runner_label + - languages + - ai_findings_option + empty-object: + title: Empty Object + description: An object without any properties. + type: object + properties: {} + additionalProperties: false + code-quality-setup-update-response: + description: >- + You can use `run_url` to track the status of the run. This includes a + property status and conclusion. + + You should not rely on this always being an actions workflow run object. + type: object + properties: + run_id: + description: ID of the corresponding run. + type: integer + run_url: + description: URL of the corresponding run. + type: string + code-quality-finding-rule: + description: Code quality rule + type: object + properties: + id: + description: A unique identifier for the rule used to detect the finding. + type: string + title: + description: The name of the rule used to detect the finding. + type: string + description: + description: A short description of the rule used to detect the finding. + type: string + help: + description: A detailed description of the rule used to detect the finding. + type: string + severity: + description: The severity of the rule used to detect the finding. + type: string + enum: + - error + - warning + - note + - none + category: + description: The category of the rule used to detect the finding. + type: string + enum: + - none + - maintainability + - reliability + required: + - id + - title + - description + - severity + - category + code-quality-finding-location: + description: Code quality file location + type: object + properties: + path: + description: The file path where the finding was detected. + type: string + start_line: + description: The line number where the finding starts. + type: integer + start_column: + description: The column number where the finding starts. + type: integer + end_line: + description: The line number where the finding ends. + type: integer + end_column: + description: The column number where the finding ends. + type: integer + required: + - path + code-quality-finding-message: + description: Code quality finding message + type: object + properties: + text: + description: The message text of the code quality finding. + type: string + markdown: + description: The message text of the code quality finding in markdown format. + type: string + required: + - text + - markdown + basic-error: + title: Basic Error + description: Basic Error + type: object + properties: + message: + type: string + documentation_url: + type: string + url: + type: string + status: + type: string + responses: + code_quality_forbidden_read: + description: >- + Response if the user is not authorized to access Code quality for this + repository. + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + not_found: + description: Resource not found + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + service_unavailable: + description: Service unavailable + content: + application/json: + schema: + type: object + properties: + code: + type: string + message: + type: string + documentation_url: + type: string + code_quality_forbidden_write: + description: >- + Response if the repository is archived or if Code quality is not enabled + for this repository + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + code_quality_conflict: + description: >- + Response if there is already a code quality setup configuration update + in progress + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + code_quality_invalid_state: + description: Response if the configuration change cannot be made + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + parameters: + owner: + name: owner + description: The account owner of the repository. The name is not case sensitive. + in: path + required: true + schema: + type: string + repo: + name: repo + description: >- + The name of the repository without the `.git` extension. The name is not + case sensitive. + in: path + required: true + schema: + type: string + per-page: + name: per_page + description: >- + The number of results per page (max 100). For more information, see + "[Using pagination in the REST + API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + in: query + schema: + type: integer + default: 30 + direction: + name: direction + description: The direction to sort the results by. + in: query + required: false + schema: + type: string + enum: + - asc + - desc + default: desc + pagination-before: + name: before + description: >- + A cursor, as given in the [Link + header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). + If specified, the query only searches for results before this cursor. + For more information, see "[Using pagination in the REST + API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + in: query + required: false + schema: + type: string + pagination-after: + name: after + description: >- + A cursor, as given in the [Link + header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). + If specified, the query only searches for results after this cursor. For + more information, see "[Using pagination in the REST + API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + in: query + required: false + schema: + type: string + code-quality-finding-number: + name: finding_number + in: path + description: The number that identifies a finding. + required: true + schema: + type: integer + examples: + code-quality-finding-items: + value: + - number: 42 + state: open + url: >- + https://api.github.com/repos/octocat/hello-world/code-quality/findings/42 + rule: + id: java/useless-null-check + title: Useless null check + description: >- + Checking whether an expression is null when that expression cannot + possibly be null is useless. + severity: warning + category: maintainability + location: + path: java/UselessNullCheck.java + start_line: 9 + start_column: 4 + end_line: 9 + end_column: 18 + message: + text: >- + This check is useless. o cannot be null at this check, since it is + guarded by instanceof. + markdown: >- + This check is useless. [o](java/UselessNullCheck.java#L9C4-L9C18) + cannot be null at this check, since it is guarded by + [...instanceof...](java/UselessNullCheck.java#L7C13-L7C25). + created_at: '2026-01-23T12:34:56Z' + code-quality-finding: + value: + number: 42 + state: open + url: >- + https://api.github.com/repos/octocat/hello-world/code-quality/findings/42 + rule: + id: java/useless-null-check + title: Useless null check + description: >- + Checking whether an expression is null when that expression cannot + possibly be null is useless. + help: >- + # Useless null check + + Sometimes you can guarantee that a particular variable will never be + null. For example when that variable has just been assigned a newly + created object or is the exception caught by a `catch` clause. A + null check on such a variable is ... + severity: warning + category: maintainability + location: + path: java/UselessNullCheck.java + start_line: 9 + start_column: 4 + end_line: 9 + end_column: 18 + message: + text: >- + This check is useless. o cannot be null at this check, since it is + guarded by instanceof. + markdown: >- + This check is useless. [o](java/UselessNullCheck.java#L9C4-L9C18) + cannot be null at this check, since it is guarded by + [...instanceof...](java/UselessNullCheck.java#L7C13-L7C25). + created_at: '2026-01-23T12:34:56Z' + code-quality-setup: + value: + state: configured + languages: + - javascript-typescript + - python + runner_type: standard + runner_label: null + updated_at: '2023-01-01T00:00:00Z' + schedule: weekly + ai_findings_option: on_push + code-quality-setup-update: + value: + state: configured + languages: + - javascript-typescript + - python + - ruby + code-quality-setup-update-response: + value: + run_id: 42 + run_url: https://api.github.com/repos/octocat/hello-world/actions/runs/42 + x-stackQL-resources: + findings: + id: github.code_quality.findings + name: findings + title: Findings + methods: + list_findings_for_repo: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1code-quality~1findings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_finding: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1code-quality~1findings~1{finding_number}/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/findings/methods/get_finding' + - $ref: >- + #/components/x-stackQL-resources/findings/methods/list_findings_for_repo + insert: [] + update: [] + delete: [] + replace: [] + setup: + id: github.code_quality.setup + name: setup + title: Setup + methods: + get_setup: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1code-quality~1setup/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_setup: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1code-quality~1setup/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/setup/methods/get_setup' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/setup/methods/update_setup' + delete: [] + replace: [] +servers: + - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/code_scanning.yaml b/providers/src/github/v00.00.00000/services/code_scanning.yaml index 58725dab..bbb49e65 100644 --- a/providers/src/github/v00.00.00000/services/code_scanning.yaml +++ b/providers/src/github/v00.00.00000/services/code_scanning.yaml @@ -326,7 +326,8 @@ paths: get: summary: Get the status of an autofix for a code scanning alert description: >- - Gets the status and description of an autofix for a code scanning alert. + Gets the status and description of an autofix for a code scanning alert + on the repository's default branch. OAuth app tokens and personal access tokens (classic) need the @@ -360,8 +361,8 @@ paths: $ref: '#/components/responses/code_scanning_forbidden_read' '404': $ref: '#/components/responses/not_found' - '503': - $ref: '#/components/responses/service_unavailable' + '500': + $ref: '#/components/responses/internal_error' x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -371,7 +372,8 @@ paths: post: summary: Create an autofix for a code scanning alert description: >- - Creates an autofix for a code scanning alert. + Creates an autofix for a code scanning alert from the repository's + default branch. If a new autofix is to be created as a result of this request or is @@ -425,8 +427,8 @@ paths: $ref: '#/components/responses/not_found' '422': description: Unprocessable Entity - '503': - $ref: '#/components/responses/service_unavailable' + '500': + $ref: '#/components/responses/internal_error' x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -437,7 +439,8 @@ paths: post: summary: Commit an autofix for a code scanning alert description: >- - Commits an autofix for a code scanning alert. + Commits an autofix for a code scanning alert from the repository's + default branch. If an autofix is committed as a result of this request, then this @@ -1760,6 +1763,11 @@ components: type: array items: $ref: '#/components/schemas/simple-user' + linked_pull_requests: + description: Pull requests linked to this alert. + type: array + items: + $ref: '#/components/schemas/pull-request-simple' required: - number - created_at @@ -1791,6 +1799,7 @@ components: - false positive - won't fix - used in tests + - mitigated code-scanning-alert-dismissed-comment: type: string description: The dismissal comment associated with the dismissal of the alert. @@ -2386,8 +2395,8 @@ components: description: The SHA of the commit to which the analysis you are uploading relates. type: string minLength: 40 - maxLength: 40 - pattern: ^[0-9a-fA-F]+$ + maxLength: 64 + pattern: ^([0-9a-fA-F]{40}(?:[0-9a-fA-F]{24})?)$ code-scanning-ref-full: type: string description: >- @@ -3155,6 +3164,330 @@ components: nullable: true type: string description: A link to the documentation for the rule used to detect the alert. + pull-request-simple: + title: Pull Request Simple + description: Pull Request Simple + type: object + properties: + url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/pulls/1347 + id: + type: integer + format: int64 + example: 1 + node_id: + type: string + example: MDExOlB1bGxSZXF1ZXN0MQ== + html_url: + type: string + format: uri + example: https://github.com/octocat/Hello-World/pull/1347 + diff_url: + type: string + format: uri + example: https://github.com/octocat/Hello-World/pull/1347.diff + patch_url: + type: string + format: uri + example: https://github.com/octocat/Hello-World/pull/1347.patch + issue_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/issues/1347 + commits_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + review_comments_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + review_comment_url: + type: string + example: >- + https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} + comments_url: + type: string + format: uri + example: >- + https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + statuses_url: + type: string + format: uri + example: >- + https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + number: + type: integer + example: 1347 + state: + type: string + example: open + locked: + type: boolean + example: true + title: + type: string + example: new-feature + user: + $ref: '#/components/schemas/nullable-simple-user' + body: + type: string + example: Please pull these awesome changes + nullable: true + labels: + type: array + items: + type: object + properties: + id: + type: integer + format: int64 + node_id: + type: string + url: + type: string + name: + type: string + description: + type: string + color: + type: string + default: + type: boolean + required: + - id + - node_id + - url + - name + - description + - color + - default + milestone: + $ref: '#/components/schemas/nullable-milestone' + active_lock_reason: + type: string + example: too heated + nullable: true + created_at: + type: string + format: date-time + example: '2011-01-26T19:01:12Z' + updated_at: + type: string + format: date-time + example: '2011-01-26T19:01:12Z' + closed_at: + type: string + format: date-time + example: '2011-01-26T19:01:12Z' + nullable: true + merged_at: + type: string + format: date-time + example: '2011-01-26T19:01:12Z' + nullable: true + merge_commit_sha: + type: string + example: e5bd3914e2e596debea16f433f57875b5b90bcd6 + nullable: true + assignee: + $ref: '#/components/schemas/nullable-simple-user' + assignees: + type: array + items: + $ref: '#/components/schemas/simple-user' + requested_reviewers: + type: array + items: + $ref: '#/components/schemas/simple-user' + requested_teams: + type: array + items: + $ref: '#/components/schemas/team' + head: + type: object + properties: + label: + type: string + ref: + type: string + repo: + $ref: '#/components/schemas/repository' + sha: + type: string + user: + $ref: '#/components/schemas/nullable-simple-user' + required: + - label + - ref + - repo + - sha + - user + base: + type: object + properties: + label: + type: string + ref: + type: string + repo: + $ref: '#/components/schemas/repository' + sha: + type: string + user: + $ref: '#/components/schemas/nullable-simple-user' + required: + - label + - ref + - repo + - sha + - user + _links: + type: object + properties: + comments: + $ref: '#/components/schemas/link' + commits: + $ref: '#/components/schemas/link' + statuses: + $ref: '#/components/schemas/link' + html: + $ref: '#/components/schemas/link' + issue: + $ref: '#/components/schemas/link' + review_comments: + $ref: '#/components/schemas/link' + review_comment: + $ref: '#/components/schemas/link' + self: + $ref: '#/components/schemas/link' + required: + - comments + - commits + - statuses + - html + - issue + - review_comments + - review_comment + - self + author_association: + $ref: '#/components/schemas/author-association' + auto_merge: + $ref: '#/components/schemas/auto-merge' + stack: + $ref: '#/components/schemas/pull-request-stack' + draft: + description: Indicates whether or not the pull request is a draft. + example: false + type: boolean + required: + - _links + - assignee + - labels + - base + - body + - closed_at + - comments_url + - commits_url + - created_at + - diff_url + - head + - html_url + - id + - node_id + - issue_url + - merge_commit_sha + - merged_at + - milestone + - number + - patch_url + - review_comment_url + - review_comments_url + - statuses_url + - state + - locked + - title + - updated_at + - url + - user + - author_association + - auto_merge + x-github-breaking-changes: + - changeset: remove_pull_request_merge_commit_sha + patch: + properties: + merge_commit_sha: null + required: + - _links + - assignee + - labels + - base + - body + - closed_at + - comments_url + - commits_url + - created_at + - diff_url + - head + - html_url + - id + - node_id + - issue_url + - merged_at + - milestone + - number + - patch_url + - review_comment_url + - review_comments_url + - statuses_url + - state + - locked + - title + - updated_at + - url + - user + - author_association + - auto_merge + type: object + version: '2026-03-10' + - changeset: remove_singular_assignee_from_issues_and_pull_requests + patch: + properties: + assignee: null + required: + - _links + - labels + - base + - body + - closed_at + - comments_url + - commits_url + - created_at + - diff_url + - head + - html_url + - id + - node_id + - issue_url + - merged_at + - milestone + - number + - patch_url + - review_comment_url + - review_comments_url + - statuses_url + - state + - locked + - title + - updated_at + - url + - user + - author_association + - auto_merge + type: object + version: '2026-03-10' scim-error: title: Scim Error description: Scim Error @@ -3327,60 +3660,1053 @@ components: nullable: true type: string description: The version of the tool used to generate the code scanning analysis. - responses: - not_found: - description: Resource not found - content: - application/json: - schema: - $ref: '#/components/schemas/basic-error' - service_unavailable: - description: Service unavailable - content: - application/json: - schema: - type: object - properties: - code: - type: string - message: - type: string - documentation_url: - type: string - not_modified: - description: Not modified - code_scanning_forbidden_read: - description: Response if GitHub Advanced Security is not enabled for this repository - content: - application/json: - schema: - $ref: '#/components/schemas/basic-error' - bad_request: - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/basic-error' - application/scim+json: - schema: - $ref: '#/components/schemas/scim-error' - code_scanning_forbidden_write: + nullable-milestone: + title: Milestone + description: A collection of related issues and pull requests. + type: object + properties: + url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/milestones/1 + html_url: + type: string + format: uri + example: https://github.com/octocat/Hello-World/milestones/v1.0 + labels_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + id: + type: integer + example: 1002604 + node_id: + type: string + example: MDk6TWlsZXN0b25lMTAwMjYwNA== + number: + description: The number of the milestone. + type: integer + example: 42 + state: + description: The state of the milestone. + example: open + type: string + enum: + - open + - closed + default: open + title: + description: The title of the milestone. + example: v1.0 + type: string + description: + type: string + example: Tracking milestone for version 1.0 + nullable: true + creator: + $ref: '#/components/schemas/nullable-simple-user' + open_issues: + type: integer + example: 4 + closed_issues: + type: integer + example: 8 + created_at: + type: string + format: date-time + example: '2011-04-10T20:09:31Z' + updated_at: + type: string + format: date-time + example: '2014-03-03T18:58:10Z' + closed_at: + type: string + format: date-time + example: '2013-02-12T13:22:01Z' + nullable: true + due_on: + type: string + format: date-time + example: '2012-10-09T23:39:01Z' + nullable: true + required: + - closed_issues + - creator + - description + - due_on + - closed_at + - id + - node_id + - labels_url + - html_url + - number + - open_issues + - state + - title + - url + - created_at + - updated_at + nullable: true + team: + title: Team description: >- - Response if the repository is archived or if GitHub Advanced Security is - not enabled for this repository - content: - application/json: - schema: - $ref: '#/components/schemas/basic-error' - code_scanning_bad_request: - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/basic-error' - examples: - default: - $ref: '#/components/examples/code-scanning-bad-request' + Groups of organization members that gives permissions on specified + repositories. + type: object + properties: + id: + type: integer + node_id: + type: string + name: + type: string + slug: + type: string + description: + type: string + nullable: true + privacy: + type: string + notification_setting: + type: string + permission: + type: string + permissions: + type: object + properties: + pull: + type: boolean + triage: + type: boolean + push: + type: boolean + maintain: + type: boolean + admin: + type: boolean + required: + - pull + - triage + - push + - maintain + - admin + url: + type: string + format: uri + html_url: + type: string + format: uri + example: https://github.com/orgs/rails/teams/core + members_url: + type: string + repositories_url: + type: string + format: uri + type: + description: The ownership type of the team + type: string + enum: + - enterprise + - organization + access_source: + description: >- + How the team's access to the repository was granted. This property + is only + + present when the team is returned in a repository context, such as + + `GET /repos/{owner}/{repo}/teams`. + type: string + enum: + - direct + - organization + - enterprise + example: direct + organization_id: + type: integer + description: Unique identifier of the organization to which this team belongs + example: 37 + enterprise_id: + type: integer + description: Unique identifier of the enterprise to which this team belongs + example: 42 + parent: + $ref: '#/components/schemas/nullable-team-simple' + required: + - id + - node_id + - url + - members_url + - name + - description + - permission + - html_url + - repositories_url + - slug + - parent + - type + repository: + title: Repository + description: A repository on GitHub. + type: object + properties: + id: + description: Unique identifier of the repository + example: 42 + type: integer + format: int64 + node_id: + type: string + example: MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + name: + description: The name of the repository. + type: string + example: Team Environment + full_name: + type: string + example: octocat/Hello-World + license: + $ref: '#/components/schemas/nullable-license-simple' + forks: + type: integer + permissions: + type: object + properties: + admin: + type: boolean + pull: + type: boolean + triage: + type: boolean + push: + type: boolean + maintain: + type: boolean + required: + - admin + - pull + - push + owner: + $ref: '#/components/schemas/simple-user' + private: + description: Whether the repository is private or public. + default: false + type: boolean + html_url: + type: string + format: uri + example: https://github.com/octocat/Hello-World + description: + type: string + example: This your first repo! + nullable: true + fork: + type: boolean + url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World + archive_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + assignees_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/assignees{/user} + blobs_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} + branches_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/branches{/branch} + collaborators_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + comments_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/comments{/number} + commits_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/commits{/sha} + compare_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + contents_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/contents/{+path} + contributors_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/contributors + deployments_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/deployments + downloads_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/downloads + events_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/events + forks_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/forks + git_commits_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + git_refs_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} + git_tags_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} + git_url: + type: string + example: git:github.com/octocat/Hello-World.git + issue_comment_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issues_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/issues{/number} + keys_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/keys{/key_id} + labels_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/labels{/name} + languages_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/languages + merges_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/merges + milestones_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + pulls_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/pulls{/number} + releases_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/releases{/id} + ssh_url: + type: string + example: git@github.com:octocat/Hello-World.git + stargazers_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/stargazers + statuses_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/statuses/{sha} + subscribers_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/subscribers + subscription_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/subscription + tags_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/tags + teams_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/teams + trees_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} + clone_url: + type: string + example: https://github.com/octocat/Hello-World.git + mirror_url: + type: string + format: uri + example: git:git.example.com/octocat/Hello-World + nullable: true + hooks_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/hooks + svn_url: + type: string + format: uri + example: https://svn.github.com/octocat/Hello-World + homepage: + type: string + format: uri + example: https://github.com + nullable: true + language: + type: string + nullable: true + forks_count: + type: integer + example: 9 + stargazers_count: + type: integer + example: 80 + watchers_count: + type: integer + example: 80 + size: + description: >- + The size of the repository, in kilobytes. Size is calculated hourly. + When a repository is initially created, the size is 0. + type: integer + example: 108 + default_branch: + description: The default branch of the repository. + type: string + example: master + open_issues_count: + type: integer + example: 0 + is_template: + description: >- + Whether this repository acts as a template that can be used to + generate new repositories. + default: false + type: boolean + example: true + topics: + type: array + items: + type: string + has_issues: + description: Whether issues are enabled. + default: true + type: boolean + example: true + has_projects: + description: Whether projects are enabled. + default: true + type: boolean + example: true + has_wiki: + description: Whether the wiki is enabled. + default: true + type: boolean + example: true + has_pages: + type: boolean + has_downloads: + description: Whether downloads are enabled. + default: true + type: boolean + example: true + deprecated: true + has_discussions: + description: Whether discussions are enabled. + default: false + type: boolean + example: true + has_pull_requests: + description: Whether pull requests are enabled. + default: true + type: boolean + example: true + pull_request_creation_policy: + description: >- + The policy controlling who can create pull requests: all or + collaborators_only. + type: string + enum: + - all + - collaborators_only + example: all + archived: + description: Whether the repository is archived. + default: false + type: boolean + disabled: + type: boolean + description: Returns whether or not this repository disabled. + visibility: + description: 'The repository visibility: public, private, or internal.' + default: public + type: string + pushed_at: + type: string + format: date-time + example: '2011-01-26T19:06:43Z' + nullable: true + created_at: + type: string + format: date-time + example: '2011-01-26T19:01:12Z' + nullable: true + updated_at: + type: string + format: date-time + example: '2011-01-26T19:14:43Z' + nullable: true + allow_rebase_merge: + description: Whether to allow rebase merges for pull requests. + default: true + type: boolean + example: true + temp_clone_token: + type: string + allow_squash_merge: + description: Whether to allow squash merges for pull requests. + default: true + type: boolean + example: true + allow_auto_merge: + description: Whether to allow Auto-merge to be used on pull requests. + default: false + type: boolean + example: false + delete_branch_on_merge: + description: Whether to delete head branches when pull requests are merged + default: false + type: boolean + example: false + allow_update_branch: + description: >- + Whether or not a pull request head branch that is behind its base + branch can always be updated even if it is not required to be up to + date before merging. + default: false + type: boolean + example: false + use_squash_pr_title_as_default: + type: boolean + description: >- + Whether a squash merge commit can use the pull request title as + default. **This property is closing down. Please use + `squash_merge_commit_title` instead. + default: false + deprecated: true + squash_merge_commit_title: + type: string + enum: + - PR_TITLE + - COMMIT_OR_PR_TITLE + description: >- + The default value for a squash merge commit title: + + + - `PR_TITLE` - default to the pull request's title. + + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one + commit) or the pull request's title (when more than one commit). + squash_merge_commit_message: + type: string + enum: + - PR_BODY + - COMMIT_MESSAGES + - BLANK + description: |- + The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + merge_commit_title: + type: string + enum: + - PR_TITLE + - MERGE_MESSAGE + description: >- + The default value for a merge commit title. + + + - `PR_TITLE` - default to the pull request's title. + + - `MERGE_MESSAGE` - default to the classic title for a merge message + (e.g., Merge pull request #123 from branch-name). + merge_commit_message: + type: string + enum: + - PR_BODY + - PR_TITLE + - BLANK + description: |- + The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + allow_merge_commit: + description: Whether to allow merge commits for pull requests. + default: true + type: boolean + example: true + allow_forking: + description: Whether to allow forking this repo + type: boolean + web_commit_signoff_required: + description: Whether to require contributors to sign off on web-based commits + default: false + type: boolean + open_issues: + type: integer + watchers: + type: integer + master_branch: + type: string + starred_at: + type: string + example: '"2020-07-09T00:17:42Z"' + anonymous_access_enabled: + type: boolean + description: Whether anonymous git access is enabled for this repository + code_search_index_status: + type: object + description: The status of the code search index for this repository + properties: + lexical_search_ok: + type: boolean + lexical_commit_sha: + type: string + required: + - archive_url + - assignees_url + - blobs_url + - branches_url + - collaborators_url + - comments_url + - commits_url + - compare_url + - contents_url + - contributors_url + - deployments_url + - description + - downloads_url + - events_url + - fork + - forks_url + - full_name + - git_commits_url + - git_refs_url + - git_tags_url + - hooks_url + - html_url + - id + - node_id + - issue_comment_url + - issue_events_url + - issues_url + - keys_url + - labels_url + - languages_url + - merges_url + - milestones_url + - name + - notifications_url + - owner + - private + - pulls_url + - releases_url + - stargazers_url + - statuses_url + - subscribers_url + - subscription_url + - tags_url + - teams_url + - trees_url + - url + - clone_url + - default_branch + - forks + - forks_count + - git_url + - has_downloads + - has_issues + - has_projects + - has_wiki + - has_pages + - homepage + - language + - archived + - disabled + - mirror_url + - open_issues + - open_issues_count + - license + - pushed_at + - size + - ssh_url + - stargazers_count + - svn_url + - watchers + - watchers_count + - created_at + - updated_at + x-github-breaking-changes: + - changeset: remove_use_squash_pr_title_as_default + patch: + properties: + use_squash_pr_title_as_default: null + type: object + version: '2026-03-10' + - changeset: deprecate_beta_media_type + patch: + properties: + master_branch: null + type: object + version: '2026-03-10' + - changeset: remove_has_downloads + patch: + properties: + has_downloads: null + required: + - archive_url + - assignees_url + - blobs_url + - branches_url + - collaborators_url + - comments_url + - commits_url + - compare_url + - contents_url + - contributors_url + - deployments_url + - description + - downloads_url + - events_url + - fork + - forks_url + - full_name + - git_commits_url + - git_refs_url + - git_tags_url + - hooks_url + - html_url + - id + - node_id + - issue_comment_url + - issue_events_url + - issues_url + - keys_url + - labels_url + - languages_url + - merges_url + - milestones_url + - name + - notifications_url + - owner + - private + - pulls_url + - releases_url + - stargazers_url + - statuses_url + - subscribers_url + - subscription_url + - tags_url + - teams_url + - trees_url + - url + - clone_url + - default_branch + - forks + - forks_count + - git_url + - has_issues + - has_projects + - has_wiki + - has_pages + - homepage + - language + - archived + - disabled + - mirror_url + - open_issues + - open_issues_count + - license + - pushed_at + - size + - ssh_url + - stargazers_count + - svn_url + - watchers + - watchers_count + - created_at + - updated_at + type: object + version: '2026-03-10' + link: + title: Link + description: Hypermedia Link + type: object + properties: + href: + type: string + required: + - href + author-association: + title: author_association + type: string + example: OWNER + description: How the author is associated with the repository. + enum: + - COLLABORATOR + - CONTRIBUTOR + - FIRST_TIMER + - FIRST_TIME_CONTRIBUTOR + - MANNEQUIN + - MEMBER + - NONE + - OWNER + auto-merge: + title: Auto merge + description: The status of auto merging a pull request. + type: object + properties: + enabled_by: + $ref: '#/components/schemas/simple-user' + merge_method: + type: string + description: The merge method to use. + enum: + - merge + - squash + - rebase + commit_title: + type: string + description: Title for the merge commit message. + commit_message: + type: string + description: Commit message for the merge commit. + required: + - enabled_by + - merge_method + - commit_title + - commit_message + nullable: true + pull-request-stack: + title: Pull Request Stack + description: The stack information associated with a pull request. + type: object + properties: + base: + type: object + properties: + ref: + type: string + description: The base ref of the stack this pull request belongs to. + sha: + type: string + description: The base SHA of the stack this pull request belongs to. + required: + - ref + - sha + size: + type: integer + description: The total number of pull requests in the stack. + position: + type: integer + description: >- + The one-based position of this pull request within the stack, where + 1 is the bottom of the stack. + id: + type: integer + description: The ID of the stack that this pull request belongs to. + number: + type: integer + description: The number of the stack that this pull request belongs to. + required: + - base + nullable: true + nullable-team-simple: + title: Team Simple + description: >- + Groups of organization members that gives permissions on specified + repositories. + type: object + properties: + id: + description: Unique identifier of the team + type: integer + example: 1 + node_id: + type: string + example: MDQ6VGVhbTE= + url: + description: URL for the team + type: string + format: uri + example: https://api.github.com/organizations/1/team/1 + members_url: + type: string + example: https://api.github.com/organizations/1/team/1/members{/member} + name: + description: Name of the team + type: string + example: Justice League + description: + description: Description of the team + type: string + nullable: true + example: A great team. + permission: + description: Permission that the team will have for its repositories + type: string + example: admin + privacy: + description: The level of privacy this team should have + type: string + example: closed + notification_setting: + description: The notification setting the team has set + type: string + example: notifications_enabled + html_url: + type: string + format: uri + example: https://github.com/orgs/rails/teams/core + repositories_url: + type: string + format: uri + example: https://api.github.com/organizations/1/team/1/repos + slug: + type: string + example: justice-league + ldap_dn: + description: Distinguished Name (DN) that team maps to within LDAP environment + example: uid=example,ou=users,dc=github,dc=com + type: string + type: + description: The ownership type of the team + type: string + enum: + - enterprise + - organization + organization_id: + type: integer + description: Unique identifier of the organization to which this team belongs + example: 37 + enterprise_id: + type: integer + description: Unique identifier of the enterprise to which this team belongs + example: 42 + required: + - id + - node_id + - url + - members_url + - name + - description + - permission + - html_url + - repositories_url + - slug + - type + nullable: true + nullable-license-simple: + title: License Simple + description: License Simple + type: object + properties: + key: + type: string + example: mit + name: + type: string + example: MIT License + url: + type: string + nullable: true + format: uri + example: https://api.github.com/licenses/mit + spdx_id: + type: string + nullable: true + example: MIT + node_id: + type: string + example: MDc6TGljZW5zZW1pdA== + html_url: + type: string + format: uri + required: + - key + - name + - url + - spdx_id + - node_id + nullable: true + responses: + not_found: + description: Resource not found + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + service_unavailable: + description: Service unavailable + content: + application/json: + schema: + type: object + properties: + code: + type: string + message: + type: string + documentation_url: + type: string + not_modified: + description: Not modified + code_scanning_forbidden_read: + description: Response if GitHub Advanced Security is not enabled for this repository + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + bad_request: + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + application/scim+json: + schema: + $ref: '#/components/schemas/scim-error' + code_scanning_forbidden_write: + description: >- + Response if the repository is archived or if GitHub Advanced Security is + not enabled for this repository + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + code_scanning_bad_request: + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + examples: + default: + $ref: '#/components/examples/code-scanning-bad-request' + internal_error: + description: Internal Error + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' code_scanning_autofix_create_forbidden: description: >- Response if the repository is archived, if GitHub Advanced Security is @@ -4866,3 +6192,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/code_security.yaml b/providers/src/github/v00.00.00000/services/code_security.yaml index dce58027..ede1394a 100644 --- a/providers/src/github/v00.00.00000/services/code_security.yaml +++ b/providers/src/github/v00.00.00000/services/code_security.yaml @@ -274,7 +274,6 @@ paths: default: enforced required: - name - - description examples: default: summary: Example for a code security configuration @@ -335,7 +334,21 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/code-security-default-configurations' + type: array + items: + type: object + properties: + default_for_new_repos: + enum: + - public + - private_and_internal + - all + description: >- + The visibility of newly created repositories for which + the code security configuration will be applied to by + default + configuration: + $ref: '#/components/schemas/code-security-configuration' examples: default: $ref: '#/components/examples/code-security-default-configurations' @@ -1224,7 +1237,6 @@ paths: default: enforced required: - name - - description examples: default: summary: Example for a code security configuration @@ -1279,7 +1291,21 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/code-security-default-configurations' + type: array + items: + type: object + properties: + default_for_new_repos: + enum: + - public + - private_and_internal + - all + description: >- + The visibility of newly created repositories for which + the code security configuration will be applied to by + default + configuration: + $ref: '#/components/schemas/code-security-configuration' examples: default: $ref: '#/components/examples/code-security-default-configurations' @@ -1327,6 +1353,8 @@ paths: schema: type: object additionalProperties: false + required: + - selected_repository_ids properties: selected_repository_ids: type: array @@ -2035,6 +2063,7 @@ components: - enterprise description: type: string + nullable: true description: A description of the code security configuration advanced_security: type: string @@ -3518,3 +3547,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/codes_of_conduct.yaml b/providers/src/github/v00.00.00000/services/codes_of_conduct.yaml index c510d770..bc01b153 100644 --- a/providers/src/github/v00.00.00000/services/codes_of_conduct.yaml +++ b/providers/src/github/v00.00.00000/services/codes_of_conduct.yaml @@ -369,3 +369,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/codespaces.yaml b/providers/src/github/v00.00.00000/services/codespaces.yaml index ad9d73ff..083ed8fd 100644 --- a/providers/src/github/v00.00.00000/services/codespaces.yaml +++ b/providers/src/github/v00.00.00000/services/codespaces.yaml @@ -8905,3 +8905,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/copilot.yaml b/providers/src/github/v00.00.00000/services/copilot.yaml index f4dfb92d..03aabfe2 100644 --- a/providers/src/github/v00.00.00000/services/copilot.yaml +++ b/providers/src/github/v00.00.00000/services/copilot.yaml @@ -123,6 +123,129 @@ paths: category: copilot subcategory: copilot-usage-metrics x-stackQL-resource: copilot_usage_metrics + /enterprises/{enterprise}/copilot/metrics/reports/repos-1-day: + get: + summary: Get Copilot enterprise repository report for a specific day + description: >- + Use this endpoint to retrieve download links for the Copilot enterprise + repository report for a specific day. The report provides per-repository + pull request metrics for Copilot across the enterprise, with one entry + per repository. + + + The report contains repository-level pull request activity for the + specified day, including the Copilot Coding Agent (CCA) and Copilot Code + Review (CCR) breakdowns. Only repositories that had activity on the + specified day are included. Reports are generated daily and made + available for download through signed URLs with a limited expiration + time. + + + The response includes download links to the report files, along with the + specific date of the report. The report covers a complete day for which + data has been processed. + + + Enterprise owners, billing managers, and authorized users with + fine-grained "View Enterprise Copilot Metrics" permission can retrieve + Copilot metrics reports for the enterprise. OAuth app tokens and + personal access tokens (classic) need either the + `manage_billing:copilot` or `read:enterprise` scopes to use this + endpoint. + tags: + - copilot + operationId: copilot/copilot-enterprise-repos-one-day-report + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot/copilot-usage-metrics#get-copilot-enterprise-repository-report-for-a-specific-day + parameters: + - $ref: '#/components/parameters/enterprise' + - $ref: '#/components/parameters/day' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-usage-metrics-1-day-report' + examples: + default: + $ref: '#/components/examples/copilot-usage-metrics-1-day-report' + '204': + $ref: '#/components/responses/no_content' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '500': + $ref: '#/components/responses/internal_error' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: copilot + subcategory: copilot-usage-metrics + x-stackQL-resource: copilot_usage_metrics + /enterprises/{enterprise}/copilot/metrics/reports/user-teams-1-day: + get: + summary: Get Copilot enterprise user-teams report for a specific day + description: >- + Use this endpoint to retrieve download links for the Copilot enterprise + user-teams report for a specific day. The report provides user-team join + data for Copilot across the enterprise, with one entry per user-team + pair. + + + The report contains user-team membership data for the specified day, + enabling consumers to join with the existing enterprise user reports to + compute team-level usage metrics. Reports are generated daily and made + available for download through signed URLs with a limited expiration + time. + + + The response includes download links to the report files, along with the + specific date of the report. The report covers a complete day for which + data has been processed. + + + Enterprise owners, billing managers, and authorized users with + fine-grained "View Enterprise Copilot Metrics" permission can retrieve + Copilot metrics reports for the enterprise. OAuth app tokens and + personal access tokens (classic) need either the + `manage_billing:copilot` or `read:enterprise` scopes to use this + endpoint. + tags: + - copilot + operationId: copilot/copilot-enterprise-user-teams-one-day-report + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot/copilot-usage-metrics#get-copilot-enterprise-user-teams-report-for-a-specific-day + parameters: + - $ref: '#/components/parameters/enterprise' + - $ref: '#/components/parameters/day' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-usage-metrics-1-day-report' + examples: + default: + $ref: '#/components/examples/copilot-usage-metrics-1-day-report' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '500': + $ref: '#/components/responses/internal_error' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: copilot + subcategory: copilot-usage-metrics + x-stackQL-resource: copilot_usage_metrics /enterprises/{enterprise}/copilot/metrics/reports/users-1-day: get: summary: Get Copilot users usage metrics for a specific day @@ -247,6 +370,265 @@ paths: category: copilot subcategory: copilot-usage-metrics x-stackQL-resource: copilot_usage_metrics + /enterprises/{enterprise}/copilot/policies/coding_agent: + put: + summary: Set the coding agent policy for an enterprise + description: >- + Sets the policy for Copilot cloud agent usage across an enterprise. + + + Enterprise owners can configure whether Copilot cloud agent is enabled + for all + + organizations, disabled for all organizations, configured by individual + organization + + admins, or enabled for selected organizations only. + + + Only enterprise owners can set the coding agent policy for their + enterprise. + + + OAuth app tokens and personal access tokens (classic) need either the + `manage_billing:copilot` or `admin:enterprise` scopes to use this + endpoint. + tags: + - copilot + operationId: copilot/set-enterprise-coding-agent-policy + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot/copilot-coding-agent-management#set-the-coding-agent-policy-for-an-enterprise + parameters: + - $ref: '#/components/parameters/enterprise' + requestBody: + description: The coding agent policy configuration + required: true + content: + application/json: + schema: + type: object + properties: + policy_state: + type: string + description: >- + The policy state for Copilot cloud agent in the enterprise. + Can be one of `enabled_for_all_orgs`, + `disabled_for_all_orgs`, `enabled_for_selected_orgs`, or + `configured_by_org_admins`. + enum: + - enabled_for_all_orgs + - disabled_for_all_orgs + - enabled_for_selected_orgs + - configured_by_org_admins + required: + - policy_state + examples: + default: + summary: Enable coding agent for all organizations + value: + policy_state: enabled_for_all_orgs + responses: + '204': + $ref: '#/components/responses/no_content' + '400': + $ref: '#/components/responses/bad_request' + x-github: + enabledForGitHubApps: false + category: copilot + subcategory: copilot-coding-agent-management + x-stackQL-resource: copilot_coding_agent_management + /enterprises/{enterprise}/copilot/policies/coding_agent/organizations: + post: + summary: Add organizations to the enterprise coding agent policy + description: >- + Enables Copilot cloud agent for the specified organizations within the + enterprise. + + + The enterprise's coding agent policy must be set to + `enabled_for_selected_orgs` before + + using this endpoint. Organizations can be specified by login or matched + via custom properties. + + + Only organizations that have Copilot enabled and belong to the + enterprise will be affected. + + + Only enterprise owners can add organizations to the coding agent policy. + + + OAuth app tokens and personal access tokens (classic) need either the + `manage_billing:copilot` or `admin:enterprise` scopes to use this + endpoint. + tags: + - copilot + operationId: copilot/add-organizations-to-enterprise-coding-agent-policy + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot/copilot-coding-agent-management#add-organizations-to-the-enterprise-coding-agent-policy + parameters: + - $ref: '#/components/parameters/enterprise' + requestBody: + description: The organizations to enable Copilot cloud agent for + required: true + content: + application/json: + schema: + type: object + properties: + organizations: + type: array + description: >- + List of organization logins within the enterprise to enable + Copilot cloud agent for. + items: + type: string + custom_properties: + type: array + description: >- + List of custom property filters to match organizations. + Organizations matching any of the specified property + name/value pairs will be included. This is a one-time + operation, setting the property on an organization in the + future will not automatically update its coding agent + policy. + items: + type: object + properties: + property_name: + type: string + description: The name of the custom property to filter by. + values: + type: array + description: The values of the custom property to match. + items: + type: string + required: + - property_name + - values + examples: + default: + summary: Add organizations that match a login or have a custom property + value: + organizations: + - my-org-1 + - my-org-2 + custom_properties: + - property_name: department + values: + - engineering + - security + responses: + '204': + $ref: '#/components/responses/no_content' + '400': + $ref: '#/components/responses/bad_request' + x-github: + enabledForGitHubApps: false + category: copilot + subcategory: copilot-coding-agent-management + x-stackQL-resource: copilot_coding_agent_management + delete: + summary: Remove organizations from the enterprise coding agent policy + description: >- + Disables Copilot cloud agent for the specified organizations within the + enterprise. + + + The enterprise's coding agent policy must be set to + `enabled_for_selected_orgs` before + + using this endpoint. Organizations can be specified by login or matched + via custom properties. + + + Only organizations that have Copilot enabled and belong to the + enterprise will be affected. + + + Only enterprise owners can remove organizations from the coding agent + policy. + + + OAuth app tokens and personal access tokens (classic) need either the + `manage_billing:copilot` or `admin:enterprise` scopes to use this + endpoint. + tags: + - copilot + operationId: copilot/remove-organizations-from-enterprise-coding-agent-policy + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot/copilot-coding-agent-management#remove-organizations-from-the-enterprise-coding-agent-policy + parameters: + - $ref: '#/components/parameters/enterprise' + requestBody: + description: The organizations to disable Copilot cloud agent for + required: true + content: + application/json: + schema: + type: object + properties: + organizations: + type: array + description: >- + List of organization logins within the enterprise to disable + Copilot cloud agent for. + items: + type: string + custom_properties: + type: array + description: >- + List of custom property filters to match organizations. + Organizations matching any of the specified property + name/value pairs will be included. This is a one-time + operation, setting the property on an organization in the + future will not automatically update its coding agent + policy. + items: + type: object + properties: + property_name: + type: string + description: The name of the custom property to filter by. + values: + type: array + description: The values of the custom property to match. + items: + type: string + required: + - property_name + - values + examples: + default: + summary: >- + Remove organizations that match a login or have a custom + property + value: + organizations: + - my-org-1 + - my-org-2 + custom_properties: + - property_name: department + values: + - engineering + - security + responses: + '204': + $ref: '#/components/responses/no_content' + '400': + $ref: '#/components/responses/bad_request' + x-github: + enabledForGitHubApps: false + category: copilot + subcategory: copilot-coding-agent-management + x-stackQL-resource: copilot_coding_agent_management /orgs/{org}/copilot/billing: get: summary: Get Copilot seat information and settings for an organization @@ -816,7 +1198,7 @@ paths: x-stackQL-resource: copilot_user_management /orgs/{org}/copilot/coding-agent/permissions: get: - summary: Get Copilot coding agent permissions for an organization + summary: Get Copilot cloud agent permissions for an organization description: >- > [!NOTE] @@ -826,11 +1208,11 @@ paths: Gets information about which repositories in an organization have been enabled - or disabled for the Copilot coding agent. + or disabled for the Copilot cloud agent. - Organization owners can configure whether Copilot coding agent is - enabled for + Organization owners can configure whether Copilot cloud agent is enabled + for all repositories, selected repositories, or no repositories owned by organization. @@ -844,7 +1226,7 @@ paths: externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/copilot/copilot-coding-agent-management#get-copilot-coding-agent-permissions-for-an-organization + https://docs.github.com/rest/copilot/copilot-coding-agent-management#get-copilot-cloud-agent-permissions-for-an-organization parameters: - $ref: '#/components/parameters/org' responses: @@ -858,7 +1240,7 @@ paths: enabled_repositories: type: string description: >- - The policy for which repositories can use Copilot coding + The policy for which repositories can use Copilot cloud agent. Can be one of `all`, `selected`, or `none`. enum: - all @@ -901,7 +1283,7 @@ paths: subcategory: copilot-coding-agent-management x-stackQL-resource: copilot_coding_agent_management put: - summary: Set Copilot coding agent permissions for an organization + summary: Set Copilot cloud agent permissions for an organization description: >- > [!NOTE] @@ -909,11 +1291,11 @@ paths: Sets the policy for which repositories in an organization can use - Copilot coding agent. + Copilot cloud agent. - Organization owners can configure whether Copilot coding agent is - enabled for + Organization owners can configure whether Copilot cloud agent is enabled + for all repositories, selected repositories, or no repositories owned by the organization. @@ -927,7 +1309,7 @@ paths: externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/copilot/copilot-coding-agent-management#set-copilot-coding-agent-permissions-for-an-organization + https://docs.github.com/rest/copilot/copilot-coding-agent-management#set-copilot-cloud-agent-permissions-for-an-organization parameters: - $ref: '#/components/parameters/org' requestBody: @@ -940,7 +1322,7 @@ paths: enabled_repositories: type: string description: >- - The policy for which repositories can use Copilot coding + The policy for which repositories can use Copilot cloud agent. Can be one of `all`, `selected`, or `none`. enum: - all @@ -973,15 +1355,15 @@ paths: x-stackQL-resource: copilot_coding_agent_management /orgs/{org}/copilot/coding-agent/permissions/repositories: get: - summary: List repositories enabled for Copilot coding agent in an organization + summary: List repositories enabled for Copilot cloud agent in an organization description: >- > [!NOTE] > This endpoint is in public preview and is subject to change. - Lists the selected repositories that are enabled for Copilot coding - agent in an organization. + Lists the selected repositories that are enabled for Copilot cloud agent + in an organization. Organization owners can use this endpoint when the coding agent @@ -998,7 +1380,7 @@ paths: externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/copilot/copilot-coding-agent-management#list-repositories-enabled-for-copilot-coding-agent-in-an-organization + https://docs.github.com/rest/copilot/copilot-coding-agent-management#list-repositories-enabled-for-copilot-cloud-agent-in-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/per-page' @@ -1040,7 +1422,7 @@ paths: subcategory: copilot-coding-agent-management x-stackQL-resource: copilot_coding_agent_management put: - summary: Set selected repositories for Copilot coding agent in an organization + summary: Set selected repositories for Copilot cloud agent in an organization description: >- > [!NOTE] @@ -1048,9 +1430,9 @@ paths: Replaces the list of selected repositories that are enabled for Copilot - coding + cloud - agent in an organization. This method can only be called when the coding + agent in an organization. This method can only be called when the cloud agent repository policy is set to `selected`. @@ -1064,7 +1446,7 @@ paths: externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/copilot/copilot-coding-agent-management#set-selected-repositories-for-copilot-coding-agent-in-an-organization + https://docs.github.com/rest/copilot/copilot-coding-agent-management#set-selected-repositories-for-copilot-cloud-agent-in-an-organization parameters: - $ref: '#/components/parameters/org' requestBody: @@ -1075,7 +1457,7 @@ paths: type: object properties: selected_repository_ids: - description: List of repository IDs to enable for Copilot coding agent. + description: List of repository IDs to enable for Copilot cloud agent. type: array items: type: integer @@ -1111,7 +1493,7 @@ paths: x-stackQL-resource: copilot_coding_agent_management /orgs/{org}/copilot/coding-agent/permissions/repositories/{repository_id}: put: - summary: Enable a repository for Copilot coding agent in an organization + summary: Enable a repository for Copilot cloud agent in an organization description: >- > [!NOTE] @@ -1121,9 +1503,9 @@ paths: Adds a repository to the list of selected repositories enabled for Copilot - coding agent in an organization. This method can only be called when the + cloud agent in an organization. This method can only be called when the - coding agent repository policy is set to `selected`. + cloud agent repository policy is set to `selected`. OAuth app tokens and personal access tokens (classic) need the @@ -1134,7 +1516,7 @@ paths: externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/copilot/copilot-coding-agent-management#enable-a-repository-for-copilot-coding-agent-in-an-organization + https://docs.github.com/rest/copilot/copilot-coding-agent-management#enable-a-repository-for-copilot-cloud-agent-in-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/repository-id' @@ -1160,7 +1542,7 @@ paths: subcategory: copilot-coding-agent-management x-stackQL-resource: copilot_coding_agent_management delete: - summary: Disable a repository for Copilot coding agent in an organization + summary: Disable a repository for Copilot cloud agent in an organization description: >- > [!NOTE] @@ -1170,9 +1552,9 @@ paths: Removes a repository from the list of selected repositories enabled for Copilot - coding agent in an organization. This method can only be called when the + cloud agent in an organization. This method can only be called when the - coding agent repository policy is set to `selected`. + cloud agent repository policy is set to `selected`. OAuth app tokens and personal access tokens (classic) need the @@ -1183,7 +1565,7 @@ paths: externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/copilot/copilot-coding-agent-management#disable-a-repository-for-copilot-coding-agent-in-an-organization + https://docs.github.com/rest/copilot/copilot-coding-agent-management#disable-a-repository-for-copilot-cloud-agent-in-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/repository-id' @@ -1390,119 +1772,148 @@ paths: category: copilot subcategory: copilot-content-exclusion-management x-stackQL-resource: copilot_content_exclusion_management - /orgs/{org}/copilot/metrics: + /orgs/{org}/copilot/metrics/reports/organization-1-day: get: - summary: Get Copilot metrics for an organization + summary: Get Copilot organization usage metrics for a specific day description: >- - Use this endpoint to see a breakdown of aggregated metrics for various - GitHub Copilot features. See the response schema tab for detailed - metrics definitions. + Use this endpoint to retrieve download links for the Copilot + organization usage metrics report for a specific day. The report + provides comprehensive usage data for Copilot features across the + organization. - > [!NOTE] + The report contains aggregated metrics for the specified day, including + usage statistics for various Copilot features, user engagement data, and + feature adoption metrics. Reports are generated daily and made available + for download through signed URLs with a limited expiration time. + - > This endpoint will only return results for a given day if the - organization contained **five or more members with active Copilot - licenses** on that day, as evaluated at the end of that day. + The response includes download links to the report files, along with the + specific date of the report. The report covers a complete day for which + data has been processed. + + + Organization owners and authorized users with fine-grained "View + Organization Copilot Metrics" permission can retrieve Copilot metrics + reports for the organization. OAuth app tokens and personal access + tokens (classic) need the `read:org` scope to use this endpoint. - The response contains metrics for up to 100 days prior. Metrics are - processed once per day for the previous day, + For more information about organization metrics attribution, see [How + are metrics attributed across + organizations](https://docs.github.com/copilot/concepts/copilot-metrics#how-are-metrics-attributed-across-organizations). + tags: + - copilot + operationId: copilot/copilot-organization-one-day-usage-metrics + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot/copilot-usage-metrics#get-copilot-organization-usage-metrics-for-a-specific-day + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/day' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-usage-metrics-1-day-report' + examples: + default: + $ref: '#/components/examples/copilot-usage-metrics-1-day-report' + '204': + $ref: '#/components/responses/no_content' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '500': + $ref: '#/components/responses/internal_error' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: copilot + subcategory: copilot-usage-metrics + x-stackQL-resource: copilot_usage_metrics + /orgs/{org}/copilot/metrics/reports/organization-28-day/latest: + get: + summary: Get Copilot organization usage metrics + description: >- + Use this endpoint to retrieve download links for the latest 28-day + organization Copilot usage metrics report. The report provides + comprehensive usage data for Copilot features across the organization. + - and the response will only include data up until yesterday. In order for - an end user to be counted towards these metrics, + The report contains aggregated metrics for the previous 28 days, + including usage statistics for various Copilot features, user engagement + data, and feature adoption metrics. Reports are generated daily and made + available for download through signed URLs with a limited expiration + time. - they must have telemetry enabled in their IDE. + The response includes download links to the report files, along with the + specific date range covered by the report. The report covers a complete + 28-day period ending on the most recent day for which data has been + processed. - To access this endpoint, the Copilot Metrics API access policy must be - enabled for the organization. - Only organization owners and owners and billing managers of the parent - enterprise can view Copilot metrics. + Organization owners and authorized users with fine-grained "View + Organization Copilot Metrics" permission can retrieve Copilot metrics + reports for the organization. OAuth app tokens and personal access + tokens (classic) need the `read:org` scope to use this endpoint. - OAuth app tokens and personal access tokens (classic) need either the - `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use - this endpoint. + For more information about organization metrics attribution, see [How + are metrics attributed across + organizations](https://docs.github.com/copilot/concepts/copilot-metrics#how-are-metrics-attributed-across-organizations). tags: - copilot - operationId: copilot/copilot-metrics-for-organization + operationId: copilot/copilot-organization-usage-metrics externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/copilot/copilot-metrics#get-copilot-metrics-for-an-organization + https://docs.github.com/rest/copilot/copilot-usage-metrics#get-copilot-organization-usage-metrics parameters: - $ref: '#/components/parameters/org' - - name: since - description: >- - Show usage metrics since this date. This is a timestamp in [ISO - 8601](https://en.wikipedia.org/wiki/ISO_8601) format - (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 100 days ago. - in: query - required: false - schema: - type: string - - name: until - description: >- - Show usage metrics until this date. This is a timestamp in [ISO - 8601](https://en.wikipedia.org/wiki/ISO_8601) format - (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if - it is passed. - in: query - required: false - schema: - type: string - - $ref: '#/components/parameters/page' - - name: per_page - description: >- - The number of days of metrics to display per page (max 100). For - more information, see "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." - in: query - schema: - type: integer - default: 100 responses: '200': description: Response content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/copilot-usage-metrics-day' + $ref: '#/components/schemas/copilot-usage-metrics-28-day-report' examples: default: - $ref: '#/components/examples/copilot-usage-metrics-for-day' + $ref: '#/components/examples/copilot-usage-metrics-28-day-report' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' - '422': - $ref: '#/components/responses/usage_metrics_api_disabled' '500': $ref: '#/components/responses/internal_error' x-github: githubCloudOnly: false enabledForGitHubApps: true category: copilot - subcategory: copilot-metrics - x-stackQL-resource: copilot_metrics - /orgs/{org}/copilot/metrics/reports/organization-1-day: + subcategory: copilot-usage-metrics + x-stackQL-resource: copilot_usage_metrics + /orgs/{org}/copilot/metrics/reports/repos-1-day: get: - summary: Get Copilot organization usage metrics for a specific day + summary: Get Copilot organization repository report for a specific day description: >- Use this endpoint to retrieve download links for the Copilot - organization usage metrics report for a specific day. The report - provides comprehensive usage data for Copilot features across the - organization. + organization repository report for a specific day. The report provides + per-repository pull request metrics for Copilot across the organization, + with one entry per repository. - The report contains aggregated metrics for the specified day, including - usage statistics for various Copilot features, user engagement data, and - feature adoption metrics. Reports are generated daily and made available - for download through signed URLs with a limited expiration time. + The report contains repository-level pull request activity for the + specified day, including the Copilot Coding Agent (CCA) and Copilot Code + Review (CCR) breakdowns. Only repositories that had activity on the + specified day are included. Reports are generated daily and made + available for download through signed URLs with a limited expiration + time. The response includes download links to the report files, along with the @@ -1521,11 +1932,11 @@ paths: organizations](https://docs.github.com/copilot/concepts/copilot-metrics#how-are-metrics-attributed-across-organizations). tags: - copilot - operationId: copilot/copilot-organization-one-day-usage-metrics + operationId: copilot/copilot-organization-repos-one-day-report externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/copilot/copilot-usage-metrics#get-copilot-organization-usage-metrics-for-a-specific-day + https://docs.github.com/rest/copilot/copilot-usage-metrics#get-copilot-organization-repository-report-for-a-specific-day parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/day' @@ -1553,26 +1964,26 @@ paths: category: copilot subcategory: copilot-usage-metrics x-stackQL-resource: copilot_usage_metrics - /orgs/{org}/copilot/metrics/reports/organization-28-day/latest: + /orgs/{org}/copilot/metrics/reports/user-teams-1-day: get: - summary: Get Copilot organization usage metrics + summary: Get Copilot organization user-teams report for a specific day description: >- - Use this endpoint to retrieve download links for the latest 28-day - organization Copilot usage metrics report. The report provides - comprehensive usage data for Copilot features across the organization. + Use this endpoint to retrieve download links for the Copilot + organization user-teams report for a specific day. The report provides + user-team join data for Copilot across the organization, with one entry + per user-team pair. - The report contains aggregated metrics for the previous 28 days, - including usage statistics for various Copilot features, user engagement - data, and feature adoption metrics. Reports are generated daily and made - available for download through signed URLs with a limited expiration - time. + The report contains user-team membership data for the specified day, + enabling consumers to join with the existing organization user reports + to compute team-level usage metrics. Reports are generated daily and + made available for download through signed URLs with a limited + expiration time. The response includes download links to the report files, along with the - specific date range covered by the report. The report covers a complete - 28-day period ending on the most recent day for which data has been - processed. + specific date of the report. The report covers a complete day for which + data has been processed. Organization owners and authorized users with fine-grained "View @@ -1586,23 +1997,26 @@ paths: organizations](https://docs.github.com/copilot/concepts/copilot-metrics#how-are-metrics-attributed-across-organizations). tags: - copilot - operationId: copilot/copilot-organization-usage-metrics + operationId: copilot/copilot-organization-user-teams-one-day-report externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/copilot/copilot-usage-metrics#get-copilot-organization-usage-metrics + https://docs.github.com/rest/copilot/copilot-usage-metrics#get-copilot-organization-user-teams-report-for-a-specific-day parameters: - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/day' responses: '200': description: Response content: application/json: schema: - $ref: '#/components/schemas/copilot-usage-metrics-28-day-report' + $ref: '#/components/schemas/copilot-usage-metrics-1-day-report' examples: default: - $ref: '#/components/examples/copilot-usage-metrics-28-day-report' + $ref: '#/components/examples/copilot-usage-metrics-1-day-report' + '204': + $ref: '#/components/responses/no_content' '403': $ref: '#/components/responses/forbidden' '404': @@ -1812,107 +2226,193 @@ paths: category: copilot subcategory: copilot-user-management x-stackQL-resource: copilot_user_management - /orgs/{org}/team/{team_slug}/copilot/metrics: + /repos/{owner}/{repo}/copilot/cloud-agent/configuration: get: - summary: Get Copilot metrics for a team + summary: Get Copilot cloud agent configuration for a repository description: >- - Use this endpoint to see a breakdown of aggregated metrics for various - GitHub Copilot features. See the response schema tab for detailed - metrics definitions. - - > [!NOTE] - > This endpoint will only return results for a given day if the team had - **five or more members with active Copilot licenses** on that day, as - evaluated at the end of that day. - - - The response contains metrics for up to 100 days prior. Metrics are - processed once per day for the previous day, - - and the response will only include data up until yesterday. In order for - an end user to be counted towards these metrics, + > This endpoint is in public preview and is subject to change. - they must have telemetry enabled in their IDE. + Gets the Copilot cloud agent configuration for a repository, including + MCP server - To access this endpoint, the Copilot Metrics API access policy must be - enabled for the organization containing the team within GitHub settings. + configuration, enabled review tools, Actions workflow approval settings, + and firewall - Only organization owners for the organization that contains this team - and owners and billing managers of the parent enterprise can view - Copilot metrics for a team. + configuration. - OAuth app tokens and personal access tokens (classic) need either the - `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use - this endpoint. + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint. tags: - copilot - operationId: copilot/copilot-metrics-for-team + operationId: copilot/get-copilot-cloud-agent-configuration externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/copilot/copilot-metrics#get-copilot-metrics-for-a-team + https://docs.github.com/rest/copilot/copilot-cloud-agent-management#get-copilot-cloud-agent-configuration-for-a-repository parameters: - - $ref: '#/components/parameters/org' - - $ref: '#/components/parameters/team-slug' - - name: since - description: >- - Show usage metrics since this date. This is a timestamp in [ISO - 8601](https://en.wikipedia.org/wiki/ISO_8601) format - (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 100 days ago. - in: query - required: false - schema: - type: string - - name: until - description: >- - Show usage metrics until this date. This is a timestamp in [ISO - 8601](https://en.wikipedia.org/wiki/ISO_8601) format - (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if - it is passed. - in: query - required: false - schema: - type: string - - $ref: '#/components/parameters/page' - - name: per_page - description: >- - The number of days of metrics to display per page (max 100). For - more information, see "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." - in: query - schema: - type: integer - default: 100 + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' responses: '200': description: Response content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/copilot-usage-metrics-day' + type: object + properties: + mcp_configuration: + description: >- + The user-supplied MCP server configuration for the + repository, as a free-form JSON object. This will be set + to `null` if no configuration has been set. + + + The shape of a valid MCP configuration may evolve over + time, so this property is intentionally not strictly + typed. Clients should not assume a fixed schema. + nullable: true + type: object + additionalProperties: true + enabled_tools: + type: object + description: The enabled review tools for Copilot cloud agent. + properties: + codeql: + type: boolean + description: >- + Whether the CodeQL tool is enabled for the Copilot + cloud agent. + copilot_code_review: + type: boolean + description: >- + Whether the Copilot code review tool is enabled for + the Copilot cloud agent. + secret_scanning: + type: boolean + description: >- + Whether the secret scanning tool is enabled for the + Copilot cloud agent. + dependency_vulnerability_checks: + type: boolean + description: >- + Whether the dependency vulnerability checks tool is + enabled for the Copilot cloud agent. + required: + - codeql + - copilot_code_review + - secret_scanning + - dependency_vulnerability_checks + require_actions_workflow_approval: + type: boolean + description: >- + Whether Actions workflow approval is required for Copilot + cloud agent pull requests. + is_firewall_enabled: + type: boolean + description: Whether the firewall is enabled. + is_firewall_recommended_allowlist_enabled: + type: boolean + description: Whether the firewall recommended allowlist is enabled. + custom_allowlist: + type: array + description: >- + A list of custom allowlist entries, as hosts or URLs, that + the firewall will allow the Copilot cloud agent to access. + items: + type: string + description: >- + A custom allowlist entry, as a host or URL, that the + firewall will allow the Copilot cloud agent to access. + is_automations_enabled: + type: boolean + description: >- + Whether automations are enabled in this repository. When + true, users can create automations that automatically run + agents on a schedule or in response to events like new + issues or updated pull requests. + require_write_access_for_automation_triggers: + type: boolean + description: >- + Whether write access is required for automation triggers. + When true, automations will only run if the user + triggering the event has write access to the repository. + When false, users can create automations that listen for + events triggered by users without write access. + required: + - mcp_configuration + - enabled_tools + - require_actions_workflow_approval + - is_firewall_enabled + - is_firewall_recommended_allowlist_enabled + - custom_allowlist + - is_automations_enabled + - require_write_access_for_automation_triggers examples: default: - $ref: '#/components/examples/copilot-usage-metrics-for-day' + summary: Default configuration + value: + mcp_configuration: null + enabled_tools: + codeql: true + copilot_code_review: true + secret_scanning: true + dependency_vulnerability_checks: true + require_actions_workflow_approval: true + is_firewall_enabled: true + is_firewall_recommended_allowlist_enabled: true + custom_allowlist: [] + is_automations_enabled: true + require_write_access_for_automation_triggers: true + configured: + summary: >- + Configuration with an MCP server and a custom firewall + allowlist + value: + mcp_configuration: + mcpServers: + sentry: + type: local + command: npx + args: + - '@sentry/mcp-server@latest' + - '--host=$SENTRY_HOST' + env: + SENTRY_HOST: https://octo-org.sentry.io + SENTRY_ACCESS_TOKEN: $COPILOT_MCP_SENTRY_ACCESS_TOKEN + tools: + - search_issues + - get_issue_details + enabled_tools: + codeql: true + copilot_code_review: true + secret_scanning: true + dependency_vulnerability_checks: true + require_actions_workflow_approval: false + is_firewall_enabled: true + is_firewall_recommended_allowlist_enabled: true + custom_allowlist: + - sentry.io + - https://api.example.com + is_automations_enabled: true + require_write_access_for_automation_triggers: false + '401': + $ref: '#/components/responses/requires_authentication' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' - '422': - $ref: '#/components/responses/usage_metrics_api_disabled' '500': $ref: '#/components/responses/internal_error' x-github: githubCloudOnly: false enabledForGitHubApps: true category: copilot - subcategory: copilot-metrics - x-stackQL-resource: copilot_metrics + subcategory: copilot-cloud-agent-management + x-stackQL-resource: copilot_cloud_agent_management components: schemas: copilot-usage-metrics-1-day-report: @@ -2099,8 +2599,23 @@ components: description: The ownership type of the team type: string enum: - - enterprise + - enterprise + - organization + access_source: + description: >- + How the team's access to the repository was granted. This + property is only + + present when the team is returned in a repository context, such + as + + `GET /repos/{owner}/{repo}/teams`. + type: string + enum: + - direct - organization + - enterprise + example: direct organization_id: type: integer description: Unique identifier of the organization to which this team belongs @@ -2582,45 +3097,6 @@ components: items: type: string description: The path to the file that will be excluded. - copilot-usage-metrics-day: - title: Copilot Usage Metrics - description: Copilot usage metrics for a given day. - type: object - properties: - date: - type: string - format: date - description: >- - The date for which the usage metrics are aggregated, in `YYYY-MM-DD` - format. - total_active_users: - type: integer - description: >- - The total number of Copilot users with activity belonging to any - Copilot feature, globally, for the given day. Includes passive - activity such as receiving a code suggestion, as well as engagement - activity such as accepting a code suggestion or prompting chat. Does - not include authentication events. Is not limited to the individual - features detailed on the endpoint. - total_engaged_users: - type: integer - description: >- - The total number of Copilot users who engaged with any Copilot - feature, for the given day. Examples include but are not limited to - accepting a code suggestion, prompting Copilot chat, or triggering a - PR Summary. Does not include authentication events. Is not limited - to the individual features detailed on the endpoint. - copilot_ide_code_completions: - $ref: '#/components/schemas/copilot-ide-code-completions' - copilot_ide_chat: - $ref: '#/components/schemas/copilot-ide-chat' - copilot_dotcom_chat: - $ref: '#/components/schemas/copilot-dotcom-chat' - copilot_dotcom_pull_requests: - $ref: '#/components/schemas/copilot-dotcom-pull-requests' - required: - - date - additionalProperties: true basic-error: title: Basic Error description: Basic Error @@ -2634,6 +3110,29 @@ components: type: string status: type: string + scim-error: + title: Scim Error + description: Scim Error + type: object + properties: + message: + type: string + nullable: true + documentation_url: + type: string + nullable: true + detail: + type: string + nullable: true + status: + type: integer + scimType: + type: string + nullable: true + schemas: + type: array + items: + type: string copilot-organization-seat-breakdown: title: Copilot Seat Breakdown description: The breakdown of Copilot Business seats for the organization. @@ -2887,6 +3386,20 @@ components: enum: - enterprise - organization + access_source: + description: >- + How the team's access to the repository was granted. This property + is only + + present when the team is returned in a repository context, such as + + `GET /repos/{owner}/{repo}/teams`. + type: string + enum: + - direct + - organization + - enterprise + example: direct organization_id: type: integer description: Unique identifier of the organization to which this team belongs @@ -2955,6 +3468,15 @@ components: updated_at: type: string format: date-time + notification_setting: + type: string + description: >- + Whether team members will receive notifications when the team is + mentioned. + example: notifications_enabled + enum: + - notifications_enabled + - notifications_disabled required: - id - url @@ -3360,283 +3882,6 @@ components: type: array items: type: string - copilot-ide-code-completions: - type: object - description: Usage metrics for Copilot editor code completions in the IDE. - nullable: true - additionalProperties: true - properties: - total_engaged_users: - type: integer - description: >- - Number of users who accepted at least one Copilot code suggestion, - across all active editors. Includes both full and partial - acceptances. - languages: - type: array - description: Code completion metrics for active languages. - items: - type: object - description: >- - Usage metrics for a given language for the given editor for - Copilot code completions. - properties: - name: - type: string - description: >- - Name of the language used for Copilot code completion - suggestions. - total_engaged_users: - type: integer - description: >- - Number of users who accepted at least one Copilot code - completion suggestion for the given language. Includes both - full and partial acceptances. - editors: - type: array - items: - type: object - description: Copilot code completion metrics for active editors. - additionalProperties: true - properties: - name: - type: string - description: Name of the given editor. - total_engaged_users: - type: integer - description: >- - Number of users who accepted at least one Copilot code - completion suggestion for the given editor. Includes both full - and partial acceptances. - models: - type: array - description: List of model metrics for custom models and the default model. - items: - type: object - properties: - name: - type: string - description: >- - Name of the model used for Copilot code completion - suggestions. If the default model is used will appear as - 'default'. - is_custom_model: - type: boolean - description: Indicates whether a model is custom or default. - custom_model_training_date: - type: string - nullable: true - description: The training date for the custom model. - total_engaged_users: - type: integer - description: >- - Number of users who accepted at least one Copilot code - completion suggestion for the given editor, for the - given language and model. Includes both full and partial - acceptances. - languages: - type: array - description: >- - Code completion metrics for active languages, for the - given editor. - items: - type: object - description: >- - Usage metrics for a given language for the given - editor for Copilot code completions. - properties: - name: - type: string - description: >- - Name of the language used for Copilot code - completion suggestions, for the given editor. - total_engaged_users: - type: integer - description: >- - Number of users who accepted at least one Copilot - code completion suggestion for the given editor, - for the given language. Includes both full and - partial acceptances. - total_code_suggestions: - type: integer - description: >- - The number of Copilot code suggestions generated - for the given editor, for the given language. - total_code_acceptances: - type: integer - description: >- - The number of Copilot code suggestions accepted - for the given editor, for the given language. - Includes both full and partial acceptances. - total_code_lines_suggested: - type: integer - description: >- - The number of lines of code suggested by Copilot - code completions for the given editor, for the - given language. - total_code_lines_accepted: - type: integer - description: >- - The number of lines of code accepted from Copilot - code suggestions for the given editor, for the - given language. - copilot-ide-chat: - type: object - description: Usage metrics for Copilot Chat in the IDE. - nullable: true - additionalProperties: true - properties: - total_engaged_users: - type: integer - description: Total number of users who prompted Copilot Chat in the IDE. - editors: - type: array - items: - type: object - description: Copilot Chat metrics, for active editors. - properties: - name: - type: string - description: Name of the given editor. - total_engaged_users: - type: integer - description: >- - The number of users who prompted Copilot Chat in the specified - editor. - models: - type: array - description: List of model metrics for custom models and the default model. - items: - type: object - properties: - name: - type: string - description: >- - Name of the model used for Copilot Chat. If the default - model is used will appear as 'default'. - is_custom_model: - type: boolean - description: Indicates whether a model is custom or default. - custom_model_training_date: - type: string - nullable: true - description: The training date for the custom model. - total_engaged_users: - type: integer - description: >- - The number of users who prompted Copilot Chat in the - given editor and model. - total_chats: - type: integer - description: >- - The total number of chats initiated by users in the - given editor and model. - total_chat_insertion_events: - type: integer - description: >- - The number of times users accepted a code suggestion - from Copilot Chat using the 'Insert Code' UI element, - for the given editor. - total_chat_copy_events: - type: integer - description: >- - The number of times users copied a code suggestion from - Copilot Chat using the keyboard, or the 'Copy' UI - element, for the given editor. - copilot-dotcom-chat: - type: object - description: Usage metrics for Copilot Chat in GitHub.com - nullable: true - additionalProperties: true - properties: - total_engaged_users: - type: integer - description: >- - Total number of users who prompted Copilot Chat on github.com at - least once. - models: - type: array - description: List of model metrics for a custom models and the default model. - items: - type: object - properties: - name: - type: string - description: >- - Name of the model used for Copilot Chat. If the default model - is used will appear as 'default'. - is_custom_model: - type: boolean - description: Indicates whether a model is custom or default. - custom_model_training_date: - type: string - description: The training date for the custom model (if applicable). - nullable: true - total_engaged_users: - type: integer - description: >- - Total number of users who prompted Copilot Chat on github.com - at least once for each model. - total_chats: - type: integer - description: Total number of chats initiated by users on github.com. - copilot-dotcom-pull-requests: - type: object - description: Usage metrics for Copilot for pull requests. - nullable: true - additionalProperties: true - properties: - total_engaged_users: - type: integer - description: >- - The number of users who used Copilot for Pull Requests on github.com - to generate a pull request summary at least once. - repositories: - type: array - description: >- - Repositories in which users used Copilot for Pull Requests to - generate pull request summaries - items: - type: object - properties: - name: - type: string - description: Repository name - total_engaged_users: - type: integer - description: >- - The number of users who generated pull request summaries using - Copilot for Pull Requests in the given repository. - models: - type: array - description: List of model metrics for custom models and the default model. - items: - type: object - properties: - name: - type: string - description: >- - Name of the model used for Copilot pull request - summaries. If the default model is used will appear as - 'default'. - is_custom_model: - type: boolean - description: Indicates whether a model is custom or default. - custom_model_training_date: - type: string - nullable: true - description: The training date for the custom model. - total_pr_summaries_created: - type: integer - description: >- - The number of pull request summaries generated using - Copilot for Pull Requests in the given repository. - total_engaged_users: - type: integer - description: >- - The number of users who generated pull request summaries - using Copilot for Pull Requests in the given repository - and model. nullable-team-simple: title: Team Simple description: >- @@ -3741,6 +3986,17 @@ components: application/json: schema: $ref: '#/components/schemas/basic-error' + no_content: + description: A header with no content is returned. + bad_request: + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + application/scim+json: + schema: + $ref: '#/components/schemas/scim-error' requires_authentication: description: Requires authentication content: @@ -3771,16 +4027,6 @@ components: application/json: schema: $ref: '#/components/schemas/validation-error-simple' - usage_metrics_api_disabled: - description: >- - Copilot Usage Metrics API setting is disabled at the organization or - enterprise level. - content: - application/json: - schema: - $ref: '#/components/schemas/basic-error' - no_content: - description: A header with no content is returned. parameters: enterprise: name: enterprise @@ -3839,9 +4085,18 @@ components: required: true schema: type: string - team-slug: - name: team_slug - description: The slug of the team name. + owner: + name: owner + description: The account owner of the repository. The name is not case sensitive. + in: path + required: true + schema: + type: string + repo: + name: repo + description: >- + The name of the repository without the `.git` extension. The name is not + case sensitive. in: path required: true schema: @@ -3850,14 +4105,14 @@ components: copilot-usage-metrics-1-day-report: value: download_links: - - https://example.com/copilot-usage-report-1.json - - https://example.com/copilot-usage-report-2.json + - https://example.com/copilot-usage-report-1.ndjson + - https://example.com/copilot-usage-report-2.ndjson report_day: '2025-07-01' copilot-usage-metrics-28-day-report: value: download_links: - - https://example.com/copilot-usage-report-1.json - - https://example.com/copilot-usage-report-2.json + - https://example.com/copilot-usage-report-1.ndjson + - https://example.com/copilot-usage-report-2.ndjson report_start_day: '2025-07-01' report_end_day: '2025-07-28' copilot-organization-details: @@ -4201,105 +4456,6 @@ components: value: octo-repo: - /src/some-dir/kernel.rs - copilot-usage-metrics-for-day: - value: - - date: '2024-06-24' - total_active_users: 24 - total_engaged_users: 20 - copilot_ide_code_completions: - total_engaged_users: 20 - languages: - - name: python - total_engaged_users: 10 - - name: ruby - total_engaged_users: 10 - editors: - - name: vscode - total_engaged_users: 13 - models: - - name: default - is_custom_model: false - custom_model_training_date: null - total_engaged_users: 13 - languages: - - name: python - total_engaged_users: 6 - total_code_suggestions: 249 - total_code_acceptances: 123 - total_code_lines_suggested: 225 - total_code_lines_accepted: 135 - - name: ruby - total_engaged_users: 7 - total_code_suggestions: 496 - total_code_acceptances: 253 - total_code_lines_suggested: 520 - total_code_lines_accepted: 270 - - name: neovim - total_engaged_users: 7 - models: - - name: a-custom-model - is_custom_model: true - custom_model_training_date: '2024-02-01' - languages: - - name: typescript - total_engaged_users: 3 - total_code_suggestions: 112 - total_code_acceptances: 56 - total_code_lines_suggested: 143 - total_code_lines_accepted: 61 - - name: go - total_engaged_users: 4 - total_code_suggestions: 132 - total_code_acceptances: 67 - total_code_lines_suggested: 154 - total_code_lines_accepted: 72 - copilot_ide_chat: - total_engaged_users: 13 - editors: - - name: vscode - total_engaged_users: 13 - models: - - name: default - is_custom_model: false - custom_model_training_date: null - total_engaged_users: 12 - total_chats: 45 - total_chat_insertion_events: 12 - total_chat_copy_events: 16 - - name: a-custom-model - is_custom_model: true - custom_model_training_date: '2024-02-01' - total_engaged_users: 1 - total_chats: 10 - total_chat_insertion_events: 11 - total_chat_copy_events: 3 - copilot_dotcom_chat: - total_engaged_users: 14 - models: - - name: default - is_custom_model: false - custom_model_training_date: null - total_engaged_users: 14 - total_chats: 38 - copilot_dotcom_pull_requests: - total_engaged_users: 12 - repositories: - - name: demo/repo1 - total_engaged_users: 8 - models: - - name: default - is_custom_model: false - custom_model_training_date: null - total_pr_summaries_created: 6 - total_engaged_users: 8 - - name: demo/repo2 - total_engaged_users: 4 - models: - - name: a-custom-model - is_custom_model: true - custom_model_training_date: '2024-02-01' - total_pr_summaries_created: 10 - total_engaged_users: 4 copilot-seat-detail-active: value: created_at: '2021-08-03T18:00:00-06:00' @@ -4390,6 +4546,46 @@ components: update: [] delete: [] replace: [] + copilot_repos_one_day_report: + id: github.copilot.copilot_repos_one_day_report + name: copilot_repos_one_day_report + title: Copilot Repos One Day Report + methods: + copilot_enterprise_repos_one_day_report: + operation: + $ref: >- + #/paths/~1enterprises~1{enterprise}~1copilot~1metrics~1reports~1repos-1-day/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/copilot_repos_one_day_report/methods/copilot_enterprise_repos_one_day_report + insert: [] + update: [] + delete: [] + replace: [] + copilot_user_teams_one_day_report: + id: github.copilot.copilot_user_teams_one_day_report + name: copilot_user_teams_one_day_report + title: Copilot User Teams One Day Report + methods: + copilot_enterprise_user_teams_one_day_report: + operation: + $ref: >- + #/paths/~1enterprises~1{enterprise}~1copilot~1metrics~1reports~1user-teams-1-day/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/copilot_user_teams_one_day_report/methods/copilot_enterprise_user_teams_one_day_report + insert: [] + update: [] + delete: [] + replace: [] copilot_user_one_day_usage_metrics: id: github.copilot.copilot_user_one_day_usage_metrics name: copilot_user_one_day_usage_metrics @@ -4430,6 +4626,61 @@ components: update: [] delete: [] replace: [] + coding_agent_policy: + id: github.copilot.coding_agent_policy + name: coding_agent_policy + title: Coding Agent Policy + methods: + set_enterprise_coding_agent_policy: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1enterprises~1{enterprise}~1copilot~1policies~1coding_agent/put + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/coding_agent_policy/methods/set_enterprise_coding_agent_policy + coding_agent_policy_orgs: + id: github.copilot.coding_agent_policy_orgs + name: coding_agent_policy_orgs + title: Coding Agent Policy Orgs + methods: + add_organizations_to_enterprise_coding_agent_policy: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1enterprises~1{enterprise}~1copilot~1policies~1coding_agent~1organizations/post + response: + mediaType: application/json + openAPIDocKey: '204' + remove_organizations_from_enterprise_coding_agent_policy: + operation: + $ref: >- + #/paths/~1enterprises~1{enterprise}~1copilot~1policies~1coding_agent~1organizations/delete + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: [] + insert: + - $ref: >- + #/components/x-stackQL-resources/coding_agent_policy_orgs/methods/add_organizations_to_enterprise_coding_agent_policy + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/coding_agent_policy_orgs/methods/remove_organizations_from_enterprise_coding_agent_policy + replace: [] org_details: id: github.copilot.org_details name: org_details @@ -4645,25 +4896,6 @@ components: replace: - $ref: >- #/components/x-stackQL-resources/org_content_exclusion/methods/set_copilot_content_exclusion_for_organization - org_copilot_metrics: - id: github.copilot.org_copilot_metrics - name: org_copilot_metrics - title: Org Copilot Metrics - methods: - copilot_metrics_for_organization: - operation: - $ref: '#/paths/~1orgs~1{org}~1copilot~1metrics/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/org_copilot_metrics/methods/copilot_metrics_for_organization - insert: [] - update: [] - delete: [] - replace: [] org_copilot_one_day_usage_metrics: id: github.copilot.org_copilot_one_day_usage_metrics name: org_copilot_one_day_usage_metrics @@ -4704,6 +4936,45 @@ components: update: [] delete: [] replace: [] + org_copilot_repos_one_day_report: + id: github.copilot.org_copilot_repos_one_day_report + name: org_copilot_repos_one_day_report + title: Org Copilot Repos One Day Report + methods: + copilot_organization_repos_one_day_report: + operation: + $ref: '#/paths/~1orgs~1{org}~1copilot~1metrics~1reports~1repos-1-day/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/org_copilot_repos_one_day_report/methods/copilot_organization_repos_one_day_report + insert: [] + update: [] + delete: [] + replace: [] + org_copilot_user_teams_one_day_report: + id: github.copilot.org_copilot_user_teams_one_day_report + name: org_copilot_user_teams_one_day_report + title: Org Copilot User Teams One Day Report + methods: + copilot_organization_user_teams_one_day_report: + operation: + $ref: >- + #/paths/~1orgs~1{org}~1copilot~1metrics~1reports~1user-teams-1-day/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/org_copilot_user_teams_one_day_report/methods/copilot_organization_user_teams_one_day_report + insert: [] + update: [] + delete: [] + replace: [] org_copilot_user_one_day_usage_metrics: id: github.copilot.org_copilot_user_one_day_usage_metrics name: org_copilot_user_one_day_usage_metrics @@ -4762,24 +5033,33 @@ components: update: [] delete: [] replace: [] - copilot_metrics: - id: github.copilot.copilot_metrics - name: copilot_metrics - title: Copilot Metrics + repo_cloud_agent_configuration: + id: github.copilot.repo_cloud_agent_configuration + name: repo_cloud_agent_configuration + title: Repo Cloud Agent Configuration methods: - copilot_metrics_for_team: + get_copilot_cloud_agent_configuration: operation: - $ref: '#/paths/~1orgs~1{org}~1team~1{team_slug}~1copilot~1metrics/get' + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1copilot~1cloud-agent~1configuration/get response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: >- - #/components/x-stackQL-resources/copilot_metrics/methods/copilot_metrics_for_team + #/components/x-stackQL-resources/repo_cloud_agent_configuration/methods/get_copilot_cloud_agent_configuration insert: [] update: [] delete: [] replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/copilot_spaces.yaml b/providers/src/github/v00.00.00000/services/copilot_spaces.yaml new file mode 100644 index 00000000..093463d3 --- /dev/null +++ b/providers/src/github/v00.00.00000/services/copilot_spaces.yaml @@ -0,0 +1,4026 @@ +openapi: 3.0.3 +info: + title: copilot_spaces API + description: github API + version: 1.1.4 +paths: + /orgs/{org}/copilot-spaces: + get: + summary: List organization Copilot Spaces + description: >- + Lists Copilot Spaces owned by an organization. The authenticated user + must have read access to the organization's Copilot Spaces. + + + Only Spaces that are readable by the authenticated user are returned. + This includes public Spaces and internal Spaces if the user is a member + of the organization. + + + OAuth app tokens and personal access tokens (classic) need the + `read:org` scope to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by resources in + a space; spaces with inaccessible resources are omitted from the + response. + tags: + - copilot-spaces + operationId: copilot-spaces/list-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/copilot-spaces#list-organization-copilot-spaces + parameters: + - $ref: '#/components/parameters/org' + - name: per_page + description: The number of results per page (max 100). + in: query + schema: + type: integer + minimum: 1 + maximum: 100 + default: 30 + - name: before + description: >- + A cursor, as given in the [Link + header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). + If specified, the query only searches for results before this + cursor. + in: query + schema: + type: string + - name: after + description: >- + A cursor, as given in the [Link + header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). + If specified, the query only searches for results after this cursor. + in: query + schema: + type: string + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - spaces + properties: + spaces: + type: array + description: The list of Copilot Spaces on this page of results. + items: + $ref: '#/components/schemas/copilot-space' + examples: + default: + $ref: '#/components/examples/copilot-spaces-organization-list' + headers: + Link: + $ref: '#/components/headers/link' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: copilot-spaces + x-stackQL-resource: copilot_spaces + post: + summary: Create an organization Copilot Space + description: >- + Creates a new Copilot Space owned by an organization. The authenticated + user must have permissions to create spaces in the organization. + + + Organization members with appropriate permissions can create Copilot + Spaces to be shared within their organization. + + + OAuth app tokens and personal access tokens (classic) need the + `read:org` scope to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by the submitted + resources. + tags: + - copilot-spaces + operationId: copilot-spaces/create-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/copilot-spaces#create-an-organization-copilot-space + parameters: + - $ref: '#/components/parameters/org' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the Copilot Space. + example: Team Planning Space + description: + type: string + description: A description of the Copilot Space. + example: Organization space for team planning and coordination + general_instructions: + type: string + maxLength: 4000 + description: General instructions for the Copilot Space. + example: Help the team with planning and coordination tasks + base_role: + type: string + enum: + - reader + - writer + - admin + - no_access + description: >- + The base role that determines default permissions for + organization members. + + - `no_access`: No default access (default) + + - `reader`: Organization members can read the space + + - `writer`: Organization members can read and edit the space + + - `admin`: Organization members have full admin access to + the space + default: no_access + resources_attributes: + type: array + description: Resources to attach to the space. + items: + type: object + properties: + resource_type: + type: string + enum: + - repository + - github_file + - free_text + - github_issue + - github_pull_request + - media_content + - uploaded_text_file + description: The type of resource. + metadata: + type: object + description: Metadata specific to the resource type. + properties: + repository_id: + type: integer + description: Repository ID for repository or file resources. + file_path: + type: string + description: File path for file resources. + text: + type: string + description: Text content for free text resources. + name: + type: string + description: Name for the resource. + number: + type: integer + description: Issue or PR number. + required: + - name + examples: + default: + value: + name: Team Planning Space + description: Organization space for team planning and coordination + general_instructions: Help the team with planning and coordination tasks + resources_attributes: + - resource_type: github_file + metadata: + repository_id: 123456 + file_path: docs/planning.md + - resource_type: free_text + metadata: + name: Team Guidelines + text: >- + Our team follows agile methodology and holds daily + standups + responses: + '201': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space' + examples: + default: + $ref: '#/components/examples/copilot-space-organization' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: copilot-spaces + x-stackQL-resource: copilot_spaces + /orgs/{org}/copilot-spaces/{space_number}: + get: + summary: Get an organization Copilot Space + description: >- + Gets details about a specific Copilot Space owned by an organization. + The authenticated user must have read access to the Space. + + + Internal Spaces require the authenticated user to be a member of the + organization or have been granted read permissions. + + + OAuth app tokens and personal access tokens (classic) need the + `read:org` scope to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by resources in + the space. + tags: + - copilot-spaces + operationId: copilot-spaces/get-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/copilot-spaces#get-an-organization-copilot-space + parameters: + - $ref: '#/components/parameters/org' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space' + examples: + default: + $ref: '#/components/examples/copilot-space-organization' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: copilot-spaces + x-stackQL-resource: copilot_spaces + put: + summary: Set an organization Copilot Space + description: >- + Updates a Copilot Space owned by an organization. The authenticated user + must have permissions to update spaces in the organization. + + + Organization members with appropriate permissions can update Copilot + Spaces owned by their organization. + + + OAuth app tokens and personal access tokens (classic) need the + `read:org` scope to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by resources in + the space, including any being added or updated. + tags: + - copilot-spaces + operationId: copilot-spaces/update-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/copilot-spaces#set-an-organization-copilot-space + parameters: + - $ref: '#/components/parameters/org' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the Copilot Space. + example: Updated Team Planning Space + description: + type: string + description: A description of the Copilot Space. + example: >- + Updated organization space for team planning and + coordination + general_instructions: + type: string + maxLength: 4000 + description: General instructions for the Copilot Space. + example: >- + Updated instructions to help the team with planning and + coordination tasks + base_role: + type: string + enum: + - reader + - writer + - admin + - no_access + description: >- + The base role that determines default permissions for + organization members. Changing this field requires admin + permissions. + + - `no_access`: No default access (default) + + - `reader`: Organization members can read the space + + - `writer`: Organization members can read and edit the space + + - `admin`: Organization members have full admin access to + the space + resources_attributes: + type: array + description: Resources to attach to the space. + items: + type: object + properties: + resource_type: + type: string + enum: + - repository + - github_file + - free_text + - github_issue + - github_pull_request + - media_content + - uploaded_text_file + description: The type of resource. + metadata: + type: object + description: Metadata specific to the resource type. + properties: + repository_id: + type: integer + description: Repository ID for repository or file resources. + file_path: + type: string + description: File path for file resources. + text: + type: string + description: Text content for free text resources. + name: + type: string + description: Name for the resource. + number: + type: integer + description: Issue or PR number. + examples: + default: + value: + name: Updated Team Planning Space + description: >- + Updated organization space for team planning and + coordination + general_instructions: >- + Updated instructions to help the team with planning and + coordination tasks + resources_attributes: + - resource_type: github_file + metadata: + repository_id: 123456 + file_path: docs/updated-planning.md + - id: 789 + _destroy: true + - id: 456 + resource_type: free_text + metadata: + name: Updated Team Guidelines + text: >- + Our updated team follows agile methodology and holds + daily standups + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space' + examples: + default: + $ref: '#/components/examples/copilot-space-organization' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: copilot-spaces + x-stackQL-resource: copilot_spaces + delete: + summary: Delete an organization Copilot Space + description: >- + Deletes a Copilot Space owned by an organization. The authenticated user + must have permissions to delete spaces in the organization. + + + **Warning:** This action is permanent and cannot be undone. Deleting a + Copilot Space will remove all associated resources and configurations. + + + Organization members with appropriate permissions can delete Copilot + Spaces owned by their organization. + + + OAuth app tokens and personal access tokens (classic) need both the + `read:org` and `repo` scopes to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by resources in + the space. + tags: + - copilot-spaces + operationId: copilot-spaces/delete-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/copilot-spaces#delete-an-organization-copilot-space + parameters: + - $ref: '#/components/parameters/org' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + responses: + '204': + description: The Copilot Space has been successfully deleted. + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: copilot-spaces + x-stackQL-resource: copilot_spaces + /orgs/{org}/copilot-spaces/{space_number}/collaborators: + get: + summary: List collaborators for an organization Copilot Space + description: >- + Lists all collaborators for a specific Copilot Space owned by an + organization. The authenticated user must have appropriate permissions + to view collaborators. + + + Each collaborator entry specifies which user or team has access to the + space and at what level (reader, writer, or admin). The space owner + (organization) is excluded from this list. + + + **Note:** Team collaborators listed here are teams that are defined in + the organization. + + + OAuth app tokens and personal access tokens (classic) need the + `read:org` scope to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by resources in + the space. + tags: + - copilot-spaces + operationId: copilot-spaces/list-collaborators-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/collaborators#list-collaborators-for-an-organization-copilot-space + parameters: + - $ref: '#/components/parameters/org' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - collaborators + properties: + collaborators: + type: array + description: The list of collaborators for this Copilot Space. + items: + $ref: '#/components/schemas/copilot-space-collaborator' + examples: + default: + value: + collaborators: + - actor_type: User + role: writer + login: octocat + id: 12345 + node_id: MDQ6VXNlcjEyMzQ1 + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: >- + https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: >- + https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + user_view_type: public + site_admin: false + name: The Octocat + company: GitHub + blog: https://github.com/blog + location: San Francisco + email: octocat@github.com + hireable: false + bio: There once was... + twitter_username: octocat + public_repos: 2 + public_gists: 1 + followers: 20 + following: 0 + created_at: '2008-01-14T04:33:35Z' + updated_at: '2008-01-14T04:33:35Z' + - actor_type: Team + role: reader + id: 67890 + node_id: MDQ6VGVhbTY3ODkw + url: https://api.github.com/teams/67890 + html_url: https://github.com/orgs/octo-org/teams/developers + name: Developers + slug: developers + description: Team of developers + privacy: closed + notification_setting: notifications_enabled + members_url: https://api.github.com/teams/67890/members{/member} + repositories_url: https://api.github.com/teams/67890/repos + parent: null + created_at: '2017-07-14T16:53:42Z' + updated_at: '2017-08-17T12:37:15Z' + organization: + login: octo-org + id: 1 + node_id: MDEyOk9yZ2FuaXphdGlvbjE= + url: https://api.github.com/orgs/octo-org + repos_url: https://api.github.com/orgs/octo-org/repos + events_url: https://api.github.com/orgs/octo-org/events + hooks_url: https://api.github.com/orgs/octo-org/hooks + issues_url: https://api.github.com/orgs/octo-org/issues + members_url: >- + https://api.github.com/orgs/octo-org/members{/member} + public_members_url: >- + https://api.github.com/orgs/octo-org/public_members{/member} + avatar_url: https://github.com/images/error/octocat_happy.gif + description: A great organization + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: collaborators + x-stackQL-resource: collaborators + post: + summary: Add a collaborator to an organization Copilot Space + description: >- + Adds a collaborator (user or team) to a specific Copilot Space owned by + an organization. The authenticated user must have appropriate + permissions to manage collaborators. + + + **Note:** When adding users as collaborators, they must already be + members of the organization. + + When adding teams as collaborators, they must be defined in the + organization. + + + OAuth app tokens and personal access tokens (classic) need the + `write:org` scope to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by resources in + the space. + tags: + - copilot-spaces + operationId: copilot-spaces/add-collaborator-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/collaborators#add-a-collaborator-to-an-organization-copilot-space + parameters: + - $ref: '#/components/parameters/org' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - actor_type + - actor_identifier + - role + properties: + actor_type: + type: string + enum: + - User + - Team + description: The type of actor (user or team). + actor_identifier: + type: string + description: >- + The username (for users) or team slug (for teams). The + numeric ID of a user or team is also accepted. + role: + type: string + enum: + - reader + - writer + - admin + description: The role to grant to the collaborator. + examples: + user: + value: + actor_type: User + actor_identifier: octocat + role: writer + team: + value: + actor_type: Team + actor_identifier: developers + role: reader + responses: + '201': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space-collaborator' + examples: + user: + value: + actor_type: User + role: writer + login: octocat + id: 12345 + node_id: MDQ6VXNlcjEyMzQ1 + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: >- + https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: >- + https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + user_view_type: public + site_admin: false + name: The Octocat + company: GitHub + blog: https://github.com/blog + location: San Francisco + email: octocat@github.com + hireable: false + bio: There once was... + twitter_username: octocat + public_repos: 2 + public_gists: 1 + followers: 20 + following: 0 + created_at: '2008-01-14T04:33:35Z' + updated_at: '2008-01-14T04:33:35Z' + team: + value: + actor_type: Team + role: reader + id: 67890 + node_id: MDQ6VGVhbTY3ODkw + url: https://api.github.com/teams/67890 + html_url: https://github.com/orgs/octo-org/teams/developers + name: Developers + slug: developers + type: Team + description: Team of developers + privacy: closed + notification_setting: notifications_enabled + members_url: https://api.github.com/teams/67890/members{/member} + repositories_url: https://api.github.com/teams/67890/repos + parent: null + organization_id: 1 + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: collaborators + x-stackQL-resource: collaborators + /orgs/{org}/copilot-spaces/{space_number}/collaborators/{actor_type}/{actor_identifier}: + put: + summary: Set a collaborator role for an organization Copilot Space + description: >- + Updates the role of a collaborator for a specific Copilot Space owned by + an organization. The authenticated user must have appropriate + permissions to manage collaborators. + + + OAuth app tokens and personal access tokens (classic) need the + `write:org` scope to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by resources in + the space. + tags: + - copilot-spaces + operationId: copilot-spaces/update-collaborator-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/collaborators#set-a-collaborator-role-for-an-organization-copilot-space + parameters: + - $ref: '#/components/parameters/org' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + - name: actor_type + description: The type of actor (user or team). + in: path + required: true + schema: + type: string + enum: + - User + - Team + - name: actor_identifier + description: >- + The username (for users) or team slug (for teams). The numeric ID of + a user or team is also accepted. + in: path + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - role + properties: + role: + type: string + enum: + - reader + - writer + - admin + - no_access + description: >- + The new role to grant to the collaborator. Use `no_access` + to remove the collaborator. + examples: + default: + value: + role: admin + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space-collaborator' + examples: + user: + value: + actor_type: User + role: admin + login: octocat + id: 12345 + node_id: MDQ6VXNlcjEyMzQ1 + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: >- + https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: >- + https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + user_view_type: public + site_admin: false + name: The Octocat + company: GitHub + blog: https://github.com/blog + location: San Francisco + email: octocat@github.com + hireable: false + bio: There once was... + twitter_username: octocat + public_repos: 2 + public_gists: 1 + followers: 20 + following: 0 + created_at: '2008-01-14T04:33:35Z' + updated_at: '2008-01-14T04:33:35Z' + team: + value: + actor_type: Team + role: admin + id: 67890 + node_id: MDQ6VGVhbTY3ODkw + url: https://api.github.com/teams/67890 + html_url: https://github.com/orgs/octo-org/teams/developers + name: Developers + slug: developers + type: Team + description: Team of developers + privacy: closed + notification_setting: notifications_enabled + members_url: https://api.github.com/teams/67890/members{/member} + repositories_url: https://api.github.com/teams/67890/repos + parent: null + organization_id: 1 + '204': + description: >- + Response when `role` is `no_access` and the collaborator was + removed. + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: collaborators + x-stackQL-resource: collaborators + delete: + summary: Remove a collaborator from an organization Copilot Space + description: >- + Removes a collaborator from a specific Copilot Space owned by an + organization. The authenticated user must have appropriate permissions + to manage collaborators. + + + OAuth app tokens and personal access tokens (classic) need the + `write:org` scope to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by resources in + the space. + tags: + - copilot-spaces + operationId: copilot-spaces/remove-collaborator-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/collaborators#remove-a-collaborator-from-an-organization-copilot-space + parameters: + - $ref: '#/components/parameters/org' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + - name: actor_type + description: The type of actor (user or team). + in: path + required: true + schema: + type: string + enum: + - User + - Team + - name: actor_identifier + description: >- + The username (for users) or team slug (for teams). The numeric ID of + a user or team is also accepted. + in: path + required: true + schema: + type: string + responses: + '204': + description: Response + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: collaborators + x-stackQL-resource: collaborators + /orgs/{org}/copilot-spaces/{space_number}/resources: + get: + summary: List resources for an organization Copilot Space + description: >- + Lists all resources attached to a specific Copilot Space owned by an + organization. + + The authenticated user must have appropriate permissions to view the + space. + + + OAuth app tokens and personal access tokens (classic) need the + `read:org` scope to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by resources in + the space. + tags: + - copilot-spaces + operationId: copilot-spaces/list-resources-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/resources#list-resources-for-an-organization-copilot-space + parameters: + - $ref: '#/components/parameters/org' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - resources + properties: + resources: + type: array + description: The list of resources attached to this Copilot Space. + items: + $ref: '#/components/schemas/copilot-space-resource' + examples: + default: + value: + resources: + - id: 1 + resource_type: repository + copilot_chat_attachment_id: null + metadata: + repository_id: 42 + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + - id: 2 + resource_type: free_text + copilot_chat_attachment_id: null + metadata: + name: notes.txt + text: Some helpful notes + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: resources + x-stackQL-resource: resources + post: + summary: Create a resource for an organization Copilot Space + description: >- + Creates a new resource in a specific Copilot Space owned by an + organization. + + The authenticated user must have write permissions on the space. + + + The following resource types are supported: `repository`, `github_file`, + `free_text`, `github_issue`, `github_pull_request`. + + The `uploaded_text_file` and `media_content` types are not supported via + this endpoint. + + + For `github_file` resources, if a resource with the same repository, + file path, and SHA already exists, the existing resource is returned + with a `200` status. + + + OAuth app tokens and personal access tokens (classic) need the + `write:org` scope to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by resources in + the space, including the resource being created. + tags: + - copilot-spaces + operationId: copilot-spaces/create-resource-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/resources#create-a-resource-for-an-organization-copilot-space + parameters: + - $ref: '#/components/parameters/org' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - resource_type + - metadata + properties: + resource_type: + type: string + enum: + - repository + - github_file + - free_text + - github_issue + - github_pull_request + description: The type of resource to create. + metadata: + type: object + description: Resource-specific metadata. + additionalProperties: true + examples: + free_text: + value: + resource_type: free_text + metadata: + name: notes.txt + text: Some helpful notes + repository: + value: + resource_type: repository + metadata: + repository_id: 42 + github_file: + value: + resource_type: github_file + metadata: + repository_id: 42 + file_path: README.md + sha: abc123 + responses: + '200': + description: Duplicate github_file resource already exists + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space-resource' + examples: + default: + value: + id: 1 + resource_type: github_file + copilot_chat_attachment_id: null + metadata: + repository_id: 42 + file_path: README.md + sha: abc123 + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '201': + description: Resource created + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space-resource' + examples: + default: + value: + id: 1 + resource_type: free_text + copilot_chat_attachment_id: null + metadata: + name: notes.txt + text: Some helpful notes + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: resources + x-stackQL-resource: resources + /orgs/{org}/copilot-spaces/{space_number}/resources/{space_resource_id}: + get: + summary: Get a resource for an organization Copilot Space + description: >- + Gets a specific resource attached to a Copilot Space owned by an + organization. + + The authenticated user must have appropriate permissions to view the + space. + + + OAuth app tokens and personal access tokens (classic) need the + `read:org` scope to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by resources in + the space. + tags: + - copilot-spaces + operationId: copilot-spaces/get-resource-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/resources#get-a-resource-for-an-organization-copilot-space + parameters: + - $ref: '#/components/parameters/org' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + - name: space_resource_id + description: The unique identifier of the resource. + in: path + required: true + schema: + type: integer + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space-resource' + examples: + default: + value: + id: 1 + resource_type: free_text + copilot_chat_attachment_id: null + metadata: + name: notes.txt + text: Some helpful notes + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: resources + x-stackQL-resource: resources + put: + summary: Set a resource for an organization Copilot Space + description: >- + Updates the metadata of a resource in a specific Copilot Space owned by + an organization. + + The authenticated user must have write permissions on the space. + + + OAuth app tokens and personal access tokens (classic) need the + `write:org` scope to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by resources in + the space, including the resource being updated. + tags: + - copilot-spaces + operationId: copilot-spaces/update-resource-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/resources#set-a-resource-for-an-organization-copilot-space + parameters: + - $ref: '#/components/parameters/org' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + - name: space_resource_id + description: The unique identifier of the resource. + in: path + required: true + schema: + type: integer + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + metadata: + type: object + description: Updated resource-specific metadata. + additionalProperties: true + examples: + default: + value: + metadata: + name: updated-notes.txt + text: Updated content + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space-resource' + examples: + default: + value: + id: 1 + resource_type: free_text + copilot_chat_attachment_id: null + metadata: + name: updated-notes.txt + text: Updated content + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T12:00:00Z' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: resources + x-stackQL-resource: resources + delete: + summary: Delete a resource from an organization Copilot Space + description: >- + Deletes a resource from a specific Copilot Space owned by an + organization. + + The authenticated user must have write permissions on the space. + + + OAuth app tokens and personal access tokens (classic) need the + `write:org` scope to use this endpoint. + + + Fine-grained tokens and GitHub App user access tokens must have been + granted access to the organization that owns the space. They must also + have been granted access to every repository referenced by resources in + the space. + tags: + - copilot-spaces + operationId: copilot-spaces/delete-resource-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/resources#delete-a-resource-from-an-organization-copilot-space + parameters: + - $ref: '#/components/parameters/org' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + - name: space_resource_id + description: The unique identifier of the resource. + in: path + required: true + schema: + type: integer + responses: + '204': + description: Response + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: resources + x-stackQL-resource: resources + /users/{username}/copilot-spaces: + get: + summary: List Copilot Spaces for a user + description: >- + Lists Copilot Spaces owned by a user. The authenticated user must have + read access to the user's Copilot Spaces. + + + Only Spaces that are readable by the authenticated user are returned. + This includes the user's own spaces, and public user spaces when + accessing another user's spaces. + + + OAuth app tokens and personal access tokens (classic) need the + `read:user` scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/list-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/copilot-spaces#list-copilot-spaces-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - name: per_page + description: The number of results per page (max 100). + in: query + schema: + type: integer + minimum: 1 + maximum: 100 + default: 30 + - name: before + description: >- + A cursor, as given in the [Link + header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). + If specified, the query only searches for results before this + cursor. + in: query + schema: + type: string + - name: after + description: >- + A cursor, as given in the [Link + header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). + If specified, the query only searches for results after this cursor. + in: query + schema: + type: string + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - spaces + properties: + spaces: + type: array + description: The list of Copilot Spaces on this page of results. + items: + $ref: '#/components/schemas/copilot-space' + examples: + default: + $ref: '#/components/examples/copilot-spaces-user-list' + headers: + Link: + $ref: '#/components/headers/link' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: false + category: copilot-spaces + subcategory: copilot-spaces + x-stackQL-resource: copilot_spaces + post: + summary: Create a Copilot Space for a user + description: >- + Creates a new Copilot Space owned by a user. Only the authenticated user + can create spaces for their own account. + + + Users can create personal Copilot Spaces for their individual use. + + + OAuth app tokens and personal access tokens (classic) need the + `read:user` scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/create-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/copilot-spaces#create-a-copilot-space-for-a-user + parameters: + - $ref: '#/components/parameters/username' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the Copilot Space. + example: My Development Space + description: + type: string + description: A description of the Copilot Space. + example: Personal space for development assistance + general_instructions: + type: string + maxLength: 4000 + description: General instructions for the Copilot Space. + example: Help me with React development patterns and best practices + base_role: + type: string + enum: + - reader + - no_access + description: >- + The base role that determines default permissions for the + space. + + - `no_access`: No default access (default) + + - `reader`: Makes the space publicly readable + + Note: User spaces do not support writer or admin base roles. + default: no_access + resources_attributes: + type: array + description: Resources to attach to the space. + items: + type: object + properties: + resource_type: + type: string + enum: + - repository + - github_file + - free_text + - github_issue + - github_pull_request + - media_content + - uploaded_text_file + description: The type of resource. + metadata: + type: object + description: Metadata specific to the resource type. + properties: + repository_id: + type: integer + description: Repository ID for repository or file resources. + file_path: + type: string + description: File path for file resources. + text: + type: string + description: Text content for free text resources. + name: + type: string + description: Name for the resource. + number: + type: integer + description: Issue or PR number. + required: + - name + examples: + default: + value: + name: My Development Space + description: Personal space for development assistance + general_instructions: Help me with React development patterns and best practices + resources_attributes: + - resource_type: github_file + metadata: + repository_id: 789012 + file_path: src/components/App.js + - resource_type: free_text + metadata: + name: Development Notes + text: >- + Focus on clean code principles and modern React + patterns + responses: + '201': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space' + examples: + default: + $ref: '#/components/examples/copilot-space-user' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: false + category: copilot-spaces + subcategory: copilot-spaces + x-stackQL-resource: copilot_spaces + /users/{username}/copilot-spaces/{space_number}: + get: + summary: Get a Copilot Space for a user + description: >- + Gets details about a specific Copilot Space owned by a user. The + authenticated user must have read access to the Space. + + + Private user spaces require the authenticated user to be the owner of + the space. + + Public user spaces are accessible to any authenticated user. + + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/get-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/copilot-spaces#get-a-copilot-space-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space' + examples: + default: + $ref: '#/components/examples/copilot-space-user' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: false + category: copilot-spaces + subcategory: copilot-spaces + x-stackQL-resource: copilot_spaces + put: + summary: Set a Copilot Space for a user + description: >- + Updates a Copilot Space owned by a user. Only the authenticated user can + update spaces for their own account. + + + Users can update their personal Copilot Spaces. + + + OAuth app tokens and personal access tokens (classic) need the + `read:user` scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/update-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/copilot-spaces#set-a-copilot-space-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the Copilot Space. + example: Updated Development Space + description: + type: string + description: A description of the Copilot Space. + example: Updated personal space for development assistance + general_instructions: + type: string + maxLength: 4000 + description: General instructions for the Copilot Space. + example: >- + Updated instructions to help me with React development + patterns and best practices + base_role: + type: string + enum: + - reader + - no_access + description: >- + The base role that determines default permissions for the + space. Changing this field requires admin permissions. + + - `no_access`: No default access (default) + + - `reader`: Makes the space publicly readable + + Note: User spaces do not support writer or admin base roles. + resources_attributes: + type: array + description: Resources to attach to the space. + items: + type: object + properties: + resource_type: + type: string + enum: + - repository + - github_file + - free_text + - github_issue + - github_pull_request + - media_content + - uploaded_text_file + description: The type of resource. + metadata: + type: object + description: Metadata specific to the resource type. + properties: + repository_id: + type: integer + description: Repository ID for repository or file resources. + file_path: + type: string + description: File path for file resources. + text: + type: string + description: Text content for free text resources. + name: + type: string + description: Name for the resource. + number: + type: integer + description: Issue or PR number. + examples: + default: + value: + name: Updated Development Space + description: Updated personal space for development assistance + general_instructions: >- + Updated instructions to help me with React development + patterns and best practices + resources_attributes: + - resource_type: github_file + metadata: + repository_id: 789012 + file_path: src/components/UpdatedApp.js + - id: 123 + _destroy: true + - id: 456 + resource_type: free_text + metadata: + name: Updated Development Notes + text: >- + Updated focus on clean code principles and modern + React patterns + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space' + examples: + default: + $ref: '#/components/examples/copilot-space-user' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: true + category: copilot-spaces + subcategory: copilot-spaces + x-stackQL-resource: copilot_spaces + delete: + summary: Delete a Copilot Space for a user + description: >- + Deletes a Copilot Space owned by a user. The authenticated user must be + the owner of the space. + + + **Warning:** This action is permanent and cannot be undone. Deleting a + space will remove all associated resources and configurations. + + + OAuth app tokens and personal access tokens (classic) need the `user` + scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/delete-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/copilot-spaces#delete-a-copilot-space-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + responses: + '204': + description: The Copilot Space has been successfully deleted. + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: false + category: copilot-spaces + subcategory: copilot-spaces + x-stackQL-resource: copilot_spaces + /users/{username}/copilot-spaces/{space_number}/collaborators: + get: + summary: List collaborators for a Copilot Space for a user + description: >- + Lists all collaborators for a specific Copilot Space owned by a user. + The authenticated user must be the owner of the space or have admin + access to the space. + + + Each collaborator entry specifies which user has access to the space and + at what level (reader, writer, or admin). The space owner is excluded + from this list. + + + Team collaborators are not supported for user-owned Copilot Spaces. + + + OAuth app tokens and personal access tokens (classic) need the `user` + scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/list-collaborators-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/collaborators#list-collaborators-for-a-copilot-space-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - collaborators + properties: + collaborators: + type: array + description: The list of collaborators for this Copilot Space. + items: + $ref: '#/components/schemas/copilot-space-collaborator' + examples: + default: + value: + collaborators: + - actor_type: User + role: writer + login: octocat + id: 12345 + node_id: MDQ6VXNlcjEyMzQ1 + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: >- + https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: >- + https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + user_view_type: public + site_admin: false + name: The Octocat + company: GitHub + blog: https://github.com/blog + location: San Francisco + email: octocat@github.com + hireable: false + bio: There once was... + twitter_username: octocat + public_repos: 2 + public_gists: 1 + followers: 20 + following: 0 + created_at: '2008-01-14T04:33:35Z' + updated_at: '2008-01-14T04:33:35Z' + - actor_type: User + role: reader + login: github-user + id: 67890 + node_id: MDQ6VXNlcjY3ODkw + avatar_url: https://github.com/images/error/other_user.gif + gravatar_id: '' + url: https://api.github.com/users/github-user + html_url: https://github.com/github-user + followers_url: https://api.github.com/users/github-user/followers + following_url: >- + https://api.github.com/users/github-user/following{/other_user} + gists_url: >- + https://api.github.com/users/github-user/gists{/gist_id} + starred_url: >- + https://api.github.com/users/github-user/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/github-user/subscriptions + organizations_url: https://api.github.com/users/github-user/orgs + repos_url: https://api.github.com/users/github-user/repos + events_url: >- + https://api.github.com/users/github-user/events{/privacy} + received_events_url: >- + https://api.github.com/users/github-user/received_events + type: User + user_view_type: public + site_admin: false + name: GitHub User + company: null + blog: '' + location: null + email: null + hireable: null + bio: null + twitter_username: null + public_repos: 5 + public_gists: 0 + followers: 10 + following: 5 + created_at: '2010-01-14T04:33:35Z' + updated_at: '2010-01-14T04:33:35Z' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: false + category: copilot-spaces + subcategory: collaborators + x-stackQL-resource: collaborators + post: + summary: Add a collaborator to a Copilot Space for a user + description: >- + Adds a collaborator to a specific Copilot Space owned by a user. The + authenticated user must be the owner of the space or have admin access + to the space. + + + Team collaborators are not supported for user-owned Copilot Spaces. + + + OAuth app tokens and personal access tokens (classic) need the `user` + scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/add-collaborator-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/collaborators#add-a-collaborator-to-a-copilot-space-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - actor_type + - actor_identifier + - role + properties: + actor_type: + type: string + enum: + - User + - Team + description: >- + The type of actor (must be `User` for user-owned spaces; + `Team` will be rejected). + actor_identifier: + type: string + description: >- + The username of the collaborator. The numeric user ID is + also accepted. + role: + type: string + enum: + - reader + - writer + - admin + description: The role to grant to the collaborator. + examples: + default: + value: + actor_type: User + actor_identifier: octocat + role: writer + responses: + '201': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space-collaborator' + examples: + default: + value: + actor_type: User + role: writer + login: octocat + id: 12345 + node_id: MDQ6VXNlcjEyMzQ1 + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: >- + https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: >- + https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + user_view_type: public + site_admin: false + name: The Octocat + company: GitHub + blog: https://github.com/blog + location: San Francisco + email: octocat@github.com + hireable: false + bio: There once was... + twitter_username: octocat + public_repos: 2 + public_gists: 1 + followers: 20 + following: 0 + created_at: '2008-01-14T04:33:35Z' + updated_at: '2008-01-14T04:33:35Z' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: false + category: copilot-spaces + subcategory: collaborators + x-stackQL-resource: collaborators + /users/{username}/copilot-spaces/{space_number}/collaborators/{actor_type}/{actor_identifier}: + put: + summary: Set a collaborator role for a Copilot Space for a user + description: >- + Updates the role of a collaborator for a specific Copilot Space owned by + a user. The authenticated user must be the owner of the space or have + admin access to the space. + + + OAuth app tokens and personal access tokens (classic) need the `user` + scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/update-collaborator-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/collaborators#set-a-collaborator-role-for-a-copilot-space-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + - name: actor_type + description: >- + The type of actor (must be `User` for user-owned spaces; `Team` will + be rejected). + in: path + required: true + schema: + type: string + enum: + - User + - Team + - name: actor_identifier + description: >- + The username of the collaborator. The numeric user ID is also + accepted. + in: path + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - role + properties: + role: + type: string + enum: + - reader + - writer + - admin + - no_access + description: >- + The new role to grant to the collaborator. Use `no_access` + to remove the collaborator. + examples: + default: + value: + role: admin + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space-collaborator' + examples: + default: + value: + actor_type: User + role: admin + login: octocat + id: 12345 + node_id: MDQ6VXNlcjEyMzQ1 + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: >- + https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: >- + https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + user_view_type: public + site_admin: false + name: The Octocat + company: GitHub + blog: https://github.com/blog + location: San Francisco + email: octocat@github.com + hireable: false + bio: There once was... + twitter_username: octocat + public_repos: 2 + public_gists: 1 + followers: 20 + following: 0 + created_at: '2008-01-14T04:33:35Z' + updated_at: '2008-01-14T04:33:35Z' + '204': + description: >- + Response when `role` is `no_access` and the collaborator was + removed. + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: false + category: copilot-spaces + subcategory: collaborators + x-stackQL-resource: collaborators + delete: + summary: Remove a collaborator from a Copilot Space for a user + description: >- + Removes a collaborator from a specific Copilot Space owned by a user. + The authenticated user must be the owner of the space or have admin + access to the space. + + + OAuth app tokens and personal access tokens (classic) need the `user` + scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/remove-collaborator-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/collaborators#remove-a-collaborator-from-a-copilot-space-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + - name: actor_type + description: >- + The type of actor (must be `User` for user-owned spaces; `Team` will + be rejected). + in: path + required: true + schema: + type: string + enum: + - User + - Team + - name: actor_identifier + description: >- + The username of the collaborator. The numeric user ID is also + accepted. + in: path + required: true + schema: + type: string + responses: + '204': + description: Response + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: false + category: copilot-spaces + subcategory: collaborators + x-stackQL-resource: collaborators + /users/{username}/copilot-spaces/{space_number}/resources: + get: + summary: List resources for a Copilot Space for a user + description: >- + Lists all resources attached to a specific Copilot Space owned by a + user. + + The authenticated user must have appropriate permissions to view the + space. + + + OAuth app tokens and personal access tokens (classic) need the + `read:user` scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/list-resources-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/resources#list-resources-for-a-copilot-space-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - resources + properties: + resources: + type: array + description: The list of resources attached to this Copilot Space. + items: + $ref: '#/components/schemas/copilot-space-resource' + examples: + default: + value: + resources: + - id: 1 + resource_type: free_text + copilot_chat_attachment_id: null + metadata: + name: notes.txt + text: Some helpful notes + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: false + category: copilot-spaces + subcategory: resources + x-stackQL-resource: resources + post: + summary: Create a resource for a Copilot Space for a user + description: >- + Creates a new resource in a specific Copilot Space owned by a user. + + The authenticated user must have write permissions on the space. + + + The following resource types are supported: `repository`, `github_file`, + `free_text`, `github_issue`, `github_pull_request`. + + The `uploaded_text_file` and `media_content` types are not supported via + this endpoint. + + + For `github_file` resources, if a resource with the same repository, + file path, and SHA already exists, the existing resource is returned + with a `200` status. + + + OAuth app tokens and personal access tokens (classic) need the + `write:user` scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/create-resource-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/resources#create-a-resource-for-a-copilot-space-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - resource_type + - metadata + properties: + resource_type: + type: string + enum: + - repository + - github_file + - free_text + - github_issue + - github_pull_request + description: The type of resource to create. + metadata: + type: object + description: Resource-specific metadata. + additionalProperties: true + examples: + free_text: + value: + resource_type: free_text + metadata: + name: notes.txt + text: Some helpful notes + repository: + value: + resource_type: repository + metadata: + repository_id: 42 + github_file: + value: + resource_type: github_file + metadata: + repository_id: 42 + file_path: README.md + sha: abc123 + responses: + '200': + description: Duplicate github_file resource already exists + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space-resource' + examples: + default: + value: + id: 1 + resource_type: github_file + copilot_chat_attachment_id: null + metadata: + repository_id: 42 + file_path: README.md + sha: abc123 + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '201': + description: Resource created + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space-resource' + examples: + default: + value: + id: 1 + resource_type: free_text + copilot_chat_attachment_id: null + metadata: + name: notes.txt + text: Some helpful notes + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: false + category: copilot-spaces + subcategory: resources + x-stackQL-resource: resources + /users/{username}/copilot-spaces/{space_number}/resources/{space_resource_id}: + get: + summary: Get a resource for a Copilot Space for a user + description: >- + Gets a specific resource attached to a Copilot Space owned by a user. + + The authenticated user must have appropriate permissions to view the + space. + + + OAuth app tokens and personal access tokens (classic) need the + `read:user` scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/get-resource-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/resources#get-a-resource-for-a-copilot-space-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + - name: space_resource_id + description: The unique identifier of the resource. + in: path + required: true + schema: + type: integer + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space-resource' + examples: + default: + value: + id: 1 + resource_type: free_text + copilot_chat_attachment_id: null + metadata: + name: notes.txt + text: Some helpful notes + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: false + category: copilot-spaces + subcategory: resources + x-stackQL-resource: resources + put: + summary: Set a resource for a Copilot Space for a user + description: >- + Updates the metadata of a resource in a specific Copilot Space owned by + a user. + + The authenticated user must have write permissions on the space. + + + OAuth app tokens and personal access tokens (classic) need the + `write:user` scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/update-resource-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/resources#set-a-resource-for-a-copilot-space-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + - name: space_resource_id + description: The unique identifier of the resource. + in: path + required: true + schema: + type: integer + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + metadata: + type: object + description: Updated resource-specific metadata. + additionalProperties: true + examples: + default: + value: + metadata: + name: updated-notes.txt + text: Updated content + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/copilot-space-resource' + examples: + default: + value: + id: 1 + resource_type: free_text + copilot_chat_attachment_id: null + metadata: + name: updated-notes.txt + text: Updated content + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T12:00:00Z' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + enabledForGitHubApps: false + category: copilot-spaces + subcategory: resources + x-stackQL-resource: resources + delete: + summary: Delete a resource from a Copilot Space for a user + description: >- + Deletes a resource from a specific Copilot Space owned by a user. + + The authenticated user must have write permissions on the space. + + + OAuth app tokens and personal access tokens (classic) need the + `write:user` scope to use this endpoint. + tags: + - copilot-spaces + operationId: copilot-spaces/delete-resource-for-user + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/copilot-spaces/resources#delete-a-resource-from-a-copilot-space-for-a-user + parameters: + - $ref: '#/components/parameters/username' + - name: space_number + description: The unique identifier of the Copilot Space. + in: path + required: true + schema: + type: integer + - name: space_resource_id + description: The unique identifier of the resource. + in: path + required: true + schema: + type: integer + responses: + '204': + description: Response + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + enabledForGitHubApps: false + category: copilot-spaces + subcategory: resources + x-stackQL-resource: resources +components: + schemas: + copilot-space: + title: Space + description: >- + A GitHub Copilot Space represents an interactive AI workspace where + users can ask questions and get assistance. + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the space. + example: 42 + number: + type: integer + description: The number that identifies the space within its owner. + example: 1 + name: + type: string + description: The display name of the space. + example: My Development Space + description: + type: string + nullable: true + description: A description of the space. + example: A space for discussing React development patterns + general_instructions: + type: string + maxLength: 4000 + nullable: true + description: General instructions for the Copilot Space. + example: Help with React development patterns and best practices + base_role: + type: string + enum: + - reader + - writer + - admin + - no_access + description: |- + The base role that determines default permissions. + - `no_access`: No default access + - `reader`: Default read permissions + - `writer`: Default write permissions (organization spaces only) + - `admin`: Default admin permissions (organization spaces only) + example: no_access + owner: + description: The user or organization that owns this space. + title: Simple User + type: object + properties: + name: + nullable: true + type: string + email: + nullable: true + type: string + login: + type: string + example: octocat + id: + type: integer + format: int64 + example: 1 + node_id: + type: string + example: MDQ6VXNlcjE= + avatar_url: + type: string + format: uri + example: https://github.com/images/error/octocat_happy.gif + gravatar_id: + type: string + example: 41d064eb2195891e12d0413f63227ea7 + nullable: true + url: + type: string + format: uri + example: https://api.github.com/users/octocat + html_url: + type: string + format: uri + example: https://github.com/octocat + followers_url: + type: string + format: uri + example: https://api.github.com/users/octocat/followers + following_url: + type: string + example: https://api.github.com/users/octocat/following{/other_user} + gists_url: + type: string + example: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: + type: string + example: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: + type: string + format: uri + example: https://api.github.com/users/octocat/subscriptions + organizations_url: + type: string + format: uri + example: https://api.github.com/users/octocat/orgs + repos_url: + type: string + format: uri + example: https://api.github.com/users/octocat/repos + events_url: + type: string + example: https://api.github.com/users/octocat/events{/privacy} + received_events_url: + type: string + format: uri + example: https://api.github.com/users/octocat/received_events + type: + type: string + example: User + site_admin: + type: boolean + starred_at: + type: string + example: '"2020-07-09T00:17:55Z"' + user_view_type: + type: string + example: public + hooks_url: + type: string + example: https://api.github.com/orgs/github/hooks + issues_url: + type: string + example: https://api.github.com/orgs/github/issues + members_url: + type: string + example: https://api.github.com/orgs/github/members{/member} + public_members_url: + type: string + example: https://api.github.com/orgs/github/public_members{/member} + description: + type: string + example: A great organization + nullable: true + required: + - avatar_url + - events_url + - followers_url + - following_url + - gists_url + - gravatar_id + - html_url + - id + - node_id + - login + - organizations_url + - received_events_url + - repos_url + - site_admin + - starred_url + - subscriptions_url + - type + - url + - hooks_url + - issues_url + - members_url + - public_members_url + - description + creator: + $ref: '#/components/schemas/simple-user' + created_at: + type: string + format: date-time + description: The date and time the space was created. + example: '2023-01-01T00:00:00Z' + updated_at: + type: string + format: date-time + description: The date and time the space was last updated. + example: '2023-01-01T12:00:00Z' + html_url: + type: string + format: uri + description: The HTML URL of the space. + example: https://github.com/copilot/spaces/octo-org/5 + api_url: + type: string + format: uri + description: The API URL of the space. + example: https://api.github.com/organizations/1/copilot-spaces/5 + resources_attributes: + type: array + description: Resources attached to the space. + items: + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the resource. + resource_type: + type: string + enum: + - repository + - github_file + - free_text + - github_issue + - github_pull_request + - media_content + - uploaded_text_file + description: The type of resource. + copilot_chat_attachment_id: + type: integer + format: int64 + nullable: true + description: >- + The unique identifier of the chat attachment for uploaded + files or media content. + created_at: + type: string + format: date-time + description: The date and time the resource was created. + updated_at: + type: string + format: date-time + description: The date and time the resource was last updated. + metadata: + type: object + description: Metadata specific to the resource type. + properties: + repository_id: + type: integer + description: Repository ID for repository or file resources. + file_path: + type: string + description: File path for file resources. + text: + type: string + description: Text content for free text resources. + name: + type: string + description: Name for the resource. + number: + type: integer + description: Issue or PR number. + copilot_chat_attachment_id: + type: integer + description: Chat attachment ID for uploaded files or media. + media_type: + type: string + description: Media type for media content resources. + url: + type: string + description: URL for media content resources. + height: + type: integer + description: Height for media content resources. + width: + type: integer + description: Width for media content resources. + required: + - id + - number + - name + - base_role + - owner + - creator + - created_at + - updated_at + - html_url + - api_url + additionalProperties: false + copilot-space-collaborator: + title: Copilot Space Collaborator + description: A collaborator (user or team) of a Copilot Space + type: object + properties: + name: + nullable: true + type: string + email: + nullable: true + type: string + login: + type: string + example: octocat + id: + type: integer + format: int64 + example: 1 + node_id: + type: string + example: MDQ6VXNlcjE= + avatar_url: + type: string + format: uri + example: https://github.com/images/error/octocat_happy.gif + gravatar_id: + type: string + example: 41d064eb2195891e12d0413f63227ea7 + nullable: true + url: + type: string + format: uri + example: https://api.github.com/users/octocat + html_url: + type: string + format: uri + example: https://github.com/octocat + followers_url: + type: string + format: uri + example: https://api.github.com/users/octocat/followers + following_url: + type: string + example: https://api.github.com/users/octocat/following{/other_user} + gists_url: + type: string + example: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: + type: string + example: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: + type: string + format: uri + example: https://api.github.com/users/octocat/subscriptions + organizations_url: + type: string + format: uri + example: https://api.github.com/users/octocat/orgs + repos_url: + type: string + format: uri + example: https://api.github.com/users/octocat/repos + events_url: + type: string + example: https://api.github.com/users/octocat/events{/privacy} + received_events_url: + type: string + format: uri + example: https://api.github.com/users/octocat/received_events + type: + type: string + example: User + site_admin: + type: boolean + starred_at: + type: string + example: '"2020-07-09T00:17:55Z"' + user_view_type: + type: string + example: public + actor_type: + type: string + enum: + - User + description: The collaborator actor type. + role: + type: string + enum: + - reader + - writer + - admin + description: The role granted to the collaborator + slug: + type: string + description: + type: string + nullable: true + privacy: + type: string + notification_setting: + type: string + members_url: + type: string + repositories_url: + type: string + format: uri + organization_id: + type: integer + parent: + nullable: true + required: + - avatar_url + - events_url + - followers_url + - following_url + - gists_url + - gravatar_id + - html_url + - id + - node_id + - login + - organizations_url + - received_events_url + - repos_url + - site_admin + - starred_url + - subscriptions_url + - type + - url + - actor_type + - role + - name + - slug + copilot-space-resource: + title: Copilot Space Resource + description: A resource attached to a Copilot Space. + type: object + properties: + id: + type: integer + description: The unique identifier of the resource. + resource_type: + type: string + description: The type of the resource. + enum: + - repository + - github_file + - free_text + - github_issue + - github_pull_request + - media_content + - uploaded_text_file + copilot_chat_attachment_id: + type: integer + nullable: true + description: The ID of the associated chat attachment, if any. + metadata: + type: object + description: >- + Resource-specific metadata. The keys and values depend on the + resource type. + additionalProperties: true + created_at: + type: string + format: date-time + description: The date and time the resource was created. + updated_at: + type: string + format: date-time + description: The date and time the resource was last updated. + required: + - id + - resource_type + - metadata + - created_at + - updated_at + simple-user: + title: Simple User + description: A GitHub user. + type: object + properties: + name: + nullable: true + type: string + email: + nullable: true + type: string + login: + type: string + example: octocat + id: + type: integer + format: int64 + example: 1 + node_id: + type: string + example: MDQ6VXNlcjE= + avatar_url: + type: string + format: uri + example: https://github.com/images/error/octocat_happy.gif + gravatar_id: + type: string + example: 41d064eb2195891e12d0413f63227ea7 + nullable: true + url: + type: string + format: uri + example: https://api.github.com/users/octocat + html_url: + type: string + format: uri + example: https://github.com/octocat + followers_url: + type: string + format: uri + example: https://api.github.com/users/octocat/followers + following_url: + type: string + example: https://api.github.com/users/octocat/following{/other_user} + gists_url: + type: string + example: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: + type: string + example: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: + type: string + format: uri + example: https://api.github.com/users/octocat/subscriptions + organizations_url: + type: string + format: uri + example: https://api.github.com/users/octocat/orgs + repos_url: + type: string + format: uri + example: https://api.github.com/users/octocat/repos + events_url: + type: string + example: https://api.github.com/users/octocat/events{/privacy} + received_events_url: + type: string + format: uri + example: https://api.github.com/users/octocat/received_events + type: + type: string + example: User + site_admin: + type: boolean + starred_at: + type: string + example: '"2020-07-09T00:17:55Z"' + user_view_type: + type: string + example: public + required: + - avatar_url + - events_url + - followers_url + - following_url + - gists_url + - gravatar_id + - html_url + - id + - node_id + - login + - organizations_url + - received_events_url + - repos_url + - site_admin + - starred_url + - subscriptions_url + - type + - url + organization-simple: + title: Organization Simple + description: A GitHub organization. + type: object + properties: + login: + type: string + example: github + id: + type: integer + example: 1 + node_id: + type: string + example: MDEyOk9yZ2FuaXphdGlvbjE= + url: + type: string + format: uri + example: https://api.github.com/orgs/github + repos_url: + type: string + format: uri + example: https://api.github.com/orgs/github/repos + events_url: + type: string + format: uri + example: https://api.github.com/orgs/github/events + hooks_url: + type: string + example: https://api.github.com/orgs/github/hooks + issues_url: + type: string + example: https://api.github.com/orgs/github/issues + members_url: + type: string + example: https://api.github.com/orgs/github/members{/member} + public_members_url: + type: string + example: https://api.github.com/orgs/github/public_members{/member} + avatar_url: + type: string + example: https://github.com/images/error/octocat_happy.gif + description: + type: string + example: A great organization + nullable: true + required: + - login + - url + - id + - node_id + - repos_url + - events_url + - hooks_url + - issues_url + - members_url + - public_members_url + - avatar_url + - description + basic-error: + title: Basic Error + description: Basic Error + type: object + properties: + message: + type: string + documentation_url: + type: string + url: + type: string + status: + type: string + validation-error: + title: Validation Error + description: Validation Error + type: object + required: + - message + - documentation_url + properties: + message: + type: string + documentation_url: + type: string + errors: + type: array + items: + type: object + required: + - code + properties: + resource: + type: string + field: + type: string + message: + type: string + code: + type: string + index: + type: integer + value: + oneOf: + - type: string + nullable: true + - type: integer + nullable: true + - type: array + nullable: true + items: + type: string + responses: + forbidden: + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + not_found: + description: Resource not found + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + validation_failed: + description: Validation failed, or the endpoint has been spammed. + content: + application/json: + schema: + $ref: '#/components/schemas/validation-error' + parameters: + org: + name: org + description: The organization name. The name is not case sensitive. + in: path + required: true + schema: + type: string + username: + name: username + description: The handle for the GitHub user account. + in: path + required: true + schema: + type: string + examples: + copilot-spaces-organization-list: + summary: Example response for listing organization copilot spaces + value: + spaces: + - id: 84 + number: 3 + name: Team Planning Space + description: Organization space for team planning and coordination + owner: + login: octo-org + id: 1 + node_id: MDEyOk9yZ2FuaXphdGlvbjE= + url: https://api.github.com/orgs/octo-org + repos_url: https://api.github.com/orgs/octo-org/repos + events_url: https://api.github.com/orgs/octo-org/events + hooks_url: https://api.github.com/orgs/octo-org/hooks + issues_url: https://api.github.com/orgs/octo-org/issues + members_url: https://api.github.com/orgs/octo-org/members{/member} + public_members_url: https://api.github.com/orgs/octo-org/public_members{/member} + avatar_url: https://github.com/images/error/octocat_happy.gif + description: A great organization + gravatar_id: '' + name: octo-org + company: GitHub + blog: https://github.com/blog + location: San Francisco + email: octocat@github.com + twitter_username: octo-org + html_url: https://github.com/octo-org + created_at: '2008-01-14T04:33:35Z' + updated_at: '2017-08-17T12:37:15Z' + type: Organization + creator: + login: defunkt + id: 2 + node_id: MDQ6VXNlcjI= + avatar_url: https://github.com/images/error/defunkt_happy.gif + gravatar_id: '' + url: https://api.github.com/users/defunkt + html_url: https://github.com/defunkt + followers_url: https://api.github.com/users/defunkt/followers + following_url: https://api.github.com/users/defunkt/following{/other_user} + gists_url: https://api.github.com/users/defunkt/gists{/gist_id} + starred_url: https://api.github.com/users/defunkt/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/defunkt/subscriptions + organizations_url: https://api.github.com/users/defunkt/orgs + repos_url: https://api.github.com/users/defunkt/repos + events_url: https://api.github.com/users/defunkt/events{/privacy} + received_events_url: https://api.github.com/users/defunkt/received_events + type: User + site_admin: true + created_at: '2023-02-15T08:30:00Z' + updated_at: '2023-02-15T14:45:00Z' + html_url: https://github.com/copilot/spaces/octo-org/3 + api_url: https://api.github.com/organizations/1/copilot-spaces/3 + - id: 85 + number: 4 + name: Development Resources + description: Shared development documentation and resources + owner: + login: octo-org + id: 1 + node_id: MDEyOk9yZ2FuaXphdGlvbjE= + url: https://api.github.com/orgs/octo-org + repos_url: https://api.github.com/orgs/octo-org/repos + events_url: https://api.github.com/orgs/octo-org/events + hooks_url: https://api.github.com/orgs/octo-org/hooks + issues_url: https://api.github.com/orgs/octo-org/issues + members_url: https://api.github.com/orgs/octo-org/members{/member} + public_members_url: https://api.github.com/orgs/octo-org/public_members{/member} + avatar_url: https://github.com/images/error/octocat_happy.gif + description: A great organization + gravatar_id: '' + name: octo-org + company: GitHub + blog: https://github.com/blog + location: San Francisco + email: octocat@github.com + twitter_username: octo-org + html_url: https://github.com/octo-org + created_at: '2008-01-14T04:33:35Z' + updated_at: '2017-08-17T12:37:15Z' + type: Organization + creator: + login: octocat + id: 3 + node_id: MDQ6VXNlcjM= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + created_at: '2023-02-16T10:15:00Z' + updated_at: '2023-02-16T16:30:00Z' + html_url: https://github.com/copilot/spaces/octo-org/4 + api_url: https://api.github.com/organizations/1/copilot-spaces/4 + copilot-space-organization: + summary: Example response for an organization copilot space + value: + id: 84 + number: 3 + name: Team Planning Space + description: Organization space for team planning and coordination + general_instructions: >- + Help the team with agile planning, sprint coordination, and project + management best practices + owner: + login: octo-org + id: 1 + node_id: MDEyOk9yZ2FuaXphdGlvbjE= + url: https://api.github.com/orgs/octo-org + repos_url: https://api.github.com/orgs/octo-org/repos + events_url: https://api.github.com/orgs/octo-org/events + hooks_url: https://api.github.com/orgs/octo-org/hooks + issues_url: https://api.github.com/orgs/octo-org/issues + members_url: https://api.github.com/orgs/octo-org/members{/member} + public_members_url: https://api.github.com/orgs/octo-org/public_members{/member} + avatar_url: https://github.com/images/error/octocat_happy.gif + description: A great organization + gravatar_id: '' + name: octo-org + company: GitHub + blog: https://github.com/blog + location: San Francisco + email: octocat@github.com + twitter_username: octo-org + html_url: https://github.com/octo-org + created_at: '2008-01-14T04:33:35Z' + updated_at: '2017-08-17T12:37:15Z' + type: Organization + creator: + login: defunkt + id: 2 + node_id: MDQ6VXNlcjI= + avatar_url: https://github.com/images/error/defunkt_happy.gif + gravatar_id: '' + url: https://api.github.com/users/defunkt + html_url: https://github.com/defunkt + followers_url: https://api.github.com/users/defunkt/followers + following_url: https://api.github.com/users/defunkt/following{/other_user} + gists_url: https://api.github.com/users/defunkt/gists{/gist_id} + starred_url: https://api.github.com/users/defunkt/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/defunkt/subscriptions + organizations_url: https://api.github.com/users/defunkt/orgs + repos_url: https://api.github.com/users/defunkt/repos + events_url: https://api.github.com/users/defunkt/events{/privacy} + received_events_url: https://api.github.com/users/defunkt/received_events + type: User + site_admin: true + created_at: '2023-02-15T08:30:00Z' + updated_at: '2023-02-15T14:45:00Z' + html_url: https://github.com/copilot/spaces/octo-org/3 + api_url: https://api.github.com/organizations/1/copilot-spaces/3 + base_role: no_access + resources_attributes: + - id: 123 + resource_type: github_file + metadata: + repository_id: 456 + file_path: docs/planning.md + - id: 124 + resource_type: free_text + metadata: + name: Team Guidelines + text: Our team follows agile methodology + copilot-spaces-user-list: + summary: Example response for listing user copilot spaces + value: + spaces: + - id: 42 + number: 1 + name: Personal Research Space + description: My personal space for research and development + owner: + login: octocat + id: 3 + node_id: MDQ6VXNlcjM= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + creator: + login: octocat + id: 3 + node_id: MDQ6VXNlcjM= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + created_at: '2023-02-16T10:15:00Z' + updated_at: '2023-02-16T16:30:00Z' + html_url: https://github.com/copilot/spaces/octocat/1 + api_url: https://api.github.com/user/1/copilot-spaces/1 + - id: 43 + number: 2 + name: Learning Space + description: Space for learning new technologies + owner: + login: octocat + id: 3 + node_id: MDQ6VXNlcjM= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + creator: + login: octocat + id: 3 + node_id: MDQ6VXNlcjM= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + created_at: '2023-02-17T08:20:00Z' + updated_at: '2023-02-17T14:45:00Z' + html_url: https://github.com/copilot/spaces/octocat/2 + api_url: https://api.github.com/user/1/copilot-spaces/2 + copilot-space-user: + summary: Example response for a user copilot space + value: + id: 42 + number: 5 + name: My Development Space + description: Personal space for React development patterns + general_instructions: >- + Focus on React functional components, hooks, and modern development + patterns + owner: + login: octocat + id: 1 + node_id: MDQ6VXNlcjE= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + creator: + login: octocat + id: 1 + node_id: MDQ6VXNlcjE= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + created_at: '2023-02-15T08:30:00Z' + updated_at: '2023-02-15T14:45:00Z' + html_url: https://github.com/copilot/spaces/octocat/5 + api_url: https://api.github.com/user/1/copilot-spaces/5 + base_role: no_access + resources_attributes: + - id: 789 + resource_type: github_file + metadata: + repository_id: 1234 + file_path: src/components/App.tsx + - id: 790 + resource_type: free_text + metadata: + name: React Best Practices + text: Use functional components with hooks + headers: + link: + example: >- + ; rel="next", + ; rel="last" + schema: + type: string + x-stackQL-resources: + spaces: + id: github.copilot_spaces.spaces + name: spaces + title: Spaces + methods: + list_for_org: + operation: + $ref: '#/paths/~1orgs~1{org}~1copilot-spaces/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.spaces + create_for_org: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1orgs~1{org}~1copilot-spaces/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_for_org: + operation: + $ref: '#/paths/~1orgs~1{org}~1copilot-spaces~1{space_number}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_for_org: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1orgs~1{org}~1copilot-spaces~1{space_number}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_for_org: + operation: + $ref: '#/paths/~1orgs~1{org}~1copilot-spaces~1{space_number}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + list_for_user: + operation: + $ref: '#/paths/~1users~1{username}~1copilot-spaces/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.spaces + create_for_user: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1users~1{username}~1copilot-spaces/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_for_user: + operation: + $ref: '#/paths/~1users~1{username}~1copilot-spaces~1{space_number}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_for_user: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1users~1{username}~1copilot-spaces~1{space_number}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_for_user: + operation: + $ref: '#/paths/~1users~1{username}~1copilot-spaces~1{space_number}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/spaces/methods/get_for_org' + - $ref: '#/components/x-stackQL-resources/spaces/methods/get_for_user' + - $ref: '#/components/x-stackQL-resources/spaces/methods/list_for_org' + - $ref: '#/components/x-stackQL-resources/spaces/methods/list_for_user' + insert: + - $ref: '#/components/x-stackQL-resources/spaces/methods/create_for_org' + - $ref: '#/components/x-stackQL-resources/spaces/methods/create_for_user' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/spaces/methods/delete_for_org' + - $ref: '#/components/x-stackQL-resources/spaces/methods/delete_for_user' + replace: + - $ref: '#/components/x-stackQL-resources/spaces/methods/update_for_org' + - $ref: '#/components/x-stackQL-resources/spaces/methods/update_for_user' + collaborators: + id: github.copilot_spaces.collaborators + name: collaborators + title: Collaborators + methods: + list_collaborators_for_org: + operation: + $ref: >- + #/paths/~1orgs~1{org}~1copilot-spaces~1{space_number}~1collaborators/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.collaborators + add_collaborator_for_org: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1orgs~1{org}~1copilot-spaces~1{space_number}~1collaborators/post + response: + mediaType: application/json + openAPIDocKey: '201' + update_collaborator_for_org: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1orgs~1{org}~1copilot-spaces~1{space_number}~1collaborators~1{actor_type}~1{actor_identifier}/put + response: + mediaType: application/json + openAPIDocKey: '200' + remove_collaborator_for_org: + operation: + $ref: >- + #/paths/~1orgs~1{org}~1copilot-spaces~1{space_number}~1collaborators~1{actor_type}~1{actor_identifier}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + list_collaborators_for_user: + operation: + $ref: >- + #/paths/~1users~1{username}~1copilot-spaces~1{space_number}~1collaborators/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.collaborators + add_collaborator_for_user: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1users~1{username}~1copilot-spaces~1{space_number}~1collaborators/post + response: + mediaType: application/json + openAPIDocKey: '201' + update_collaborator_for_user: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1users~1{username}~1copilot-spaces~1{space_number}~1collaborators~1{actor_type}~1{actor_identifier}/put + response: + mediaType: application/json + openAPIDocKey: '200' + remove_collaborator_for_user: + operation: + $ref: >- + #/paths/~1users~1{username}~1copilot-spaces~1{space_number}~1collaborators~1{actor_type}~1{actor_identifier}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/collaborators/methods/list_collaborators_for_org + - $ref: >- + #/components/x-stackQL-resources/collaborators/methods/list_collaborators_for_user + insert: + - $ref: >- + #/components/x-stackQL-resources/collaborators/methods/add_collaborator_for_org + - $ref: >- + #/components/x-stackQL-resources/collaborators/methods/add_collaborator_for_user + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/collaborators/methods/remove_collaborator_for_org + - $ref: >- + #/components/x-stackQL-resources/collaborators/methods/remove_collaborator_for_user + replace: + - $ref: >- + #/components/x-stackQL-resources/collaborators/methods/update_collaborator_for_org + - $ref: >- + #/components/x-stackQL-resources/collaborators/methods/update_collaborator_for_user + resources: + id: github.copilot_spaces.resources + name: resources + title: Resources + methods: + list_resources_for_org: + operation: + $ref: >- + #/paths/~1orgs~1{org}~1copilot-spaces~1{space_number}~1resources/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.resources + create_resource_for_org: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1orgs~1{org}~1copilot-spaces~1{space_number}~1resources/post + response: + mediaType: application/json + openAPIDocKey: '200' + get_resource_for_org: + operation: + $ref: >- + #/paths/~1orgs~1{org}~1copilot-spaces~1{space_number}~1resources~1{space_resource_id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + update_resource_for_org: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1orgs~1{org}~1copilot-spaces~1{space_number}~1resources~1{space_resource_id}/put + response: + mediaType: application/json + openAPIDocKey: '200' + delete_resource_for_org: + operation: + $ref: >- + #/paths/~1orgs~1{org}~1copilot-spaces~1{space_number}~1resources~1{space_resource_id}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + list_resources_for_user: + operation: + $ref: >- + #/paths/~1users~1{username}~1copilot-spaces~1{space_number}~1resources/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.resources + create_resource_for_user: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1users~1{username}~1copilot-spaces~1{space_number}~1resources/post + response: + mediaType: application/json + openAPIDocKey: '200' + get_resource_for_user: + operation: + $ref: >- + #/paths/~1users~1{username}~1copilot-spaces~1{space_number}~1resources~1{space_resource_id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + update_resource_for_user: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1users~1{username}~1copilot-spaces~1{space_number}~1resources~1{space_resource_id}/put + response: + mediaType: application/json + openAPIDocKey: '200' + delete_resource_for_user: + operation: + $ref: >- + #/paths/~1users~1{username}~1copilot-spaces~1{space_number}~1resources~1{space_resource_id}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/resources/methods/get_resource_for_org + - $ref: >- + #/components/x-stackQL-resources/resources/methods/get_resource_for_user + - $ref: >- + #/components/x-stackQL-resources/resources/methods/list_resources_for_org + - $ref: >- + #/components/x-stackQL-resources/resources/methods/list_resources_for_user + insert: + - $ref: >- + #/components/x-stackQL-resources/resources/methods/create_resource_for_org + - $ref: >- + #/components/x-stackQL-resources/resources/methods/create_resource_for_user + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/resources/methods/delete_resource_for_org + - $ref: >- + #/components/x-stackQL-resources/resources/methods/delete_resource_for_user + replace: + - $ref: >- + #/components/x-stackQL-resources/resources/methods/update_resource_for_org + - $ref: >- + #/components/x-stackQL-resources/resources/methods/update_resource_for_user +servers: + - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/credentials.yaml b/providers/src/github/v00.00.00000/services/credentials.yaml index 151a35ab..8a5f7b4f 100644 --- a/providers/src/github/v00.00.00000/services/credentials.yaml +++ b/providers/src/github/v00.00.00000/services/credentials.yaml @@ -168,3 +168,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/dependabot.yaml b/providers/src/github/v00.00.00000/services/dependabot.yaml index 05fe2163..38ce7a9a 100644 --- a/providers/src/github/v00.00.00000/services/dependabot.yaml +++ b/providers/src/github/v00.00.00000/services/dependabot.yaml @@ -44,6 +44,7 @@ paths: - $ref: '#/components/parameters/dependabot-alert-comma-separated-has' - $ref: '#/components/parameters/dependabot-alert-comma-separated-assignees' - $ref: '#/components/parameters/dependabot-alert-scope' + - $ref: '#/components/parameters/dependabot-alert-relationship' - $ref: '#/components/parameters/dependabot-alert-sort' - $ref: '#/components/parameters/direction' - $ref: '#/components/parameters/pagination-before' @@ -76,28 +77,25 @@ paths: category: dependabot subcategory: alerts x-stackQL-resource: alerts - /organizations/{org}/dependabot/repository-access: + /enterprises/{enterprise}/dependabot/repository-access: get: - summary: Lists the repositories Dependabot can access in an organization + summary: Lists the repositories Dependabot can access in an enterprise description: >- - Lists repositories that organization admins have allowed Dependabot to - access when updating dependencies. - - > [!NOTE] + Lists repositories that enterprise admins have allowed Dependabot to + access when updating dependencies across organizations in the + enterprise. - > This operation supports both server-to-server and user-to-server - access. - Unauthorized users will not see the existence of this endpoint. + The authenticated user must be an enterprise owner to use this endpoint. tags: - dependabot - operationId: dependabot/repository-access-for-org + operationId: dependabot/repository-access-for-enterprise externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/dependabot/repository-access#lists-the-repositories-dependabot-can-access-in-an-organization + https://docs.github.com/rest/dependabot/repository-access#lists-the-repositories-dependabot-can-access-in-an-enterprise parameters: - - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/enterprise' - name: page in: query description: The page number of results to fetch. @@ -131,24 +129,19 @@ paths: $ref: '#/components/responses/not_found' x-github: githubCloudOnly: false - enabledForGitHubApps: true + enabledForGitHubApps: false category: dependabot subcategory: repository-access x-stackQL-resource: repository_access patch: - summary: Updates Dependabot's repository access list for an organization + summary: Updates Dependabot's repository access list for an enterprise description: >- Updates repositories according to the list of repositories that - organization admins have given Dependabot access to when they've updated - dependencies. + enterprise admins have given Dependabot access to when they've updated + dependencies across organizations in the enterprise. - > [!NOTE] - - > This operation supports both server-to-server and user-to-server - access. - - Unauthorized users will not see the existence of this endpoint. + The authenticated user must be an enterprise owner to use this endpoint. **Example request body:** @@ -163,13 +156,13 @@ paths: ``` tags: - dependabot - operationId: dependabot/update-repository-access-for-org + operationId: dependabot/update-repository-access-for-enterprise externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/dependabot/repository-access#updates-dependabots-repository-access-list-for-an-organization + https://docs.github.com/rest/dependabot/repository-access#updates-dependabots-repository-access-list-for-an-enterprise parameters: - - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/enterprise' requestBody: required: true content: @@ -216,16 +209,17 @@ paths: $ref: '#/components/responses/not_found' x-github: githubCloudOnly: false - enabledForGitHubApps: true + enabledForGitHubApps: false category: dependabot subcategory: repository-access x-stackQL-resource: repository_access - /organizations/{org}/dependabot/repository-access/default-level: + /enterprises/{enterprise}/dependabot/repository-access/default-level: put: - summary: Set the default repository access level for Dependabot + summary: Set the default repository access level for Dependabot in an enterprise description: >- Sets the default level of repository access Dependabot will have while - performing an update. Available values are: + performing an update across organizations in the enterprise. Available + values are: - 'public' - Dependabot will only have access to public repositories, unless access is explicitly granted to non-public repositories. @@ -235,19 +229,16 @@ paths: repositories. - Unauthorized users will not see the existence of this endpoint. - - - This operation supports both server-to-server and user-to-server access. + The authenticated user must be an enterprise owner to use this endpoint. tags: - dependabot - operationId: dependabot/set-repository-access-default-level + operationId: dependabot/set-repository-access-default-level-for-enterprise externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/dependabot/repository-access#set-the-default-repository-access-level-for-dependabot + https://docs.github.com/rest/dependabot/repository-access#set-the-default-repository-access-level-for-dependabot-in-an-enterprise parameters: - - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/enterprise' requestBody: required: true content: @@ -278,7 +269,7 @@ paths: $ref: '#/components/responses/not_found' x-github: githubCloudOnly: false - enabledForGitHubApps: true + enabledForGitHubApps: false category: dependabot subcategory: repository-access x-stackQL-resource: repository_access @@ -323,6 +314,7 @@ paths: - $ref: >- #/components/parameters/dependabot-alert-comma-separated-runtime-risk - $ref: '#/components/parameters/dependabot-alert-scope' + - $ref: '#/components/parameters/dependabot-alert-relationship' - $ref: '#/components/parameters/dependabot-alert-sort' - $ref: '#/components/parameters/direction' - $ref: '#/components/parameters/pagination-before' @@ -356,6 +348,212 @@ paths: category: dependabot subcategory: alerts x-stackQL-resource: alerts + /orgs/{org}/dependabot/repository-access: + get: + summary: Lists the repositories Dependabot can access in an organization + description: >- + Lists repositories that organization admins have allowed Dependabot to + access when updating dependencies. + + > [!NOTE] + + > This operation supports both server-to-server and user-to-server + access. + + Unauthorized users will not see the existence of this endpoint. + tags: + - dependabot + operationId: dependabot/repository-access-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/dependabot/repository-access#lists-the-repositories-dependabot-can-access-in-an-organization + parameters: + - $ref: '#/components/parameters/org' + - name: page + in: query + description: The page number of results to fetch. + required: false + schema: + type: integer + minimum: 1 + default: 1 + - name: per_page + in: query + description: Number of results per page. + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 30 + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/dependabot-repository-access-details' + examples: + default: + $ref: '#/components/examples/dependabot-repository-access-details' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: dependabot + subcategory: repository-access + x-stackQL-resource: repository_access + patch: + summary: Updates Dependabot's repository access list for an organization + description: >- + Updates repositories according to the list of repositories that + organization admins have given Dependabot access to when they've updated + dependencies. + + + > [!NOTE] + + > This operation supports both server-to-server and user-to-server + access. + + Unauthorized users will not see the existence of this endpoint. + + + **Example request body:** + + ```json + + { + "repository_ids_to_add": [123, 456], + "repository_ids_to_remove": [789] + } + + ``` + tags: + - dependabot + operationId: dependabot/update-repository-access-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/dependabot/repository-access#updates-dependabots-repository-access-list-for-an-organization + parameters: + - $ref: '#/components/parameters/org' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + repository_ids_to_add: + type: array + items: + type: integer + description: List of repository IDs to add. + repository_ids_to_remove: + type: array + items: + type: integer + description: List of repository IDs to remove. + example: + repository_ids_to_add: + - 123 + - 456 + repository_ids_to_remove: + - 789 + examples: + '204': + summary: Example with a 'succeeded' status. + add-example: + summary: Add repositories + value: + repository_ids_to_add: + - 123 + - 456 + remove-example: + summary: Remove repositories + value: + repository_ids_to_remove: + - 789 + responses: + '204': + description: Response + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: dependabot + subcategory: repository-access + x-stackQL-resource: repository_access + /orgs/{org}/dependabot/repository-access/default-level: + put: + summary: Set the default repository access level for Dependabot + description: >- + Sets the default level of repository access Dependabot will have while + performing an update. Available values are: + + - 'public' - Dependabot will only have access to public repositories, + unless access is explicitly granted to non-public repositories. + + - 'internal' - Dependabot will only have access to public and internal + repositories, unless access is explicitly granted to private + repositories. + + + Unauthorized users will not see the existence of this endpoint. + + + This operation supports both server-to-server and user-to-server access. + tags: + - dependabot + operationId: dependabot/set-repository-access-default-level + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/dependabot/repository-access#set-the-default-repository-access-level-for-dependabot + parameters: + - $ref: '#/components/parameters/org' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + default_level: + type: string + description: The default repository access level for Dependabot updates. + enum: + - public + - internal + example: internal + required: + - default_level + examples: + '204': + summary: Example with a 'succeeded' status. + value: + default_level: public + responses: + '204': + description: Response + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: dependabot + subcategory: repository-access + x-stackQL-resource: repository_access /orgs/{org}/dependabot/secrets: get: summary: List organization secrets @@ -838,6 +1036,7 @@ paths: - $ref: '#/components/parameters/dependabot-alert-comma-separated-has' - $ref: '#/components/parameters/dependabot-alert-comma-separated-assignees' - $ref: '#/components/parameters/dependabot-alert-scope' + - $ref: '#/components/parameters/dependabot-alert-relationship' - $ref: '#/components/parameters/dependabot-alert-sort' - $ref: '#/components/parameters/direction' - $ref: '#/components/parameters/pagination-before' @@ -979,8 +1178,30 @@ paths: Send an empty array (`[]`) to clear all assignees from the alert. + + To assign an AI agent, include the bot login (for example, + `copilot-swe-agent[bot]`). items: type: string + agent_assignment: + type: object + description: >- + Parameters for AI agent assignment. Only used when an agent + bot login is + + included in `assignees`. Ignored when no agent is being + assigned. + properties: + custom_instructions: + type: string + description: Custom instructions for the agent. + custom_agent: + type: string + description: A custom agent identifier. + model: + type: string + description: The model to use for the agent. + additionalProperties: false additionalProperties: false required: - state @@ -3578,6 +3799,22 @@ components: enum: - development - runtime + dependabot-alert-relationship: + name: relationship + in: query + description: >- + A comma-separated list of relationships of the vulnerable dependency to + your project. If specified, only alerts with these relationships will be + returned. + + + > [!NOTE] + + > We are rolling out support for dependency relationship across + ecosystems. This value will be "unknown" for all dependencies in + unsupported ecosystems. + schema: + type: string dependabot-alert-sort: name: sort in: query @@ -3769,6 +4006,7 @@ components: name: django manifest_path: path/to/requirements.txt scope: runtime + relationship: direct security_advisory: ghsa_id: GHSA-rf4j-j272-fj86 cve_id: CVE-2018-6188 @@ -3965,6 +4203,7 @@ components: name: ansible manifest_path: path/to/requirements.txt scope: runtime + relationship: direct security_advisory: ghsa_id: GHSA-8f4m-hccc-8qph cve_id: CVE-2021-20191 @@ -4317,6 +4556,7 @@ components: name: django manifest_path: path/to/requirements.txt scope: runtime + relationship: direct security_advisory: ghsa_id: GHSA-rf4j-j272-fj86 cve_id: CVE-2018-6188 @@ -4441,6 +4681,7 @@ components: name: ansible manifest_path: path/to/requirements.txt scope: runtime + relationship: direct security_advisory: ghsa_id: GHSA-8f4m-hccc-8qph cve_id: CVE-2021-20191 @@ -4528,6 +4769,7 @@ components: name: ansible manifest_path: path/to/requirements.txt scope: runtime + relationship: direct security_advisory: ghsa_id: GHSA-8f4m-hccc-8qph cve_id: CVE-2021-20191 @@ -4635,6 +4877,7 @@ components: name: django manifest_path: path/to/requirements.txt scope: runtime + relationship: direct security_advisory: ghsa_id: GHSA-rf4j-j272-fj86 cve_id: CVE-2018-6188 @@ -4806,6 +5049,50 @@ components: - $ref: '#/components/x-stackQL-resources/alerts/methods/update_alert' delete: [] replace: [] + enterprise_dependabot_repository_access: + id: github.dependabot.enterprise_dependabot_repository_access + name: enterprise_dependabot_repository_access + title: Enterprise Dependabot Repository Access + methods: + repository_access_for_enterprise: + operation: + $ref: >- + #/paths/~1enterprises~1{enterprise}~1dependabot~1repository-access/get + response: + mediaType: application/json + openAPIDocKey: '200' + update_repository_access_for_enterprise: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1enterprises~1{enterprise}~1dependabot~1repository-access/patch + response: + mediaType: application/json + openAPIDocKey: '204' + set_repository_access_default_level_for_enterprise: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1enterprises~1{enterprise}~1dependabot~1repository-access~1default-level/put + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/enterprise_dependabot_repository_access/methods/repository_access_for_enterprise + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/enterprise_dependabot_repository_access/methods/update_repository_access_for_enterprise + delete: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/enterprise_dependabot_repository_access/methods/set_repository_access_default_level_for_enterprise org_dependabot_repository_access: id: github.dependabot.org_dependabot_repository_access name: org_dependabot_repository_access @@ -4813,7 +5100,7 @@ components: methods: repository_access_for_org: operation: - $ref: '#/paths/~1organizations~1{org}~1dependabot~1repository-access/get' + $ref: '#/paths/~1orgs~1{org}~1dependabot~1repository-access/get' response: mediaType: application/json openAPIDocKey: '200' @@ -4822,8 +5109,7 @@ components: requestBodyTranslate: algorithm: naive operation: - $ref: >- - #/paths/~1organizations~1{org}~1dependabot~1repository-access/patch + $ref: '#/paths/~1orgs~1{org}~1dependabot~1repository-access/patch' response: mediaType: application/json openAPIDocKey: '204' @@ -4833,7 +5119,7 @@ components: algorithm: naive operation: $ref: >- - #/paths/~1organizations~1{org}~1dependabot~1repository-access~1default-level/put + #/paths/~1orgs~1{org}~1dependabot~1repository-access~1default-level/put response: mediaType: application/json openAPIDocKey: '204' @@ -5011,3 +5297,11 @@ components: #/components/x-stackQL-resources/repos_for_secret/methods/set_selected_repos_for_org_secret servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/dependency_graph.yaml b/providers/src/github/v00.00.00000/services/dependency_graph.yaml index 609472ca..f95f0905 100644 --- a/providers/src/github/v00.00.00000/services/dependency_graph.yaml +++ b/providers/src/github/v00.00.00000/services/dependency_graph.yaml @@ -38,17 +38,99 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/dependency-graph-diff' + type: array + items: + type: object + properties: + change_type: + type: string + enum: + - added + - removed + manifest: + type: string + example: path/to/package-lock.json + ecosystem: + type: string + example: npm + name: + type: string + example: '@actions/core' + version: + type: string + example: 1.0.0 + package_url: + type: string + nullable: true + example: pkg:/npm/%40actions/core@1.1.0 + license: + type: string + nullable: true + example: MIT + source_repository_url: + type: string + nullable: true + example: https://github.com/github/actions + vulnerabilities: + type: array + items: + type: object + properties: + severity: + type: string + example: critical + advisory_ghsa_id: + type: string + example: GHSA-rf4j-j272-fj86 + advisory_summary: + type: string + example: A summary of the advisory. + advisory_url: + type: string + example: https://github.com/advisories/GHSA-rf4j-j272-fj86 + required: + - severity + - advisory_ghsa_id + - advisory_summary + - advisory_url + scope: + description: >- + Where the dependency is utilized. `development` means + that the dependency is only utilized in the development + environment. `runtime` means that the dependency is + utilized at runtime and in the development environment. + type: string + enum: + - unknown + - runtime + - development + required: + - change_type + - manifest + - ecosystem + - name + - version + - package_url + - license + - source_repository_url + - vulnerabilities + - scope examples: default: $ref: '#/components/examples/diff-range-response' headers: Link: $ref: '#/components/headers/link' + '400': + $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/dependency_review_forbidden' '404': $ref: '#/components/responses/not_found' + '500': + $ref: '#/components/responses/internal_error' + '503': + $ref: '#/components/responses/service_unavailable' x-github: githubCloudOnly: false category: dependency-graph @@ -92,6 +174,96 @@ paths: category: dependency-graph subcategory: sboms x-stackQL-resource: sboms + /repos/{owner}/{repo}/dependency-graph/sbom/fetch-report/{sbom_uuid}: + get: + summary: Fetch a software bill of materials (SBOM) for a repository. + description: >- + Fetches a previously generated software bill of materials (SBOM) for a + repository. + + When the SBOM is ready, the response is a 302 redirect to a temporary + download URL for the SBOM in SPDX JSON format. + + The generated SBOM report may be retained for up to one week from the + original request. + + The temporary download URL returned by this endpoint expires separately, + and its expiry is set when the fetch request is made. + tags: + - dependency-graph + operationId: dependency-graph/fetch-sbom-report + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/dependency-graph/sboms#fetch-a-software-bill-of-materials-sbom-for-a-repository + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - name: sbom_uuid + in: path + required: true + description: The unique identifier of the SBOM export. + schema: + type: string + responses: + '202': + description: SBOM is still being processed, no content is returned. + '302': + description: Redirects to a temporary download URL for the completed SBOM. + headers: + Location: + $ref: '#/components/headers/location' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + githubCloudOnly: false + category: dependency-graph + subcategory: sboms + x-stackQL-resource: sboms + /repos/{owner}/{repo}/dependency-graph/sbom/generate-report: + get: + summary: >- + Request generation of a software bill of materials (SBOM) for a + repository. + description: >- + Triggers a job to generate a software bill of materials (SBOM) for a + repository in SPDX JSON format. + tags: + - dependency-graph + operationId: dependency-graph/generate-sbom-report + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/dependency-graph/sboms#request-generation-of-a-software-bill-of-materials-sbom-for-a-repository + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + responses: + '201': + description: Response + content: + application/json: + schema: + type: object + properties: + sbom_url: + type: string + description: URL to poll for the SBOM export result. + examples: + default: + $ref: >- + #/components/examples/dependency-graph-generate-sbom-report-response + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + githubCloudOnly: false + category: dependency-graph + subcategory: sboms + x-stackQL-resource: sboms /repos/{owner}/{repo}/dependency-graph/snapshots: post: summary: Create a snapshot of dependencies for a repository @@ -535,6 +707,29 @@ components: type: string status: type: string + scim-error: + title: Scim Error + description: Scim Error + type: object + properties: + message: + type: string + nullable: true + documentation_url: + type: string + nullable: true + detail: + type: string + nullable: true + status: + type: integer + scimType: + type: string + nullable: true + schemas: + type: array + items: + type: string metadata: title: metadata description: >- @@ -614,6 +809,15 @@ components: type: string additionalProperties: false responses: + bad_request: + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + application/scim+json: + schema: + $ref: '#/components/schemas/scim-error' dependency_review_forbidden: description: >- Response for a private repository when GitHub Advanced Security is not @@ -628,6 +832,25 @@ components: application/json: schema: $ref: '#/components/schemas/basic-error' + internal_error: + description: Internal Error + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + service_unavailable: + description: Service unavailable + content: + application/json: + schema: + type: object + properties: + code: + type: string + message: + type: string + documentation_url: + type: string forbidden: description: Forbidden content: @@ -736,6 +959,10 @@ components: - relationshipType: DESCRIBES spdxElementId: SPDXRef-DOCUMENT relatedSpdxElement: SPDXRef-Repository + dependency-graph-generate-sbom-report-response: + value: + sbom_url: >- + https://api.github.com/repos/github/example/dependency-graph/sbom/fetch-report/4bab1a7e-da63-4828-9488-44e0e01a7c1b dependency-graph-create-snapshot-request: value: version: 0 @@ -778,6 +1005,11 @@ components: ; rel="last" schema: type: string + location: + example: >- + https://pipelines.actions.githubusercontent.com/OhgS4QRKqmgx7bKC27GKU83jnQjyeqG8oIMTge8eqtheppcmw8/_apis/pipelines/1/runs/176/signedlogcontent?urlExpires=2020-01-24T18%3A10%3A31.5729946Z&urlSigningMethod=HMACV1&urlSignature=agG73JakPYkHrh06seAkvmH7rBR4Ji4c2%2B6a2ejYh3E%3D + schema: + type: string x-stackQL-resources: dependency_review: id: github.dependency_graph.dependency_review @@ -818,6 +1050,31 @@ components: update: [] delete: [] replace: [] + sbom_reports: + id: github.dependency_graph.sbom_reports + name: sbom_reports + title: Sbom Reports + methods: + fetch_sbom_report: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1dependency-graph~1sbom~1fetch-report~1{sbom_uuid}/get + response: + mediaType: application/json + openAPIDocKey: '202' + generate_sbom_report: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1dependency-graph~1sbom~1generate-report/get + response: + mediaType: application/json + openAPIDocKey: '201' + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] dependency_submission: id: github.dependency_graph.dependency_submission name: dependency_submission @@ -842,3 +1099,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/discussions.yaml b/providers/src/github/v00.00.00000/services/discussions.yaml new file mode 100644 index 00000000..e2fe7b12 --- /dev/null +++ b/providers/src/github/v00.00.00000/services/discussions.yaml @@ -0,0 +1,493 @@ +openapi: 3.0.3 +info: + title: discussions API + description: GitHub Discussions for a repository - discussions, categories and comments. GitHub exposes Discussions through the GraphQL API only; these resources are backed by GraphQL queries. + version: v00.00.00000 +servers: + - url: https://api.github.com +paths: + /graphql?resource=discussions: + post: + operationId: graphql/discussions/discussions/list + summary: Discussions + description: Discussions in a repository, newest first. Backed by the GitHub GraphQL API (`repository.discussions`); GitHub Discussions are not available through the REST API. Use `discussion_comments` for the comment thread of a single discussion. + x-stackQL-graphQL: + url: https://api.github.com/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.repository.discussions.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.repository.discussions.pageInfo.endCursor + terminateOnJsonPath: $.data.repository.discussions.pageInfo.hasNextPage + query: | + query { + repository(owner: "{{ .owner }}", name: "{{ .repo }}") { + discussions(first: 100, orderBy: {field: CREATED_AT, direction: DESC}{{ .cursor }}) { + pageInfo { endCursor hasNextPage } + nodes { + id + number + title + url + body + created_at: createdAt + updated_at: updatedAt + published_at: publishedAt + last_edited_at: lastEditedAt + locked + closed + closed_at: closedAt + is_answered: isAnswered + answer_chosen_at: answerChosenAt + upvote_count: upvoteCount + author { login } + category { id name slug } + comments { total_count: totalCount } + reactions { total_count: totalCount } + labels(first: 20) { nodes { name } } + answer { id url author { login } } + } + } + } + } + x-stackql-protocol: graphql + externalDocs: + description: GitHub GraphQL API documentation + url: https://docs.github.com/graphql + parameters: + - name: owner + in: query + required: true + schema: + type: string + description: The account owner of the repository. + - name: repo + in: query + required: true + schema: + type: string + description: The name of the repository. + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + repository: + type: object + properties: + discussions: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: The GraphQL node ID of the discussion. + number: + type: integer + description: The discussion number, unique within the repository. + title: + type: string + url: + type: string + description: The HTML URL of the discussion. + body: + type: string + description: The discussion body as Markdown. + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + published_at: + type: string + format: date-time + last_edited_at: + type: string + format: date-time + locked: + type: boolean + closed: + type: boolean + closed_at: + type: string + format: date-time + is_answered: + type: boolean + description: Whether an answer has been chosen (answerable categories only). + answer_chosen_at: + type: string + format: date-time + upvote_count: + type: integer + author: + type: object + description: The author of the discussion (`login`). + properties: + login: + type: string + category: + type: object + description: The discussion category (`id`, `name`, `slug`). + properties: + id: + type: string + name: + type: string + slug: + type: string + comments: + type: object + description: Comment counts (`total_count`). + properties: + total_count: + type: integer + reactions: + type: object + description: Reaction counts (`total_count`). + properties: + total_count: + type: integer + labels: + type: object + description: Up to 20 labels applied to the discussion (`nodes[].name`). + properties: + nodes: + type: array + items: + type: object + properties: + name: + type: string + answer: + type: object + description: The chosen answer comment, if any (`id`, `url`, `author.login`). + properties: + id: + type: string + url: + type: string + author: + type: object + properties: + login: + type: string + pageInfo: + type: object + properties: + endCursor: + type: string + hasNextPage: + type: boolean + /graphql?resource=discussion_categories: + post: + operationId: graphql/discussions/discussion_categories/list + summary: Discussion Categories + description: Discussion categories configured for a repository (for example Announcements, Q&A, Ideas). Backed by the GitHub GraphQL API (`repository.discussionCategories`). + x-stackQL-graphQL: + url: https://api.github.com/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.repository.discussionCategories.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.repository.discussionCategories.pageInfo.endCursor + terminateOnJsonPath: $.data.repository.discussionCategories.pageInfo.hasNextPage + query: | + query { + repository(owner: "{{ .owner }}", name: "{{ .repo }}") { + discussionCategories(first: 100{{ .cursor }}) { + pageInfo { endCursor hasNextPage } + nodes { + id + name + slug + emoji + description + is_answerable: isAnswerable + created_at: createdAt + updated_at: updatedAt + } + } + } + } + x-stackql-protocol: graphql + externalDocs: + description: GitHub GraphQL API documentation + url: https://docs.github.com/graphql + parameters: + - name: owner + in: query + required: true + schema: + type: string + description: The account owner of the repository. + - name: repo + in: query + required: true + schema: + type: string + description: The name of the repository. + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + repository: + type: object + properties: + discussionCategories: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: The GraphQL node ID of the category. + name: + type: string + slug: + type: string + emoji: + type: string + description: The emoji shortcode for the category. + description: + type: string + is_answerable: + type: boolean + description: Whether discussions in this category can be marked as answered. + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + pageInfo: + type: object + properties: + endCursor: + type: string + hasNextPage: + type: boolean + /graphql?resource=discussion_comments: + post: + operationId: graphql/discussions/discussion_comments/list + summary: Discussion Comments + description: Top-level comments on a discussion, with reply counts. Backed by the GitHub GraphQL API (`repository.discussion.comments`). + x-stackQL-graphQL: + url: https://api.github.com/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.repository.discussion.comments.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.repository.discussion.comments.pageInfo.endCursor + terminateOnJsonPath: $.data.repository.discussion.comments.pageInfo.hasNextPage + query: | + query { + repository(owner: "{{ .owner }}", name: "{{ .repo }}") { + discussion(number: {{ .discussion_number }}) { + comments(first: 100{{ .cursor }}) { + pageInfo { endCursor hasNextPage } + nodes { + id + url + body + created_at: createdAt + updated_at: updatedAt + published_at: publishedAt + is_answer: isAnswer + is_minimized: isMinimized + minimized_reason: minimizedReason + upvote_count: upvoteCount + author { login } + replies { total_count: totalCount } + reactions { total_count: totalCount } + } + } + } + } + } + x-stackql-protocol: graphql + externalDocs: + description: GitHub GraphQL API documentation + url: https://docs.github.com/graphql + parameters: + - name: owner + in: query + required: true + schema: + type: string + description: The account owner of the repository. + - name: repo + in: query + required: true + schema: + type: string + description: The name of the repository. + - name: discussion_number + in: query + required: true + schema: + type: integer + description: The number that identifies the discussion. + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + repository: + type: object + properties: + discussion: + type: object + properties: + comments: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: The GraphQL node ID of the comment. + url: + type: string + description: The HTML URL of the comment. + body: + type: string + description: The comment body as Markdown. + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + published_at: + type: string + format: date-time + is_answer: + type: boolean + description: Whether this comment is the chosen answer. + is_minimized: + type: boolean + minimized_reason: + type: string + upvote_count: + type: integer + author: + type: object + description: The comment author (`login`). + properties: + login: + type: string + replies: + type: object + description: Reply counts (`total_count`). + properties: + total_count: + type: integer + reactions: + type: object + description: Reaction counts (`total_count`). + properties: + total_count: + type: integer + pageInfo: + type: object + properties: + endCursor: + type: string + hasNextPage: + type: boolean +components: + schemas: {} + x-stackQL-resources: + discussion_categories: + id: github.discussions.discussion_categories + name: discussion_categories + title: Discussion Categories + methods: + list: + operation: + $ref: '#/paths/~1graphql?resource=discussion_categories/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.repository.discussionCategories.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/discussion_categories/methods/list' + insert: [] + update: [] + delete: [] + replace: [] + discussion_comments: + id: github.discussions.discussion_comments + name: discussion_comments + title: Discussion Comments + methods: + list: + operation: + $ref: '#/paths/~1graphql?resource=discussion_comments/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.repository.discussion.comments.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/discussion_comments/methods/list' + insert: [] + update: [] + delete: [] + replace: [] + discussions: + id: github.discussions.discussions + name: discussions + title: Discussions + methods: + list: + operation: + $ref: '#/paths/~1graphql?resource=discussions/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.repository.discussions.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/discussions/methods/list' + insert: [] + update: [] + delete: [] + replace: [] diff --git a/providers/src/github/v00.00.00000/services/emojis.yaml b/providers/src/github/v00.00.00000/services/emojis.yaml index aa4234c0..8770cb3b 100644 --- a/providers/src/github/v00.00.00000/services/emojis.yaml +++ b/providers/src/github/v00.00.00000/services/emojis.yaml @@ -3617,3 +3617,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/enterprise_team_memberships.yaml b/providers/src/github/v00.00.00000/services/enterprise_team_memberships.yaml index 7bd5ad13..cf163a44 100644 --- a/providers/src/github/v00.00.00000/services/enterprise_team_memberships.yaml +++ b/providers/src/github/v00.00.00000/services/enterprise_team_memberships.yaml @@ -546,3 +546,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/enterprise_team_organizations.yaml b/providers/src/github/v00.00.00000/services/enterprise_team_organizations.yaml index f5eafdf8..fa9ee047 100644 --- a/providers/src/github/v00.00.00000/services/enterprise_team_organizations.yaml +++ b/providers/src/github/v00.00.00000/services/enterprise_team_organizations.yaml @@ -450,3 +450,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/enterprise_teams.yaml b/providers/src/github/v00.00.00000/services/enterprise_teams.yaml index f354fea1..e4c73a13 100644 --- a/providers/src/github/v00.00.00000/services/enterprise_teams.yaml +++ b/providers/src/github/v00.00.00000/services/enterprise_teams.yaml @@ -112,6 +112,23 @@ paths: The ID of the IdP group to assign team membership with. You can get this value from the [REST API endpoints for SCIM](https://docs.github.com/rest/scim#list-provisioned-scim-groups-for-an-enterprise). + notification_setting: + type: string + description: > + The notification setting the team is set to. The options + are: + + + * `notifications_enabled` - team members receive + notifications when the team is @mentioned. + + * `notifications_disabled` - no one receives notifications. + + + Default: `notifications_enabled` + enum: + - notifications_enabled + - notifications_disabled required: - name examples: @@ -245,6 +262,20 @@ paths: new IdP group will replace the existing one, or replace existing direct members if the team isn't currently linked to an IdP group. + notification_setting: + type: string + description: > + The notification setting the team is set to. The options + are: + + + * `notifications_enabled` - team members receive + notifications when the team is @mentioned. + + * `notifications_disabled` - no one receives notifications. + enum: + - notifications_enabled + - notifications_disabled examples: default: value: @@ -349,6 +380,15 @@ components: updated_at: type: string format: date-time + notification_setting: + type: string + description: >- + Whether team members will receive notifications when the team is + mentioned. + example: notifications_enabled + enum: + - notifications_enabled + - notifications_disabled required: - id - url @@ -503,3 +543,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/gists.yaml b/providers/src/github/v00.00.00000/services/gists.yaml index 2bc4d9a7..7e54f55f 100644 --- a/providers/src/github/v00.00.00000/services/gists.yaml +++ b/providers/src/github/v00.00.00000/services/gists.yaml @@ -2347,6 +2347,12 @@ components: type: User site_admin: false truncated: false + x-github-breaking-changes: + - changeset: deprecate_beta_media_type + patch: + value: + user: null + version: '2026-03-10' headers: link: example: >- @@ -2584,3 +2590,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/git.yaml b/providers/src/github/v00.00.00000/services/git.yaml index 56d10637..2c8d400b 100644 --- a/providers/src/github/v00.00.00000/services/git.yaml +++ b/providers/src/github/v00.00.00000/services/git.yaml @@ -2185,3 +2185,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/gitignore.yaml b/providers/src/github/v00.00.00000/services/gitignore.yaml index ca219082..4b7b98c0 100644 --- a/providers/src/github/v00.00.00000/services/gitignore.yaml +++ b/providers/src/github/v00.00.00000/services/gitignore.yaml @@ -26,7 +26,10 @@ paths: schema: type: array items: - type: string + type: object + properties: + gitignore/get_all_template: + type: string examples: default: value: @@ -177,3 +180,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/hosted_compute.yaml b/providers/src/github/v00.00.00000/services/hosted_compute.yaml index 2d7c4d45..1f40f95d 100644 --- a/providers/src/github/v00.00.00000/services/hosted_compute.yaml +++ b/providers/src/github/v00.00.00000/services/hosted_compute.yaml @@ -587,3 +587,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/interactions.yaml b/providers/src/github/v00.00.00000/services/interactions.yaml index 89336f60..3c2d8677 100644 --- a/providers/src/github/v00.00.00000/services/interactions.yaml +++ b/providers/src/github/v00.00.00000/services/interactions.yaml @@ -123,6 +123,164 @@ paths: category: interactions subcategory: orgs x-stackQL-resource: orgs + /orgs/{org}/interaction-limits/pulls/creation-cap: + get: + summary: Get pull request creation cap for an org + description: >- + Gets the pull request creation cap configuration for an organization. + + The cap limits the total number of open pull requests a user can have + across all public + + repositories in the organization at one time. + + + Only users with admin access to the organization can view the cap + configuration. + tags: + - interactions + operationId: interactions/get-pull-request-creation-cap-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/interactions/orgs#get-pull-request-creation-cap-for-an-org + parameters: + - $ref: '#/components/parameters/org' + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + properties: + enabled: + type: boolean + description: Whether the pull request creation cap is enabled + max_open_pull_requests: + type: integer + description: >- + The maximum number of open pull requests a user can have + at one time + minimum: 1 + maximum: 1000 + required: + - enabled + - max_open_pull_requests + examples: + default: + summary: Response when cap is enabled + value: + enabled: true + max_open_pull_requests: 1 + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '405': + description: Method Not Allowed + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: interactions + subcategory: orgs + x-stackQL-resource: orgs + patch: + summary: Update pull request creation cap for an org + description: >- + Updates the pull request creation cap for an organization. The cap + limits the total number + + of open pull requests a user can have across all public repositories in + the organization + + at one time. + + + Only users with admin access to the organization can configure the cap. + tags: + - interactions + operationId: interactions/update-pull-request-creation-cap-for-org + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/interactions/orgs#update-pull-request-creation-cap-for-an-org + parameters: + - $ref: '#/components/parameters/org' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + enabled: + type: boolean + description: Whether the pull request creation cap is enabled + max_open_pull_requests: + type: integer + description: >- + The maximum number of open pull requests a user can have at + one time + minimum: 1 + maximum: 1000 + required: + - enabled + examples: + default: + summary: Example request body + value: + enabled: true + max_open_pull_requests: 1 + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + properties: + enabled: + type: boolean + description: Whether the pull request creation cap is enabled + max_open_pull_requests: + type: integer + description: >- + The maximum number of open pull requests a user can have + at one time + minimum: 1 + maximum: 1000 + required: + - enabled + - max_open_pull_requests + examples: + default: + summary: Response + value: + enabled: true + max_open_pull_requests: 1 + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '405': + description: Method Not Allowed + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: interactions + subcategory: orgs + x-stackQL-resource: orgs /repos/{owner}/{repo}/interaction-limits: get: summary: Get interaction restrictions for a repository @@ -251,6 +409,313 @@ paths: category: interactions subcategory: repos x-stackQL-resource: repos + /repos/{owner}/{repo}/interaction-limits/pulls/bypass-list: + get: + summary: Get pull request creation cap bypass list for a repository + description: >- + Lists the users that are on the pull request creation cap bypass list + for a + + repository. Users on this list can create pull requests regardless of + any + + configured pull request creation cap. + + + Only users with maintainer permissions can view the bypass list. + tags: + - interactions + operationId: interactions/get-pull-request-bypass-list-for-repo + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/interactions/repos#get-pull-request-creation-cap-bypass-list-for-a-repository + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + responses: + '200': + description: Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/simple-user' + examples: + default: + $ref: '#/components/examples/pull-request-bypass-list-items' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: interactions + subcategory: repos + x-stackQL-resource: repos + put: + summary: Add users to the pull request creation cap bypass list for a repository + description: >- + Adds users to the pull request creation cap bypass list for a + repository. + + Users on this list can create pull requests regardless of any configured + + pull request creation cap. + + + Only users with maintainer permissions can modify the bypass list. + + You can add a maximum of 100 users per request. + + The bypass list can only hold a maximum of 100 users. + tags: + - interactions + operationId: interactions/set-pull-request-bypass-list-for-repo + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/interactions/repos#add-users-to-the-pull-request-creation-cap-bypass-list-for-a-repository + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/interaction-limit-pull-request-bypass-list' + examples: + default: + summary: Example request body + value: + users: + - octocat + - monalisa + responses: + '204': + description: Response + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: interactions + subcategory: repos + x-stackQL-resource: repos + delete: + summary: >- + Remove users from the pull request creation cap bypass list for a + repository + description: >- + Removes users from the pull request creation cap bypass list for a + repository. + + Removed users will be subject to any configured pull request creation + cap. + + + Only users with maintainer permissions can modify the bypass list. + + You can remove a maximum of 100 users per request. + tags: + - interactions + operationId: interactions/remove-pull-request-bypass-list-for-repo + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/interactions/repos#remove-users-from-the-pull-request-creation-cap-bypass-list-for-a-repository + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/interaction-limit-pull-request-bypass-list' + examples: + default: + summary: Example request body + value: + users: + - octocat + responses: + '204': + description: Response + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: interactions + subcategory: repos + x-stackQL-resource: repos + /repos/{owner}/{repo}/interaction-limits/pulls/creation-cap: + get: + summary: Get pull request creation cap for a repository + description: >- + Gets the pull request creation cap configuration for a repository. + + The cap limits the number of open pull requests a user can have at one + time. + + + Only users with admin access to the repository can view the cap + configuration. + tags: + - interactions + operationId: interactions/get-pull-request-creation-cap-for-repo + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/interactions/repos#get-pull-request-creation-cap-for-a-repository + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + properties: + enabled: + type: boolean + description: Whether the pull request creation cap is enabled + max_open_pull_requests: + type: integer + description: >- + The maximum number of open pull requests a user can have + at one time + minimum: 1 + maximum: 1000 + required: + - enabled + - max_open_pull_requests + examples: + default: + summary: Response when cap is enabled + value: + enabled: true + max_open_pull_requests: 1 + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '405': + description: Method Not Allowed + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: interactions + subcategory: repos + x-stackQL-resource: repos + patch: + summary: Update pull request creation cap for a repository + description: >- + Updates the pull request creation cap for a repository. The cap limits + the number + + of open pull requests a user can have at one time. + + + Only users with admin access to the repository can configure the cap. + tags: + - interactions + operationId: interactions/update-pull-request-creation-cap-for-repo + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/interactions/repos#update-pull-request-creation-cap-for-a-repository + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + enabled: + type: boolean + description: Whether the pull request creation cap is enabled + max_open_pull_requests: + type: integer + description: >- + The maximum number of open pull requests a user can have at + one time + minimum: 1 + maximum: 1000 + required: + - enabled + examples: + default: + summary: Example request body + value: + enabled: true + max_open_pull_requests: 1 + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + properties: + enabled: + type: boolean + description: Whether the pull request creation cap is enabled + max_open_pull_requests: + type: integer + description: >- + The maximum number of open pull requests a user can have + at one time + minimum: 1 + maximum: 1000 + required: + - enabled + - max_open_pull_requests + examples: + default: + summary: Response + value: + enabled: true + max_open_pull_requests: 1 + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '405': + description: Method Not Allowed + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: interactions + subcategory: repos + x-stackQL-resource: repos /user/interaction-limits: get: summary: Get interaction restrictions for your public repositories @@ -392,6 +857,135 @@ components: $ref: '#/components/schemas/interaction-expiry' required: - limit + basic-error: + title: Basic Error + description: Basic Error + type: object + properties: + message: + type: string + documentation_url: + type: string + url: + type: string + status: + type: string + simple-user: + title: Simple User + description: A GitHub user. + type: object + properties: + name: + nullable: true + type: string + email: + nullable: true + type: string + login: + type: string + example: octocat + id: + type: integer + format: int64 + example: 1 + node_id: + type: string + example: MDQ6VXNlcjE= + avatar_url: + type: string + format: uri + example: https://github.com/images/error/octocat_happy.gif + gravatar_id: + type: string + example: 41d064eb2195891e12d0413f63227ea7 + nullable: true + url: + type: string + format: uri + example: https://api.github.com/users/octocat + html_url: + type: string + format: uri + example: https://github.com/octocat + followers_url: + type: string + format: uri + example: https://api.github.com/users/octocat/followers + following_url: + type: string + example: https://api.github.com/users/octocat/following{/other_user} + gists_url: + type: string + example: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: + type: string + example: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: + type: string + format: uri + example: https://api.github.com/users/octocat/subscriptions + organizations_url: + type: string + format: uri + example: https://api.github.com/users/octocat/orgs + repos_url: + type: string + format: uri + example: https://api.github.com/users/octocat/repos + events_url: + type: string + example: https://api.github.com/users/octocat/events{/privacy} + received_events_url: + type: string + format: uri + example: https://api.github.com/users/octocat/received_events + type: + type: string + example: User + site_admin: + type: boolean + starred_at: + type: string + example: '"2020-07-09T00:17:55Z"' + user_view_type: + type: string + example: public + required: + - avatar_url + - events_url + - followers_url + - following_url + - gists_url + - gravatar_id + - html_url + - id + - node_id + - login + - organizations_url + - received_events_url + - repos_url + - site_admin + - starred_url + - subscriptions_url + - type + - url + interaction-limit-pull-request-bypass-list: + title: Interaction Limits Pull Request Bypass List + description: >- + A list of user logins to add or remove from the pull request creation + cap bypass list. + type: object + properties: + users: + description: A list of user logins to add or remove from the bypass list. + type: array + items: + type: string + example: + - octocat + - monalisa + required: + - users interaction-group: type: string description: >- @@ -458,6 +1052,18 @@ components: application/json: schema: $ref: '#/components/schemas/validation-error' + forbidden: + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + not_found: + description: Resource not found + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' parameters: org: name: org @@ -493,6 +1099,26 @@ components: limit: collaborators_only origin: repository expires_at: '2018-08-17T04:18:39Z' + pull-request-bypass-list-items: + value: + - login: octocat + id: 1 + node_id: MDQ6VXNlcjE= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false interaction-limit-user: value: limit: collaborators_only @@ -537,6 +1163,37 @@ components: replace: - $ref: >- #/components/x-stackQL-resources/orgs/methods/set_restrictions_for_org + org_pull_request_creation_caps: + id: github.interactions.org_pull_request_creation_caps + name: org_pull_request_creation_caps + title: Org Pull Request Creation Caps + methods: + get_pull_request_creation_cap_for_org: + operation: + $ref: '#/paths/~1orgs~1{org}~1interaction-limits~1pulls~1creation-cap/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_pull_request_creation_cap_for_org: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1orgs~1{org}~1interaction-limits~1pulls~1creation-cap/patch + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/org_pull_request_creation_caps/methods/get_pull_request_creation_cap_for_org + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/org_pull_request_creation_caps/methods/update_pull_request_creation_cap_for_org + delete: [] + replace: [] repos: id: github.interactions.repos name: repos @@ -575,6 +1232,79 @@ components: replace: - $ref: >- #/components/x-stackQL-resources/repos/methods/set_restrictions_for_repo + repo_pull_request_bypass_lists: + id: github.interactions.repo_pull_request_bypass_lists + name: repo_pull_request_bypass_lists + title: Repo Pull Request Bypass Lists + methods: + get_pull_request_bypass_list_for_repo: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1interaction-limits~1pulls~1bypass-list/get + response: + mediaType: application/json + openAPIDocKey: '200' + set_pull_request_bypass_list_for_repo: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1interaction-limits~1pulls~1bypass-list/put + response: + mediaType: application/json + openAPIDocKey: '204' + remove_pull_request_bypass_list_for_repo: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1interaction-limits~1pulls~1bypass-list/delete + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/repo_pull_request_bypass_lists/methods/get_pull_request_bypass_list_for_repo + insert: [] + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/repo_pull_request_bypass_lists/methods/remove_pull_request_bypass_list_for_repo + replace: + - $ref: >- + #/components/x-stackQL-resources/repo_pull_request_bypass_lists/methods/set_pull_request_bypass_list_for_repo + repo_pull_request_creation_caps: + id: github.interactions.repo_pull_request_creation_caps + name: repo_pull_request_creation_caps + title: Repo Pull Request Creation Caps + methods: + get_pull_request_creation_cap_for_repo: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1interaction-limits~1pulls~1creation-cap/get + response: + mediaType: application/json + openAPIDocKey: '200' + update_pull_request_creation_cap_for_repo: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1interaction-limits~1pulls~1creation-cap/patch + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/repo_pull_request_creation_caps/methods/get_pull_request_creation_cap_for_repo + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/repo_pull_request_creation_caps/methods/update_pull_request_creation_cap_for_repo + delete: [] + replace: [] user: id: github.interactions.user name: user @@ -615,3 +1345,11 @@ components: #/components/x-stackQL-resources/user/methods/set_restrictions_for_authenticated_user servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/issues.yaml b/providers/src/github/v00.00.00000/services/issues.yaml index cae0edd1..455470ff 100644 --- a/providers/src/github/v00.00.00000/services/issues.yaml +++ b/providers/src/github/v00.00.00000/services/issues.yaml @@ -451,6 +451,32 @@ paths: required: false schema: type: string + - name: issue_field_values + description: >- + A comma-separated list of issue field filters in `field_slug:value` + format. + + Only issues matching all specified field values are returned. + + Requires issue fields to be enabled for the repository. Issue fields + are + + not available for user-owned repositories, and field availability + for + + organization-owned public repositories depends on the organization's + + visibility settings. For example, `priority:Urgent,severity:High` + filters + + issues where the `priority` field is `Urgent` AND the `severity` + field is + + `High`. + in: query + required: false + schema: + type: string - $ref: '#/components/parameters/labels' - name: sort description: What to sort results by. @@ -597,6 +623,34 @@ paths: are silently dropped otherwise._ items: type: string + issue_field_values: + type: array + description: >- + An array of issue field values to set on this issue. Each + field value must include the field ID and the value to set. + Issue fields are only available for organization-owned + repositories with the feature enabled. Field values are + silently dropped otherwise. + items: + type: object + properties: + field_id: + type: integer + description: The ID of the issue field to set + value: + oneOf: + - type: string + - type: number + - type: array + items: + type: string + description: >- + The value to set for the field. For multi-select + fields, provide an array of option names. + required: + - field_id + - value + additionalProperties: false type: type: string description: >- @@ -1228,6 +1282,13 @@ paths: The reason for the state change. Ignored unless `state` is changed. example: not_planned + duplicate_issue_id: + type: integer + description: >- + The ID of the issue to mark as the canonical duplicate when + `state_reason` is `duplicate`. The issue must exist and be + accessible to the authenticated user. Ignored when + `state_reason` is not `duplicate`. milestone: nullable: true type: string @@ -1261,6 +1322,22 @@ paths: color: type: string nullable: true + rationale: + type: string + description: Optional reasoning for selecting this label. + suggest: + type: boolean + description: >- + If `true`, the change is stored as a pending + suggestion for human review rather than applied + directly. + confidence: + type: string + description: The confidence level for this label choice. + enum: + - low + - medium + - high assignees: type: array description: >- @@ -1271,7 +1348,28 @@ paths: issues. Without push access to the repository, assignee changes are silently dropped. items: - type: string + oneOf: + - type: string + - type: object + properties: + login: + type: string + rationale: + type: string + description: Optional reasoning for selecting this assignee. + suggest: + type: boolean + description: >- + If `true`, the change is stored as a pending + suggestion for human review rather than applied + directly. + confidence: + type: string + description: The confidence level for this assignee choice. + enum: + - low + - medium + - high issue_field_values: type: array description: >- @@ -1288,20 +1386,63 @@ paths: oneOf: - type: string - type: number - description: The value to set for the field + - type: array + items: + type: string + description: >- + The value to set for the field. For multi-select + fields, provide an array of option names. + rationale: + type: string + description: Optional reasoning for setting this field value. + suggest: + type: boolean + description: >- + If `true`, the change is stored as a pending + suggestion for human review rather than applied + directly. + confidence: + type: string + description: The confidence level for this field value choice. + enum: + - low + - medium + - high required: - field_id - value additionalProperties: false type: - type: string description: >- - The name of the issue type to associate with this issue or - use `null` to remove the current issue type. Only users with + The issue type to associate with this issue. Only users with push access can set the type for issues. Without push access to the repository, type changes are silently dropped. nullable: true + type: string example: Epic + properties: + value: + type: string + description: >- + The name of the issue type to associate with this issue, + or `null` to remove the current issue type. + nullable: true + example: Epic + rationale: + type: string + description: Optional reasoning for selecting this type. + suggest: + type: boolean + description: >- + If `true`, the change is stored as a pending suggestion + for human review rather than applied directly. + confidence: + type: string + description: The confidence level for this type choice. + enum: + - low + - medium + - high examples: default: value: @@ -1319,7 +1460,402 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/issue' + title: Issue + description: >- + Issues are a great way to keep track of tasks, enhancements, + and bugs for your projects. + type: object + properties: + id: + type: integer + format: int64 + node_id: + type: string + url: + description: URL for the issue + example: https://api.github.com/repositories/42/issues/1 + type: string + format: uri + repository_url: + type: string + format: uri + labels_url: + type: string + comments_url: + type: string + format: uri + events_url: + type: string + format: uri + html_url: + type: string + format: uri + number: + description: >- + Number uniquely identifying the issue within its + repository + example: 42 + type: integer + state: + description: State of the issue; either 'open' or 'closed' + example: open + type: string + state_reason: + description: The reason for the current state + example: not_planned + type: string + nullable: true + enum: + - completed + - reopened + - not_planned + - duplicate + title: + description: Title of the issue + example: Widget creation fails in Safari on OS X 10.8 + type: string + body: + description: Contents of the issue + example: >- + It looks like the new widget form is broken on Safari. + When I try and create the widget, Safari crashes. This is + reproducible on 10.8, but not 10.9. Maybe a browser bug? + type: string + nullable: true + user: + $ref: '#/components/schemas/nullable-simple-user' + labels: + description: >- + Labels to associate with this issue; pass one or more + label names to replace the set of labels on this issue; + send an empty array to clear all labels from the issue; + note that the labels are silently dropped for users + without push access to the repository + example: + - bug + - registration + type: array + items: + oneOf: + - type: string + - type: object + properties: + id: + type: integer + format: int64 + node_id: + type: string + url: + type: string + format: uri + name: + type: string + description: + type: string + nullable: true + color: + type: string + nullable: true + default: + type: boolean + assignee: + $ref: '#/components/schemas/nullable-simple-user' + assignees: + type: array + items: + $ref: '#/components/schemas/simple-user' + milestone: + $ref: '#/components/schemas/nullable-milestone' + locked: + type: boolean + active_lock_reason: + type: string + nullable: true + comments: + type: integer + pull_request: + type: object + properties: + merged_at: + type: string + format: date-time + nullable: true + diff_url: + type: string + format: uri + nullable: true + html_url: + type: string + format: uri + nullable: true + patch_url: + type: string + format: uri + nullable: true + url: + type: string + format: uri + nullable: true + required: + - diff_url + - html_url + - patch_url + - url + closed_at: + type: string + format: date-time + nullable: true + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + draft: + type: boolean + closed_by: + $ref: '#/components/schemas/nullable-simple-user' + body_html: + type: string + body_text: + type: string + timeline_url: + type: string + format: uri + type: + $ref: '#/components/schemas/issue-type' + repository: + $ref: '#/components/schemas/repository' + performed_via_github_app: + $ref: '#/components/schemas/nullable-integration' + author_association: + $ref: '#/components/schemas/author-association' + reactions: + $ref: '#/components/schemas/reaction-rollup' + sub_issues_summary: + $ref: '#/components/schemas/sub-issues-summary' + parent_issue_url: + description: >- + URL to get the parent issue of this issue, if it is a + sub-issue + type: string + format: uri + nullable: true + pinned_comment: + $ref: '#/components/schemas/nullable-issue-comment' + issue_dependencies_summary: + $ref: '#/components/schemas/issue-dependencies-summary' + issue_field_values: + type: array + items: + $ref: '#/components/schemas/issue-field-value' + suggestions: + type: object + description: | + Pending suggestions for each suggestible field (`type`, + `issue_field_values`, `labels`, `assignees`, `state`) the + request touched. Omitted for fields not in the request or + with no pending or ignored suggestions. Items tagged + `ignored` are echoes of the current request's inputs that + were not persisted as pending suggestions. + properties: + type: + type: array + items: + type: object + properties: + value: + type: string + rationale: + type: string + suggest: + type: boolean + confidence: + type: string + enum: + - low + - medium + - high + ignored: + type: boolean + ignored_reason: + type: string + enum: + - already_applied + - issue_already_closed + issue_field_values: + type: array + items: + type: object + properties: + field_id: + type: integer + value: + oneOf: + - type: string + - type: number + - type: array + items: + type: string + rationale: + type: string + suggest: + type: boolean + confidence: + type: string + enum: + - low + - medium + - high + ignored: + type: boolean + ignored_reason: + type: string + enum: + - already_applied + - issue_already_closed + labels: + type: array + items: + type: object + properties: + name: + type: string + rationale: + type: string + suggest: + type: boolean + confidence: + type: string + enum: + - low + - medium + - high + ignored: + type: boolean + ignored_reason: + type: string + enum: + - already_applied + - issue_already_closed + assignees: + type: array + items: + type: object + properties: + login: + type: string + rationale: + type: string + suggest: + type: boolean + confidence: + type: string + enum: + - low + - medium + - high + ignored: + type: boolean + ignored_reason: + type: string + enum: + - already_applied + - issue_already_closed + state: + type: array + items: + type: object + properties: + value: + type: string + state_reason: + type: string + duplicate_issue_id: + type: integer + rationale: + type: string + suggest: + type: boolean + confidence: + type: string + enum: + - low + - medium + - high + ignored: + type: boolean + ignored_reason: + type: string + enum: + - already_applied + - issue_already_closed + required: + - assignee + - closed_at + - comments + - comments_url + - events_url + - html_url + - id + - node_id + - labels + - labels_url + - milestone + - number + - repository_url + - state + - locked + - title + - url + - user + - created_at + - updated_at + x-github-breaking-changes: + - changeset: deprecate_beta_media_type + patch: + properties: + pull_request: + type: object + properties: + merged_at: + nullable: false + diff_url: + nullable: false + html_url: + nullable: false + patch_url: + nullable: false + url: + nullable: false + type: object + version: '2026-03-10' + - changeset: remove_singular_assignee_from_issues_and_pull_requests + patch: + properties: + assignee: null + required: + - closed_at + - comments + - comments_url + - events_url + - html_url + - id + - node_id + - labels + - labels_url + - milestone + - number + - repository_url + - state + - locked + - title + - url + - user + - created_at + - updated_at + type: object + version: '2026-03-10' examples: default: $ref: '#/components/examples/issue' @@ -1383,7 +1919,31 @@ paths: users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ items: - type: string + oneOf: + - type: string + - type: object + properties: + login: + type: string + description: The login of the user to assign. + rationale: + type: string + description: Optional reasoning for adding this assignee. + suggest: + type: boolean + description: >- + If `true`, the assignee is stored as a pending + suggestion for human review rather than applied + directly. + confidence: + type: string + description: The confidence level for this assignee choice. + enum: + - low + - medium + - high + required: + - login examples: default: value: @@ -2050,22 +2610,124 @@ paths: category: issues subcategory: issue-field-values x-stackQL-resource: issue_field_values - /repos/{owner}/{repo}/issues/{issue_number}/labels: - get: - summary: List labels for an issue - description: Lists all labels for an issue. + post: + summary: Add issue field values to an issue + description: >- + Add custom field values to an issue. You can set values for + organization-level issue fields that have been defined for the + repository's organization. + + Adding an empty array will clear all existing field values for the + issue. + + + This endpoint supports the following field data types: + + - **`text`**: String values for text fields + + - **`single_select`**: Option names for single-select fields (must match + an existing option name) + + - **`number`**: Numeric values for number fields + + - **`date`**: ISO 8601 date strings for date fields + + + Only users with push access to the repository can add issue field + values. If you don't have the proper permissions, you'll receive a `403 + Forbidden` response. + + + This endpoint triggers + [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + Creating content too quickly using this endpoint may result in secondary + rate limiting. For more information, see "[Rate limits for the + API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + + and "[Best practices for using the REST + API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." tags: - issues - operationId: issues/list-labels-on-issue + operationId: issues/add-issue-field-values externalDocs: description: API method documentation - url: https://docs.github.com/rest/issues/labels#list-labels-for-an-issue + url: >- + https://docs.github.com/rest/issues/issue-field-values#add-issue-field-values-to-an-issue parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' - $ref: '#/components/parameters/issue-number' - - $ref: '#/components/parameters/per-page' - - $ref: '#/components/parameters/page' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + issue_field_values: + type: array + description: >- + An array of issue field values to add to this issue. Each + field value must include the field ID and the value to set. + items: + type: object + properties: + field_id: + type: integer + description: The ID of the issue field to set + example: 123 + value: + oneOf: + - type: string + description: >- + The value to set for text, single_select, or date + fields + - type: number + description: The value to set for number fields + - type: array + items: + type: string + description: >- + The value to set for multi_select fields (array of + option names) + description: >- + The value to set for the field. The type depends on + the field's data type: + + - For text fields: provide a string value + + - For single_select fields: provide the option name as + a string (must match an existing option) + + - For number fields: provide a numeric value + + - For multi_select fields: provide an array of option + names (must match existing options) + + - For date fields: provide an ISO 8601 date string + example: Critical + required: + - field_id + - value + additionalProperties: false + maxItems: 25 + examples: + default: + summary: Add multiple field values + value: + issue_field_values: + - field_id: 123 + value: Critical + - field_id: 456 + value: 5 + - field_id: 789 + value: '2024-12-31' + single-field: + summary: Add a single field value + value: + issue_field_values: + - field_id: 123 + value: High Priority responses: '200': description: Response @@ -2074,70 +2736,238 @@ paths: schema: type: array items: - $ref: '#/components/schemas/label' + $ref: '#/components/schemas/issue-field-value' examples: default: - $ref: '#/components/examples/label-items' - headers: - Link: - $ref: '#/components/headers/link' - '301': - $ref: '#/components/responses/moved_permanently' + $ref: '#/components/examples/issue-field-value-items' + '400': + $ref: '#/components/responses/bad_request' + '403': + $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' - '410': - $ref: '#/components/responses/gone' + '422': + $ref: '#/components/responses/validation_failed' + '503': + $ref: '#/components/responses/service_unavailable' x-github: + triggersNotification: true githubCloudOnly: false enabledForGitHubApps: true category: issues - subcategory: labels - x-stackQL-resource: labels - post: - summary: Add labels to an issue - description: Adds labels to an issue. - tags: + subcategory: issue-field-values + x-stackQL-resource: issue_field_values + put: + summary: Set issue field values for an issue + description: >- + Set custom field values for an issue, replacing any existing values. You + can set values for organization-level issue fields that have been + defined for the repository's organization. + + + This endpoint supports the following field data types: + + - **`text`**: String values for text fields + + - **`single_select`**: Option names for single-select fields (must match + an existing option name) + + - **`number`**: Numeric values for number fields + + - **`date`**: ISO 8601 date strings for date fields + + + This operation will replace all existing field values with the provided + ones. If you want to add field values without replacing existing ones, + use the `POST` endpoint instead. + + + Only users with push access to the repository can set issue field + values. If you don't have the proper permissions, you'll receive a `403 + Forbidden` response. + + + This endpoint triggers + [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + Creating content too quickly using this endpoint may result in secondary + rate limiting. For more information, see "[Rate limits for the + API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + + and "[Best practices for using the REST + API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + tags: - issues - operationId: issues/add-labels + operationId: issues/set-issue-field-values externalDocs: description: API method documentation - url: https://docs.github.com/rest/issues/labels#add-labels-to-an-issue + url: >- + https://docs.github.com/rest/issues/issue-field-values#set-issue-field-values-for-an-issue parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' - $ref: '#/components/parameters/issue-number' requestBody: - required: false + required: true content: application/json: schema: type: object properties: - labels: + issue_field_values: type: array - minItems: 1 description: >- - The names of the labels to add to the issue's existing - labels. You can also pass an `array` of labels directly, but - GitHub recommends passing an object with the `labels` key. - To replace all of the labels for an issue, use "[Set labels - for an - issue](https://docs.github.com/rest/issues/labels#set-labels-for-an-issue)." + An array of issue field values to set for this issue. Each + field value must include the field ID and the value to set. + All existing field values will be replaced. items: - type: string - items: - type: string - properties: - name: - type: string - required: - - name + type: object + properties: + field_id: + type: integer + description: The ID of the issue field to set + example: 123 + value: + oneOf: + - type: string + description: >- + The value to set for text, single_select, or date + fields + - type: number + description: The value to set for number fields + description: >- + The value to set for the field. The type depends on + the field's data type: + + - For text fields: provide a string value + + - For single_select fields: provide the option name as + a string (must match an existing option) + + - For number fields: provide a numeric value + + - For date fields: provide an ISO 8601 date string + example: Critical + required: + - field_id + - value + additionalProperties: false + maxItems: 25 examples: default: + summary: Set multiple field values value: - labels: - - bug - - enhancement + issue_field_values: + - field_id: 123 + value: Critical + - field_id: 456 + value: 5 + - field_id: 789 + value: '2024-12-31' + single-field: + summary: Set a single field value + value: + issue_field_values: + - field_id: 123 + value: High Priority + responses: + '200': + description: Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/issue-field-value' + examples: + default: + $ref: '#/components/examples/issue-field-value-items' + '400': + $ref: '#/components/responses/bad_request' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + '503': + $ref: '#/components/responses/service_unavailable' + x-github: + triggersNotification: true + githubCloudOnly: false + enabledForGitHubApps: true + category: issues + subcategory: issue-field-values + x-stackQL-resource: issue_field_values + /repos/{owner}/{repo}/issues/{issue_number}/issue-field-values/{issue_field_id}: + delete: + summary: Delete an issue field value from an issue + description: >- + Remove a specific custom field value from an issue. + + + Only users with push access to the repository can delete issue field + values. If you don't have the proper permissions, you'll receive a `403 + Forbidden` response. + + + If the specified field does not have a value set on the issue, this + operation will return a `404` error. + + + This endpoint triggers + [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + Creating content too quickly using this endpoint may result in secondary + rate limiting. For more information, see "[Rate limits for the + API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + + and "[Best practices for using the REST + API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + tags: + - issues + operationId: issues/delete-issue-field-value + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/issues/issue-field-values#delete-an-issue-field-value-from-an-issue + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/issue-number' + - $ref: '#/components/parameters/issue-field-id' + responses: + '204': + description: Issue field value deleted successfully + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + '503': + $ref: '#/components/responses/service_unavailable' + x-github: + triggersNotification: true + githubCloudOnly: false + enabledForGitHubApps: true + category: issues + subcategory: issue-field-values + x-stackQL-resource: issue_field_values + /repos/{owner}/{repo}/issues/{issue_number}/labels: + get: + summary: List labels for an issue + description: Lists all labels for an issue. + tags: + - issues + operationId: issues/list-labels-on-issue + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/issues/labels#list-labels-for-an-issue + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/issue-number' + - $ref: '#/components/parameters/per-page' + - $ref: '#/components/parameters/page' responses: '200': description: Response @@ -2150,29 +2980,30 @@ paths: examples: default: $ref: '#/components/examples/label-items' + headers: + Link: + $ref: '#/components/headers/link' '301': $ref: '#/components/responses/moved_permanently' '404': $ref: '#/components/responses/not_found' '410': $ref: '#/components/responses/gone' - '422': - $ref: '#/components/responses/validation_failed' x-github: githubCloudOnly: false enabledForGitHubApps: true category: issues subcategory: labels x-stackQL-resource: labels - put: - summary: Set labels for an issue - description: Removes any previous labels and sets the new labels for an issue. + post: + summary: Add labels to an issue + description: Adds labels to an issue. tags: - issues - operationId: issues/set-labels + operationId: issues/add-labels externalDocs: description: API method documentation - url: https://docs.github.com/rest/issues/labels#set-labels-for-an-issue + url: https://docs.github.com/rest/issues/labels#add-labels-to-an-issue parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -2188,22 +3019,58 @@ paths: type: array minItems: 1 description: >- - The names of the labels to set for the issue. The labels you - set replace any existing labels. You can pass an empty array - to remove all labels. Alternatively, you can pass a single - label as a `string` or an `array` of labels directly, but - GitHub recommends passing an object with the `labels` key. - You can also add labels to the existing labels for an issue. - For more information, see "[Add labels to an - issue](https://docs.github.com/rest/issues/labels#add-labels-to-an-issue)." + The labels to add to the issue's existing labels. You can + also pass an `array` of labels directly, but GitHub + recommends passing an object with the `labels` key. To + replace all of the labels for an issue, use "[Set labels for + an + issue](https://docs.github.com/rest/issues/labels#set-labels-for-an-issue)." items: - type: string - minItems: 1 + oneOf: + - type: string + - type: object + properties: + name: + type: string + description: The name of the label to add. + rationale: + type: string + description: Optional reasoning for adding this label. + suggest: + type: boolean + description: >- + If `true`, the label is stored as a pending + suggestion for human review rather than applied + directly. + confidence: + type: string + description: The confidence level for this label choice. + enum: + - low + - medium + - high + required: + - name items: type: string properties: name: type: string + rationale: + type: string + description: Optional reasoning for adding this label. + suggest: + type: boolean + description: >- + If `true`, the label is stored as a pending suggestion for + human review rather than applied directly. + confidence: + type: string + description: The confidence level for this label choice. + enum: + - low + - medium + - high required: - name examples: @@ -2238,12 +3105,86 @@ paths: category: issues subcategory: labels x-stackQL-resource: labels - delete: - summary: Remove all labels from an issue - description: Removes all labels from an issue. + put: + summary: Set labels for an issue + description: Removes any previous labels and sets the new labels for an issue. tags: - issues - operationId: issues/remove-all-labels + operationId: issues/set-labels + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/issues/labels#set-labels-for-an-issue + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/issue-number' + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + labels: + type: array + minItems: 1 + description: >- + The names of the labels to set for the issue. The labels you + set replace any existing labels. You can pass an empty array + to remove all labels. Alternatively, you can pass a single + label as a `string` or an `array` of labels directly, but + GitHub recommends passing an object with the `labels` key. + You can also add labels to the existing labels for an issue. + For more information, see "[Add labels to an + issue](https://docs.github.com/rest/issues/labels#add-labels-to-an-issue)." + items: + type: string + minItems: 1 + items: + type: string + properties: + name: + type: string + required: + - name + examples: + default: + value: + labels: + - bug + - enhancement + responses: + '200': + description: Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/label' + examples: + default: + $ref: '#/components/examples/label-items' + '301': + $ref: '#/components/responses/moved_permanently' + '404': + $ref: '#/components/responses/not_found' + '410': + $ref: '#/components/responses/gone' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: issues + subcategory: labels + x-stackQL-resource: labels + delete: + summary: Remove all labels from an issue + description: Removes all labels from an issue. + tags: + - issues + operationId: issues/remove-all-labels externalDocs: description: API method documentation url: >- @@ -2539,6 +3480,8 @@ paths: type: string '400': $ref: '#/components/responses/bad_request' + '403': + $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' x-github: @@ -2775,6 +3718,192 @@ paths: category: issues subcategory: sub-issues x-stackQL-resource: sub_issues + /repos/{owner}/{repo}/issues/{issue_number}/suggestions: + get: + summary: List issue suggestions + description: >- + Lists the suggestions on an issue. A suggestion is an agent-proposed + change to an issue's type, labels, fields, assignees, or closed state + that a maintainer can approve or dismiss. + + + By default only pending suggestions are returned. Use `state=all` to + return suggestions in every state, or `state=` to filter to a + single state. Use `action=` to return only suggestions for a + specific change. + + + This endpoint is only available while the issue suggestions feature is + enabled for the repository, and only supports issues, not pull requests. + + + Requires triage access to the repository. + tags: + - issues + operationId: issues/list-suggestions + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/issues/issues#list-issue-suggestions + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/issue-number' + - name: state + in: query + required: false + description: Filter suggestions by their state. + schema: + type: string + enum: + - pending + - applied + - approved + - dismissed + - replaced + - invalidated + - all + default: pending + - name: action + in: query + required: false + description: Filter suggestions by the change they propose. + schema: + type: string + enum: + - set_type + - add_label + - add_field + - add_assignee + - close_issue + - $ref: '#/components/parameters/per-page' + - $ref: '#/components/parameters/page' + responses: + '200': + description: Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/issue-suggestion' + examples: + default: + $ref: '#/components/examples/issue-suggestions' + headers: + Link: + $ref: '#/components/headers/link' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: issues + subcategory: issues + x-stackQL-resource: issues + /repos/{owner}/{repo}/issues/{issue_number}/suggestions/{suggestion_id}/approve: + post: + summary: Approve an issue suggestion + description: >- + Approves a pending suggestion on an issue. Applies the proposed change + (creating the corresponding timeline event), transitions the suggestion + to `approved`, and dismisses any competing pending suggestions for the + same change. + + + Requires triage access to the repository. Approving a suggestion also + requires permission to perform the change it applies (for example, + setting the issue type, adding a label or assignee, or closing the + issue); this only affects fine-grained access tokens and GitHub Apps + whose permissions are narrower than the triage role. This endpoint only + supports issues, not pull requests. + tags: + - issues + operationId: issues/approve-suggestion + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/issues/issues#approve-an-issue-suggestion + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/issue-number' + - name: suggestion_id + in: path + required: true + description: The unique identifier of the suggestion. + schema: + type: integer + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/issue-suggestion' + examples: + default: + $ref: '#/components/examples/issue-suggestion' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: issues + subcategory: issues + x-stackQL-resource: issues + /repos/{owner}/{repo}/issues/{issue_number}/suggestions/{suggestion_id}/dismiss: + post: + summary: Dismiss an issue suggestion + description: >- + Dismisses a pending suggestion on an issue. Transitions the suggestion + to `dismissed` without applying any change or creating a timeline event. + + + Requires triage access to the repository. This endpoint only supports + issues, not pull requests. + tags: + - issues + operationId: issues/dismiss-suggestion + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/issues/issues#dismiss-an-issue-suggestion + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/issue-number' + - name: suggestion_id + in: path + required: true + description: The unique identifier of the suggestion. + schema: + type: integer + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/issue-suggestion' + examples: + default: + $ref: '#/components/examples/issue-suggestion' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: issues + subcategory: issues + x-stackQL-resource: issues /repos/{owner}/{repo}/issues/{issue_number}/timeline: get: summary: List timeline events for an issue @@ -2792,6 +3921,7 @@ paths: - $ref: '#/components/parameters/issue-number' - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/issue-timeline-exclude' responses: '200': description: Response @@ -2807,6 +3937,8 @@ paths: headers: Link: $ref: '#/components/headers/link' + '400': + $ref: '#/components/responses/bad_request' '404': $ref: '#/components/responses/not_found' '410': @@ -3358,115 +4490,98 @@ paths: category: issues subcategory: labels x-stackQL-resource: labels - /repositories/{repository_id}/issues/{issue_number}/issue-field-values: - post: - summary: Add issue field values to an issue + /user/issues: + get: + summary: List user account issues assigned to the authenticated user description: >- - Add custom field values to an issue. You can set values for - organization-level issue fields that have been defined for the - repository's organization. - - Adding an empty array will clear all existing field values for the - issue. - + List issues across owned and member repositories assigned to the + authenticated user. - This endpoint supports the following field data types: - - **`text`**: String values for text fields + > [!NOTE] - - **`single_select`**: Option names for single-select fields (must match - an existing option name) + > GitHub's REST API considers every pull request an issue, but not every + issue is a pull request. For this reason, "Issues" endpoints may return + both issues and pull requests in the response. You can identify pull + requests by the `pull_request` key. Be aware that the `id` of a pull + request returned from "Issues" endpoints will be an _issue id_. To find + out the pull request id, use the "[List pull + requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" + endpoint. - - **`number`**: Numeric values for number fields - - **`date`**: ISO 8601 date strings for date fields + This endpoint supports the following custom media types. For more + information, see "[Media + types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - Only users with push access to the repository can add issue field - values. If you don't have the proper permissions, you'll receive a `403 - Forbidden` response. + - **`application/vnd.github.raw+json`**: Returns the raw markdown body. + Response will include `body`. This is the default if you do not pass any + specific media type. + - **`application/vnd.github.text+json`**: Returns a text only + representation of the markdown body. Response will include `body_text`. - This endpoint triggers - [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - Creating content too quickly using this endpoint may result in secondary - rate limiting. For more information, see "[Rate limits for the - API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + - **`application/vnd.github.html+json`**: Returns HTML rendered from the + body's markdown. Response will include `body_html`. - and "[Best practices for using the REST - API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + - **`application/vnd.github.full+json`**: Returns raw, text, and HTML + representations. Response will include `body`, `body_text`, and + `body_html`. tags: - issues - operationId: issues/add-issue-field-values + operationId: issues/list-for-authenticated-user externalDocs: description: API method documentation url: >- - https://docs.github.com/rest/issues/issue-field-values#add-issue-field-values-to-an-issue + https://docs.github.com/rest/issues/issues#list-user-account-issues-assigned-to-the-authenticated-user parameters: - - $ref: '#/components/parameters/repository-id' - - $ref: '#/components/parameters/issue-number' - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - issue_field_values: - type: array - description: >- - An array of issue field values to add to this issue. Each - field value must include the field ID and the value to set. - items: - type: object - properties: - field_id: - type: integer - description: The ID of the issue field to set - example: 123 - value: - oneOf: - - type: string - description: >- - The value to set for text, single_select, or date - fields - - type: number - description: The value to set for number fields - description: >- - The value to set for the field. The type depends on - the field's data type: - - - For text fields: provide a string value - - - For single_select fields: provide the option name as - a string (must match an existing option) - - - For number fields: provide a numeric value - - - For date fields: provide an ISO 8601 date string - example: Critical - required: - - field_id - - value - additionalProperties: false - maxItems: 25 - examples: - default: - summary: Add multiple field values - value: - issue_field_values: - - field_id: 123 - value: Critical - - field_id: 456 - value: 5 - - field_id: 789 - value: '2024-12-31' - single-field: - summary: Add a single field value - value: - issue_field_values: - - field_id: 123 - value: High Priority + - name: filter + description: >- + Indicates which sorts of issues to return. `assigned` means issues + assigned to you. `created` means issues created by you. `mentioned` + means issues mentioning you. `subscribed` means issues you're + subscribed to updates for. `all` or `repos` means all issues you can + see, regardless of participation or creation. + in: query + required: false + schema: + type: string + enum: + - assigned + - created + - mentioned + - subscribed + - repos + - all + default: assigned + - name: state + description: Indicates the state of the issues to return. + in: query + required: false + schema: + type: string + enum: + - open + - closed + - all + default: open + - $ref: '#/components/parameters/labels' + - name: sort + description: What to sort results by. + in: query + required: false + schema: + type: string + enum: + - created + - updated + - comments + default: created + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/since' + - $ref: '#/components/parameters/per-page' + - $ref: '#/components/parameters/page' responses: '200': description: Response @@ -3474,348 +4589,28 @@ paths: application/json: schema: type: array - description: >- - The current issue field values for this issue after adding the - new values items: - $ref: '#/components/schemas/issue-field-value' + $ref: '#/components/schemas/issue' examples: default: - $ref: '#/components/examples/issue-field-value-items' - '400': - $ref: '#/components/responses/bad_request' - '403': - $ref: '#/components/responses/forbidden' + $ref: '#/components/examples/issue-with-repo-items' + headers: + Link: + $ref: '#/components/headers/link' + '304': + $ref: '#/components/responses/not_modified' '404': $ref: '#/components/responses/not_found' - '422': - $ref: '#/components/responses/validation_failed' - '503': - $ref: '#/components/responses/service_unavailable' x-github: - triggersNotification: true githubCloudOnly: false - enabledForGitHubApps: true + enabledForGitHubApps: false category: issues - subcategory: issue-field-values - x-stackQL-resource: issue_field_values - put: - summary: Set issue field values for an issue - description: >- - Set custom field values for an issue, replacing any existing values. You - can set values for organization-level issue fields that have been - defined for the repository's organization. - - - This endpoint supports the following field data types: - - - **`text`**: String values for text fields - - - **`single_select`**: Option names for single-select fields (must match - an existing option name) - - - **`number`**: Numeric values for number fields - - - **`date`**: ISO 8601 date strings for date fields - - - This operation will replace all existing field values with the provided - ones. If you want to add field values without replacing existing ones, - use the `POST` endpoint instead. - - - Only users with push access to the repository can set issue field - values. If you don't have the proper permissions, you'll receive a `403 - Forbidden` response. - - - This endpoint triggers - [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - Creating content too quickly using this endpoint may result in secondary - rate limiting. For more information, see "[Rate limits for the - API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - - and "[Best practices for using the REST - API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - tags: - - issues - operationId: issues/set-issue-field-values - externalDocs: - description: API method documentation - url: >- - https://docs.github.com/rest/issues/issue-field-values#set-issue-field-values-for-an-issue - parameters: - - $ref: '#/components/parameters/repository-id' - - $ref: '#/components/parameters/issue-number' - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - issue_field_values: - type: array - description: >- - An array of issue field values to set for this issue. Each - field value must include the field ID and the value to set. - All existing field values will be replaced. - items: - type: object - properties: - field_id: - type: integer - description: The ID of the issue field to set - example: 123 - value: - oneOf: - - type: string - description: >- - The value to set for text, single_select, or date - fields - - type: number - description: The value to set for number fields - description: >- - The value to set for the field. The type depends on - the field's data type: - - - For text fields: provide a string value - - - For single_select fields: provide the option name as - a string (must match an existing option) - - - For number fields: provide a numeric value - - - For date fields: provide an ISO 8601 date string - example: Critical - required: - - field_id - - value - additionalProperties: false - maxItems: 25 - examples: - default: - summary: Set multiple field values - value: - issue_field_values: - - field_id: 123 - value: Critical - - field_id: 456 - value: 5 - - field_id: 789 - value: '2024-12-31' - single-field: - summary: Set a single field value - value: - issue_field_values: - - field_id: 123 - value: High Priority - responses: - '200': - description: Response - content: - application/json: - schema: - type: array - description: >- - The current issue field values for this issue after setting - the new values - items: - $ref: '#/components/schemas/issue-field-value' - examples: - default: - $ref: '#/components/examples/issue-field-value-items' - '400': - $ref: '#/components/responses/bad_request' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/not_found' - '422': - $ref: '#/components/responses/validation_failed' - '503': - $ref: '#/components/responses/service_unavailable' - x-github: - triggersNotification: true - githubCloudOnly: false - enabledForGitHubApps: true - category: issues - subcategory: issue-field-values - x-stackQL-resource: issue_field_values - /repositories/{repository_id}/issues/{issue_number}/issue-field-values/{issue_field_id}: - delete: - summary: Delete an issue field value from an issue - description: >- - Remove a specific custom field value from an issue. - - - Only users with push access to the repository can delete issue field - values. If you don't have the proper permissions, you'll receive a `403 - Forbidden` response. - - - If the specified field does not have a value set on the issue, this - operation will return a `404` error. - - - This endpoint triggers - [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - Creating content too quickly using this endpoint may result in secondary - rate limiting. For more information, see "[Rate limits for the - API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - - and "[Best practices for using the REST - API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - tags: - - issues - operationId: issues/delete-issue-field-value - externalDocs: - description: API method documentation - url: >- - https://docs.github.com/rest/issues/issue-field-values#delete-an-issue-field-value-from-an-issue - parameters: - - $ref: '#/components/parameters/repository-id' - - $ref: '#/components/parameters/issue-number' - - $ref: '#/components/parameters/issue-field-id' - responses: - '204': - description: Issue field value deleted successfully - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/not_found' - '422': - $ref: '#/components/responses/validation_failed' - '503': - $ref: '#/components/responses/service_unavailable' - x-github: - triggersNotification: true - githubCloudOnly: false - enabledForGitHubApps: true - category: issues - subcategory: issue-field-values - x-stackQL-resource: issue_field_values - /user/issues: - get: - summary: List user account issues assigned to the authenticated user - description: >- - List issues across owned and member repositories assigned to the - authenticated user. - - - > [!NOTE] - - > GitHub's REST API considers every pull request an issue, but not every - issue is a pull request. For this reason, "Issues" endpoints may return - both issues and pull requests in the response. You can identify pull - requests by the `pull_request` key. Be aware that the `id` of a pull - request returned from "Issues" endpoints will be an _issue id_. To find - out the pull request id, use the "[List pull - requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" - endpoint. - - - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github.raw+json`**: Returns the raw markdown body. - Response will include `body`. This is the default if you do not pass any - specific media type. - - - **`application/vnd.github.text+json`**: Returns a text only - representation of the markdown body. Response will include `body_text`. - - - **`application/vnd.github.html+json`**: Returns HTML rendered from the - body's markdown. Response will include `body_html`. - - - **`application/vnd.github.full+json`**: Returns raw, text, and HTML - representations. Response will include `body`, `body_text`, and - `body_html`. - tags: - - issues - operationId: issues/list-for-authenticated-user - externalDocs: - description: API method documentation - url: >- - https://docs.github.com/rest/issues/issues#list-user-account-issues-assigned-to-the-authenticated-user - parameters: - - name: filter - description: >- - Indicates which sorts of issues to return. `assigned` means issues - assigned to you. `created` means issues created by you. `mentioned` - means issues mentioning you. `subscribed` means issues you're - subscribed to updates for. `all` or `repos` means all issues you can - see, regardless of participation or creation. - in: query - required: false - schema: - type: string - enum: - - assigned - - created - - mentioned - - subscribed - - repos - - all - default: assigned - - name: state - description: Indicates the state of the issues to return. - in: query - required: false - schema: - type: string - enum: - - open - - closed - - all - default: open - - $ref: '#/components/parameters/labels' - - name: sort - description: What to sort results by. - in: query - required: false - schema: - type: string - enum: - - created - - updated - - comments - default: created - - $ref: '#/components/parameters/direction' - - $ref: '#/components/parameters/since' - - $ref: '#/components/parameters/per-page' - - $ref: '#/components/parameters/page' - responses: - '200': - description: Response - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/issue' - examples: - default: - $ref: '#/components/examples/issue-with-repo-items' - headers: - Link: - $ref: '#/components/headers/link' - '304': - $ref: '#/components/responses/not_modified' - '404': - $ref: '#/components/responses/not_found' - x-github: - githubCloudOnly: false - enabledForGitHubApps: false - category: issues - subcategory: issues - x-stackQL-resource: issues -components: - schemas: - issue: - title: Issue + subcategory: issues + x-stackQL-resource: issues +components: + schemas: + issue: + title: Issue description: >- Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. @@ -4226,6 +5021,8 @@ components: $ref: '#/components/schemas/reaction-rollup' pin: $ref: '#/components/schemas/nullable-pinned-issue-comment' + minimized: + $ref: '#/components/schemas/nullable-issue-comment-minimized' required: - id - node_id @@ -4291,6 +5088,20 @@ components: $ref: '#/components/schemas/issue-event-project-card' rename: $ref: '#/components/schemas/issue-event-rename' + issue_type: + $ref: '#/components/schemas/issue-type-webhook' + prev_issue_type: + $ref: '#/components/schemas/issue-type-webhook' + sub_issue: + $ref: '#/components/schemas/nullable-issue-reference' + parent_issue: + $ref: '#/components/schemas/nullable-issue-reference' + blocked_by: + $ref: '#/components/schemas/nullable-issue-reference' + blocking: + $ref: '#/components/schemas/nullable-issue-reference' + intent: + $ref: '#/components/schemas/nullable-issue-event-intent' author_association: $ref: '#/components/schemas/author-association' lock_reason: @@ -4342,6 +5153,8 @@ components: required: - name - color + intent: + $ref: '#/components/schemas/nullable-issue-event-intent' assignee: $ref: '#/components/schemas/simple-user' assigner: @@ -4412,6 +5225,18 @@ components: - project_id - project_url - column_name + issue_type: + $ref: '#/components/schemas/issue-type-webhook' + prev_issue_type: + $ref: '#/components/schemas/issue-type-webhook' + sub_issue: + $ref: '#/components/schemas/nullable-issue-reference' + parent_issue: + $ref: '#/components/schemas/nullable-issue-reference' + blocked_by: + $ref: '#/components/schemas/nullable-issue-reference' + blocking: + $ref: '#/components/schemas/nullable-issue-reference' required: - label - id @@ -4430,6 +5255,12 @@ components: - review_requester - dismissed_review - lock_reason + - issue_type + - prev_issue_type + - sub_issue + - parent_issue + - blocked_by + - blocking issue-field-value: title: Issue Field Value description: A value assigned to an issue field @@ -4440,6 +5271,10 @@ components: type: integer format: int64 example: 1 + issue_field_name: + description: The human-readable name of the issue field. + type: string + example: Priority node_id: type: string example: IFT_GDKND @@ -4449,6 +5284,7 @@ components: enum: - text - single_select + - multi_select - number - date example: text @@ -4481,6 +5317,30 @@ components: - name - color nullable: true + multi_select_options: + description: Details about the selected options + type: array + items: + type: object + properties: + id: + description: Unique identifier for the option. + type: integer + format: int64 + example: 1 + name: + description: The name of the option + type: string + example: High + color: + description: The color of the option + type: string + example: red + required: + - id + - name + - color + nullable: true required: - issue_field_id - node_id @@ -4489,2138 +5349,2878 @@ components: label: title: Label description: >- - Color-coded labels help you categorize and filter your issues (just like - labels in Gmail). + Color-coded labels help you categorize and filter your issues (just like + labels in Gmail). + type: object + properties: + id: + description: Unique identifier for the label. + type: integer + format: int64 + example: 208045946 + node_id: + type: string + example: MDU6TGFiZWwyMDgwNDU5NDY= + url: + description: URL for the label + example: https://api.github.com/repositories/42/labels/bug + type: string + format: uri + name: + description: The name of the label. + example: bug + type: string + description: + description: Optional description of the label, such as its purpose. + type: string + example: Something isn't working + nullable: true + color: + description: '6-character hex code, without the leading #, identifying the color' + example: FFFFFF + type: string + default: + description: Whether this label comes by default in a new repository. + type: boolean + example: true + required: + - id + - node_id + - url + - name + - description + - color + - default + issue-suggestion: + title: Issue Suggestion + description: >- + An agent-proposed change to an issue that a maintainer can approve or + dismiss. + type: object + properties: + id: + type: integer + description: The unique identifier of the suggestion. + issue_id: + type: integer + description: The unique identifier of the issue the suggestion applies to. + action: + type: string + description: The kind of change proposed. + enum: + - set_type + - add_label + - add_field + - add_assignee + - close_issue + state: + type: string + description: The suggestion's lifecycle state. + enum: + - pending + - applied + - approved + - dismissed + - replaced + - invalidated + target_id: + type: integer + description: >- + The identifier of the target the change applies to (issue type, + label, field, assignee, or duplicate issue), when applicable. + nullable: true + target_value: + description: >- + The proposed value, when applicable. An array for multi-select field + suggestions. + nullable: true + type: string + items: + type: string + rationale: + type: string + description: The rationale the actor provided for the suggestion. + nullable: true + confidence: + type: string + description: The actor's confidence level in the suggestion. + enum: + - LOW + - MEDIUM + - HIGH + nullable: true + actor_id: + type: integer + description: The unique identifier of the actor that proposed the suggestion. + nullable: true + issue_event_id: + type: integer + description: >- + The identifier of the timeline event created when the suggestion was + approved, when applicable. + nullable: true + resolved_by: + type: integer + description: >- + The unique identifier of the user who approved or dismissed the + suggestion. + nullable: true + created_at: + type: string + description: The time the suggestion was created. + format: date-time + updated_at: + type: string + description: The time the suggestion was last updated. + format: date-time + required: + - id + - issue_id + - action + - state + - target_id + - target_value + - rationale + - confidence + - actor_id + - issue_event_id + - resolved_by + - created_at + - updated_at + timeline-issue-events: + title: Timeline Event + description: Timeline Event + type: object + properties: + id: + type: integer + node_id: + type: string + url: + type: string + actor: + $ref: '#/components/schemas/simple-user' + event: + type: string + commit_id: + type: string + nullable: true + commit_url: + type: string + nullable: true + created_at: + type: string + performed_via_github_app: + $ref: '#/components/schemas/nullable-integration' + label: + type: object + properties: + name: + type: string + color: + type: string + required: + - name + - color + intent: + $ref: '#/components/schemas/nullable-issue-event-intent' + milestone: + type: object + properties: + title: + type: string + required: + - title + rename: + type: object + properties: + from: + type: string + to: + type: string + required: + - from + - to + review_requester: + $ref: '#/components/schemas/simple-user' + requested_team: + $ref: '#/components/schemas/team' + requested_reviewer: + $ref: '#/components/schemas/simple-user' + dismissed_review: + type: object + properties: + state: + type: string + review_id: + type: integer + dismissal_message: + nullable: true + type: string + dismissal_commit_id: + type: string + required: + - state + - review_id + - dismissal_message + lock_reason: + type: string + example: '"off-topic"' + nullable: true + project_card: + type: object + properties: + id: + type: integer + url: + type: string + format: uri + project_id: + type: integer + project_url: + type: string + format: uri + column_name: + type: string + previous_column_name: + type: string + required: + - id + - url + - project_id + - project_url + - column_name + body: + description: Contents of the issue comment + example: What version of Safari were you using when you observed this bug? + type: string + body_text: + type: string + body_html: + type: string + html_url: + type: string + format: uri + user: + $ref: '#/components/schemas/simple-user' + updated_at: + type: string + format: date-time + example: '2011-04-14T16:00:49Z' + issue_url: + type: string + format: uri + author_association: + $ref: '#/components/schemas/author-association' + reactions: + $ref: '#/components/schemas/reaction-rollup' + pin: + $ref: '#/components/schemas/nullable-pinned-issue-comment' + minimized: + $ref: '#/components/schemas/nullable-issue-comment-minimized' + source: + type: object + properties: + type: + type: string + issue: + $ref: '#/components/schemas/issue' + sha: + description: SHA for the commit + example: 7638417db6d59f3c431d3e1f261cc637155684cd + type: string + author: + description: Identifying information for the git-user + type: object + properties: + date: + description: Timestamp of the commit + example: '2014-08-09T08:02:04+12:00' + format: date-time + type: string + email: + type: string + description: Git email address of the user + example: monalisa.octocat@example.com + name: + description: Name of the git user + example: Monalisa Octocat + type: string + required: + - email + - name + - date + committer: + description: Identifying information for the git-user + type: object + properties: + date: + description: Timestamp of the commit + example: '2014-08-09T08:02:04+12:00' + format: date-time + type: string + email: + type: string + description: Git email address of the user + example: monalisa.octocat@example.com + name: + description: Name of the git user + example: Monalisa Octocat + type: string + required: + - email + - name + - date + message: + description: Message describing the purpose of the commit + example: 'Fix #42' + type: string + tree: + type: object + properties: + sha: + description: SHA for the commit + example: 7638417db6d59f3c431d3e1f261cc637155684cd + type: string + url: + type: string + format: uri + required: + - sha + - url + parents: + type: array + items: + type: object + properties: + sha: + description: SHA for the commit + example: 7638417db6d59f3c431d3e1f261cc637155684cd + type: string + url: + type: string + format: uri + html_url: + type: string + format: uri + required: + - sha + - url + - html_url + verification: + type: object + properties: + verified: + type: boolean + reason: + type: string + signature: + type: string + nullable: true + payload: + type: string + nullable: true + verified_at: + type: string + nullable: true + required: + - verified + - reason + - signature + - payload + - verified_at + state: + type: string + example: CHANGES_REQUESTED + pull_request_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/pulls/12 + _links: + type: object + properties: + html: + type: object + properties: + href: + type: string + required: + - href + pull_request: + type: object + properties: + href: + type: string + required: + - href + required: + - html + - pull_request + submitted_at: + type: string + format: date-time + comments: + type: array + items: + $ref: '#/components/schemas/pull-request-review-comment' + assignee: + $ref: '#/components/schemas/simple-user' + state_reason: + type: string + nullable: true + issue_type: + $ref: '#/components/schemas/issue-type-webhook' + prev_issue_type: + $ref: '#/components/schemas/issue-type-webhook' + sub_issue: + $ref: '#/components/schemas/nullable-issue-reference' + parent_issue: + $ref: '#/components/schemas/nullable-issue-reference' + blocked_by: + $ref: '#/components/schemas/nullable-issue-reference' + blocking: + $ref: '#/components/schemas/nullable-issue-reference' + required: + - label + - id + - node_id + - url + - actor + - event + - commit_id + - commit_url + - created_at + - performed_via_github_app + - milestone + - rename + - review_requester + - dismissed_review + - lock_reason + - html_url + - issue_url + - author_association + - user + - updated_at + - source + - sha + - author + - committer + - tree + - message + - parents + - verification + - body + - state + - pull_request_url + - _links + - assignee + - issue_type + - prev_issue_type + - sub_issue + - parent_issue + - blocked_by + - blocking + milestone: + title: Milestone + description: A collection of related issues and pull requests. + type: object + properties: + url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/milestones/1 + html_url: + type: string + format: uri + example: https://github.com/octocat/Hello-World/milestones/v1.0 + labels_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + id: + type: integer + example: 1002604 + node_id: + type: string + example: MDk6TWlsZXN0b25lMTAwMjYwNA== + number: + description: The number of the milestone. + type: integer + example: 42 + state: + description: The state of the milestone. + example: open + type: string + enum: + - open + - closed + default: open + title: + description: The title of the milestone. + example: v1.0 + type: string + description: + type: string + example: Tracking milestone for version 1.0 + nullable: true + creator: + $ref: '#/components/schemas/nullable-simple-user' + open_issues: + type: integer + example: 4 + closed_issues: + type: integer + example: 8 + created_at: + type: string + format: date-time + example: '2011-04-10T20:09:31Z' + updated_at: + type: string + format: date-time + example: '2014-03-03T18:58:10Z' + closed_at: + type: string + format: date-time + example: '2013-02-12T13:22:01Z' + nullable: true + due_on: + type: string + format: date-time + example: '2012-10-09T23:39:01Z' + nullable: true + required: + - closed_issues + - creator + - description + - due_on + - closed_at + - id + - node_id + - labels_url + - html_url + - number + - open_issues + - state + - title + - url + - created_at + - updated_at + nullable-simple-user: + title: Simple User + description: A GitHub user. + type: object + properties: + name: + nullable: true + type: string + email: + nullable: true + type: string + login: + type: string + example: octocat + id: + type: integer + format: int64 + example: 1 + node_id: + type: string + example: MDQ6VXNlcjE= + avatar_url: + type: string + format: uri + example: https://github.com/images/error/octocat_happy.gif + gravatar_id: + type: string + example: 41d064eb2195891e12d0413f63227ea7 + nullable: true + url: + type: string + format: uri + example: https://api.github.com/users/octocat + html_url: + type: string + format: uri + example: https://github.com/octocat + followers_url: + type: string + format: uri + example: https://api.github.com/users/octocat/followers + following_url: + type: string + example: https://api.github.com/users/octocat/following{/other_user} + gists_url: + type: string + example: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: + type: string + example: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: + type: string + format: uri + example: https://api.github.com/users/octocat/subscriptions + organizations_url: + type: string + format: uri + example: https://api.github.com/users/octocat/orgs + repos_url: + type: string + format: uri + example: https://api.github.com/users/octocat/repos + events_url: + type: string + example: https://api.github.com/users/octocat/events{/privacy} + received_events_url: + type: string + format: uri + example: https://api.github.com/users/octocat/received_events + type: + type: string + example: User + site_admin: + type: boolean + starred_at: + type: string + example: '"2020-07-09T00:17:55Z"' + user_view_type: + type: string + example: public + required: + - avatar_url + - events_url + - followers_url + - following_url + - gists_url + - gravatar_id + - html_url + - id + - node_id + - login + - organizations_url + - received_events_url + - repos_url + - site_admin + - starred_url + - subscriptions_url + - type + - url + nullable: true + nullable-milestone: + title: Milestone + description: A collection of related issues and pull requests. + type: object + properties: + url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/milestones/1 + html_url: + type: string + format: uri + example: https://github.com/octocat/Hello-World/milestones/v1.0 + labels_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + id: + type: integer + example: 1002604 + node_id: + type: string + example: MDk6TWlsZXN0b25lMTAwMjYwNA== + number: + description: The number of the milestone. + type: integer + example: 42 + state: + description: The state of the milestone. + example: open + type: string + enum: + - open + - closed + default: open + title: + description: The title of the milestone. + example: v1.0 + type: string + description: + type: string + example: Tracking milestone for version 1.0 + nullable: true + creator: + $ref: '#/components/schemas/nullable-simple-user' + open_issues: + type: integer + example: 4 + closed_issues: + type: integer + example: 8 + created_at: + type: string + format: date-time + example: '2011-04-10T20:09:31Z' + updated_at: + type: string + format: date-time + example: '2014-03-03T18:58:10Z' + closed_at: + type: string + format: date-time + example: '2013-02-12T13:22:01Z' + nullable: true + due_on: + type: string + format: date-time + example: '2012-10-09T23:39:01Z' + nullable: true + required: + - closed_issues + - creator + - description + - due_on + - closed_at + - id + - node_id + - labels_url + - html_url + - number + - open_issues + - state + - title + - url + - created_at + - updated_at + nullable: true + issue-type: + title: Issue Type + description: >- + The type assigned to the issue. This is only present for issues in + repositories where issue types are supported. + type: object + nullable: true + properties: + id: + type: integer + description: The unique identifier of the issue type. + node_id: + type: string + description: The node identifier of the issue type. + name: + type: string + description: The name of the issue type. + description: + type: string + description: The description of the issue type. + nullable: true + color: + type: string + description: The color of the issue type. + enum: + - gray + - blue + - green + - yellow + - orange + - red + - pink + - purple + nullable: true + created_at: + type: string + description: The time the issue type created. + format: date-time + updated_at: + type: string + description: The time the issue type last updated. + format: date-time + is_enabled: + type: boolean + description: The enabled state of the issue type. + required: + - id + - node_id + - name + - description + repository: + title: Repository + description: A repository on GitHub. + type: object + properties: + id: + description: Unique identifier of the repository + example: 42 + type: integer + format: int64 + node_id: + type: string + example: MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + name: + description: The name of the repository. + type: string + example: Team Environment + full_name: + type: string + example: octocat/Hello-World + license: + $ref: '#/components/schemas/nullable-license-simple' + forks: + type: integer + permissions: + type: object + properties: + admin: + type: boolean + pull: + type: boolean + triage: + type: boolean + push: + type: boolean + maintain: + type: boolean + required: + - admin + - pull + - push + owner: + $ref: '#/components/schemas/simple-user' + private: + description: Whether the repository is private or public. + default: false + type: boolean + html_url: + type: string + format: uri + example: https://github.com/octocat/Hello-World + description: + type: string + example: This your first repo! + nullable: true + fork: + type: boolean + url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World + archive_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + assignees_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/assignees{/user} + blobs_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} + branches_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/branches{/branch} + collaborators_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + comments_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/comments{/number} + commits_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/commits{/sha} + compare_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + contents_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/contents/{+path} + contributors_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/contributors + deployments_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/deployments + downloads_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/downloads + events_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/events + forks_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/forks + git_commits_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + git_refs_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} + git_tags_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} + git_url: + type: string + example: git:github.com/octocat/Hello-World.git + issue_comment_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issues_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/issues{/number} + keys_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/keys{/key_id} + labels_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/labels{/name} + languages_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/languages + merges_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/merges + milestones_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: + type: string + example: >- + http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + pulls_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/pulls{/number} + releases_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/releases{/id} + ssh_url: + type: string + example: git@github.com:octocat/Hello-World.git + stargazers_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/stargazers + statuses_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/statuses/{sha} + subscribers_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/subscribers + subscription_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/subscription + tags_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/tags + teams_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/teams + trees_url: + type: string + example: http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} + clone_url: + type: string + example: https://github.com/octocat/Hello-World.git + mirror_url: + type: string + format: uri + example: git:git.example.com/octocat/Hello-World + nullable: true + hooks_url: + type: string + format: uri + example: http://api.github.com/repos/octocat/Hello-World/hooks + svn_url: + type: string + format: uri + example: https://svn.github.com/octocat/Hello-World + homepage: + type: string + format: uri + example: https://github.com + nullable: true + language: + type: string + nullable: true + forks_count: + type: integer + example: 9 + stargazers_count: + type: integer + example: 80 + watchers_count: + type: integer + example: 80 + size: + description: >- + The size of the repository, in kilobytes. Size is calculated hourly. + When a repository is initially created, the size is 0. + type: integer + example: 108 + default_branch: + description: The default branch of the repository. + type: string + example: master + open_issues_count: + type: integer + example: 0 + is_template: + description: >- + Whether this repository acts as a template that can be used to + generate new repositories. + default: false + type: boolean + example: true + topics: + type: array + items: + type: string + has_issues: + description: Whether issues are enabled. + default: true + type: boolean + example: true + has_projects: + description: Whether projects are enabled. + default: true + type: boolean + example: true + has_wiki: + description: Whether the wiki is enabled. + default: true + type: boolean + example: true + has_pages: + type: boolean + has_downloads: + description: Whether downloads are enabled. + default: true + type: boolean + example: true + deprecated: true + has_discussions: + description: Whether discussions are enabled. + default: false + type: boolean + example: true + has_pull_requests: + description: Whether pull requests are enabled. + default: true + type: boolean + example: true + pull_request_creation_policy: + description: >- + The policy controlling who can create pull requests: all or + collaborators_only. + type: string + enum: + - all + - collaborators_only + example: all + archived: + description: Whether the repository is archived. + default: false + type: boolean + disabled: + type: boolean + description: Returns whether or not this repository disabled. + visibility: + description: 'The repository visibility: public, private, or internal.' + default: public + type: string + pushed_at: + type: string + format: date-time + example: '2011-01-26T19:06:43Z' + nullable: true + created_at: + type: string + format: date-time + example: '2011-01-26T19:01:12Z' + nullable: true + updated_at: + type: string + format: date-time + example: '2011-01-26T19:14:43Z' + nullable: true + allow_rebase_merge: + description: Whether to allow rebase merges for pull requests. + default: true + type: boolean + example: true + temp_clone_token: + type: string + allow_squash_merge: + description: Whether to allow squash merges for pull requests. + default: true + type: boolean + example: true + allow_auto_merge: + description: Whether to allow Auto-merge to be used on pull requests. + default: false + type: boolean + example: false + delete_branch_on_merge: + description: Whether to delete head branches when pull requests are merged + default: false + type: boolean + example: false + allow_update_branch: + description: >- + Whether or not a pull request head branch that is behind its base + branch can always be updated even if it is not required to be up to + date before merging. + default: false + type: boolean + example: false + use_squash_pr_title_as_default: + type: boolean + description: >- + Whether a squash merge commit can use the pull request title as + default. **This property is closing down. Please use + `squash_merge_commit_title` instead. + default: false + deprecated: true + squash_merge_commit_title: + type: string + enum: + - PR_TITLE + - COMMIT_OR_PR_TITLE + description: >- + The default value for a squash merge commit title: + + + - `PR_TITLE` - default to the pull request's title. + + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one + commit) or the pull request's title (when more than one commit). + squash_merge_commit_message: + type: string + enum: + - PR_BODY + - COMMIT_MESSAGES + - BLANK + description: |- + The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + merge_commit_title: + type: string + enum: + - PR_TITLE + - MERGE_MESSAGE + description: >- + The default value for a merge commit title. + + + - `PR_TITLE` - default to the pull request's title. + + - `MERGE_MESSAGE` - default to the classic title for a merge message + (e.g., Merge pull request #123 from branch-name). + merge_commit_message: + type: string + enum: + - PR_BODY + - PR_TITLE + - BLANK + description: |- + The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + allow_merge_commit: + description: Whether to allow merge commits for pull requests. + default: true + type: boolean + example: true + allow_forking: + description: Whether to allow forking this repo + type: boolean + web_commit_signoff_required: + description: Whether to require contributors to sign off on web-based commits + default: false + type: boolean + open_issues: + type: integer + watchers: + type: integer + master_branch: + type: string + starred_at: + type: string + example: '"2020-07-09T00:17:42Z"' + anonymous_access_enabled: + type: boolean + description: Whether anonymous git access is enabled for this repository + code_search_index_status: + type: object + description: The status of the code search index for this repository + properties: + lexical_search_ok: + type: boolean + lexical_commit_sha: + type: string + required: + - archive_url + - assignees_url + - blobs_url + - branches_url + - collaborators_url + - comments_url + - commits_url + - compare_url + - contents_url + - contributors_url + - deployments_url + - description + - downloads_url + - events_url + - fork + - forks_url + - full_name + - git_commits_url + - git_refs_url + - git_tags_url + - hooks_url + - html_url + - id + - node_id + - issue_comment_url + - issue_events_url + - issues_url + - keys_url + - labels_url + - languages_url + - merges_url + - milestones_url + - name + - notifications_url + - owner + - private + - pulls_url + - releases_url + - stargazers_url + - statuses_url + - subscribers_url + - subscription_url + - tags_url + - teams_url + - trees_url + - url + - clone_url + - default_branch + - forks + - forks_count + - git_url + - has_downloads + - has_issues + - has_projects + - has_wiki + - has_pages + - homepage + - language + - archived + - disabled + - mirror_url + - open_issues + - open_issues_count + - license + - pushed_at + - size + - ssh_url + - stargazers_count + - svn_url + - watchers + - watchers_count + - created_at + - updated_at + x-github-breaking-changes: + - changeset: remove_use_squash_pr_title_as_default + patch: + properties: + use_squash_pr_title_as_default: null + type: object + version: '2026-03-10' + - changeset: deprecate_beta_media_type + patch: + properties: + master_branch: null + type: object + version: '2026-03-10' + - changeset: remove_has_downloads + patch: + properties: + has_downloads: null + required: + - archive_url + - assignees_url + - blobs_url + - branches_url + - collaborators_url + - comments_url + - commits_url + - compare_url + - contents_url + - contributors_url + - deployments_url + - description + - downloads_url + - events_url + - fork + - forks_url + - full_name + - git_commits_url + - git_refs_url + - git_tags_url + - hooks_url + - html_url + - id + - node_id + - issue_comment_url + - issue_events_url + - issues_url + - keys_url + - labels_url + - languages_url + - merges_url + - milestones_url + - name + - notifications_url + - owner + - private + - pulls_url + - releases_url + - stargazers_url + - statuses_url + - subscribers_url + - subscription_url + - tags_url + - teams_url + - trees_url + - url + - clone_url + - default_branch + - forks + - forks_count + - git_url + - has_issues + - has_projects + - has_wiki + - has_pages + - homepage + - language + - archived + - disabled + - mirror_url + - open_issues + - open_issues_count + - license + - pushed_at + - size + - ssh_url + - stargazers_count + - svn_url + - watchers + - watchers_count + - created_at + - updated_at + type: object + version: '2026-03-10' + nullable-integration: + title: GitHub app + description: >- + GitHub apps are a new way to extend GitHub. They can be installed + directly on organizations and user accounts and granted access to + specific repositories. They come with granular permissions and built-in + webhooks. GitHub apps are first class actors within GitHub. type: object + nullable: true properties: id: - description: Unique identifier for the label. + description: Unique identifier of the GitHub app + example: 37 type: integer - format: int64 - example: 208045946 - node_id: - type: string - example: MDU6TGFiZWwyMDgwNDU5NDY= - url: - description: URL for the label - example: https://api.github.com/repositories/42/labels/bug - type: string - format: uri - name: - description: The name of the label. - example: bug - type: string - description: - description: Optional description of the label, such as its purpose. - type: string - example: Something isn't working - nullable: true - color: - description: '6-character hex code, without the leading #, identifying the color' - example: FFFFFF + slug: + description: The slug name of the GitHub app + example: probot-owners type: string - default: - description: Whether this label comes by default in a new repository. - type: boolean - example: true - required: - - id - - node_id - - url - - name - - description - - color - - default - timeline-issue-events: - title: Timeline Event - description: Timeline Event - type: object - properties: - id: - type: integer node_id: type: string - url: - type: string - actor: - $ref: '#/components/schemas/simple-user' - event: - type: string - commit_id: - type: string - nullable: true - commit_url: - type: string - nullable: true - created_at: + example: MDExOkludGVncmF0aW9uMQ== + client_id: type: string - performed_via_github_app: - $ref: '#/components/schemas/nullable-integration' - label: + example: '"Iv1.25b5d1e65ffc4022"' + owner: + title: Simple User + description: A GitHub user. type: object properties: name: + nullable: true type: string - color: - type: string - required: - - name - - color - milestone: - type: object - properties: - title: - type: string - required: - - title - rename: - type: object - properties: - from: - type: string - to: - type: string - required: - - from - - to - review_requester: - $ref: '#/components/schemas/simple-user' - requested_team: - $ref: '#/components/schemas/team' - requested_reviewer: - $ref: '#/components/schemas/simple-user' - dismissed_review: - type: object - properties: - state: - type: string - review_id: - type: integer - dismissal_message: + email: nullable: true type: string - dismissal_commit_id: + login: type: string - required: - - state - - review_id - - dismissal_message - lock_reason: - type: string - example: '"off-topic"' - nullable: true - project_card: - type: object - properties: + example: octocat id: type: integer - url: + format: int64 + example: 1 + node_id: type: string - format: uri - project_id: - type: integer - project_url: + example: MDQ6VXNlcjE= + avatar_url: type: string format: uri - column_name: - type: string - previous_column_name: - type: string - required: - - id - - url - - project_id - - project_url - - column_name - body: - description: Contents of the issue comment - example: What version of Safari were you using when you observed this bug? - type: string - body_text: - type: string - body_html: - type: string - html_url: - type: string - format: uri - user: - $ref: '#/components/schemas/simple-user' - updated_at: - type: string - format: date-time - example: '2011-04-14T16:00:49Z' - issue_url: - type: string - format: uri - author_association: - $ref: '#/components/schemas/author-association' - reactions: - $ref: '#/components/schemas/reaction-rollup' - pin: - $ref: '#/components/schemas/nullable-pinned-issue-comment' - source: - type: object - properties: - type: + example: https://github.com/images/error/octocat_happy.gif + gravatar_id: type: string - issue: - $ref: '#/components/schemas/issue' - sha: - description: SHA for the commit - example: 7638417db6d59f3c431d3e1f261cc637155684cd - type: string - author: - description: Identifying information for the git-user - type: object - properties: - date: - description: Timestamp of the commit - example: '2014-08-09T08:02:04+12:00' - format: date-time + example: 41d064eb2195891e12d0413f63227ea7 + nullable: true + url: type: string - email: + format: uri + example: https://api.github.com/users/octocat + html_url: type: string - description: Git email address of the user - example: monalisa.octocat@example.com - name: - description: Name of the git user - example: Monalisa Octocat + format: uri + example: https://github.com/octocat + followers_url: type: string - required: - - email - - name - - date - committer: - description: Identifying information for the git-user - type: object - properties: - date: - description: Timestamp of the commit - example: '2014-08-09T08:02:04+12:00' - format: date-time + format: uri + example: https://api.github.com/users/octocat/followers + following_url: type: string - email: + example: https://api.github.com/users/octocat/following{/other_user} + gists_url: type: string - description: Git email address of the user - example: monalisa.octocat@example.com - name: - description: Name of the git user - example: Monalisa Octocat + example: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: type: string - required: - - email - - name - - date - message: - description: Message describing the purpose of the commit - example: 'Fix #42' - type: string - tree: - type: object - properties: - sha: - description: SHA for the commit - example: 7638417db6d59f3c431d3e1f261cc637155684cd + example: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: type: string - url: + format: uri + example: https://api.github.com/users/octocat/subscriptions + organizations_url: type: string format: uri - required: - - sha - - url - parents: - type: array - items: - type: object - properties: - sha: - description: SHA for the commit - example: 7638417db6d59f3c431d3e1f261cc637155684cd - type: string - url: - type: string - format: uri - html_url: - type: string - format: uri - required: - - sha - - url - - html_url - verification: - type: object - properties: - verified: + example: https://api.github.com/users/octocat/orgs + repos_url: + type: string + format: uri + example: https://api.github.com/users/octocat/repos + events_url: + type: string + example: https://api.github.com/users/octocat/events{/privacy} + received_events_url: + type: string + format: uri + example: https://api.github.com/users/octocat/received_events + type: + type: string + example: User + site_admin: type: boolean - reason: + starred_at: type: string - signature: + example: '"2020-07-09T00:17:55Z"' + user_view_type: + type: string + example: public + description: + description: A short description of the enterprise. type: string nullable: true - payload: + website_url: + description: The enterprise's website URL. type: string nullable: true - verified_at: + format: uri + slug: + description: The slug url identifier for the enterprise. + type: string + example: octo-business + created_at: type: string nullable: true + format: date-time + example: '2019-01-26T19:01:12Z' + updated_at: + type: string + nullable: true + format: date-time + example: '2019-01-26T19:14:43Z' required: - - verified - - reason - - signature - - payload - - verified_at - state: - type: string - example: CHANGES_REQUESTED - pull_request_url: - type: string - format: uri - example: https://api.github.com/repos/octocat/Hello-World/pulls/12 - _links: - type: object - properties: - html: - type: object - properties: - href: - type: string - required: - - href - pull_request: - type: object - properties: - href: - type: string - required: - - href - required: - - html - - pull_request - submitted_at: - type: string - format: date-time - comments: - type: array - items: - $ref: '#/components/schemas/pull-request-review-comment' - assignee: - $ref: '#/components/schemas/simple-user' - state_reason: - type: string - nullable: true - required: - - label - - id - - node_id - - url - - actor - - event - - commit_id - - commit_url - - created_at - - performed_via_github_app - - milestone - - rename - - review_requester - - dismissed_review - - lock_reason - - html_url - - issue_url - - author_association - - user - - updated_at - - source - - sha - - author - - committer - - tree - - message - - parents - - verification - - body - - state - - pull_request_url - - _links - - assignee - milestone: - title: Milestone - description: A collection of related issues and pull requests. - type: object - properties: - url: - type: string - format: uri - example: https://api.github.com/repos/octocat/Hello-World/milestones/1 - html_url: - type: string - format: uri - example: https://github.com/octocat/Hello-World/milestones/v1.0 - labels_url: - type: string - format: uri - example: https://api.github.com/repos/octocat/Hello-World/milestones/1/labels - id: - type: integer - example: 1002604 - node_id: - type: string - example: MDk6TWlsZXN0b25lMTAwMjYwNA== - number: - description: The number of the milestone. - type: integer - example: 42 - state: - description: The state of the milestone. - example: open - type: string - enum: - - open - - closed - default: open - title: - description: The title of the milestone. - example: v1.0 + - avatar_url + - events_url + - followers_url + - following_url + - gists_url + - gravatar_id + - html_url + - id + - node_id + - login + - organizations_url + - received_events_url + - repos_url + - site_admin + - starred_url + - subscriptions_url + - type + - url + - name + - slug + - created_at + - updated_at + name: + description: The name of the GitHub app + example: Probot Owners type: string description: type: string - example: Tracking milestone for version 1.0 + example: The description of the app. nullable: true - creator: - $ref: '#/components/schemas/nullable-simple-user' - open_issues: - type: integer - example: 4 - closed_issues: - type: integer - example: 8 - created_at: + external_url: type: string - format: date-time - example: '2011-04-10T20:09:31Z' - updated_at: + format: uri + example: https://example.com + html_url: type: string - format: date-time - example: '2014-03-03T18:58:10Z' - closed_at: + format: uri + example: https://github.com/apps/super-ci + created_at: type: string format: date-time - example: '2013-02-12T13:22:01Z' - nullable: true - due_on: + example: '2017-07-08T16:18:44-04:00' + updated_at: type: string format: date-time - example: '2012-10-09T23:39:01Z' - nullable: true + example: '2017-07-08T16:18:44-04:00' + permissions: + description: The set of permissions for the GitHub app + type: object + properties: + issues: + type: string + checks: + type: string + metadata: + type: string + contents: + type: string + deployments: + type: string + additionalProperties: + type: string + example: + issues: read + deployments: write + events: + description: >- + The list of events for the GitHub app. Note that the + `installation_target`, `security_advisory`, and `meta` events are + not included because they are global events and not specific to an + installation. + example: + - label + - deployment + type: array + items: + type: string + installations_count: + description: >- + The number of installations associated with the GitHub app. Only + returned when the integration is requesting details about itself. + example: 5 + type: integer required: - - closed_issues - - creator - - description - - due_on - - closed_at - id - node_id - - labels_url + - owner + - name + - description + - external_url - html_url - - number - - open_issues - - state - - title - - url - created_at - updated_at - nullable-simple-user: - title: Simple User - description: A GitHub user. - type: object - properties: - name: - nullable: true - type: string - email: - nullable: true - type: string - login: - type: string - example: octocat - id: - type: integer - format: int64 - example: 1 - node_id: - type: string - example: MDQ6VXNlcjE= - avatar_url: - type: string - format: uri - example: https://github.com/images/error/octocat_happy.gif - gravatar_id: - type: string - example: 41d064eb2195891e12d0413f63227ea7 - nullable: true - url: - type: string - format: uri - example: https://api.github.com/users/octocat - html_url: - type: string - format: uri - example: https://github.com/octocat - followers_url: - type: string - format: uri - example: https://api.github.com/users/octocat/followers - following_url: - type: string - example: https://api.github.com/users/octocat/following{/other_user} - gists_url: - type: string - example: https://api.github.com/users/octocat/gists{/gist_id} - starred_url: - type: string - example: https://api.github.com/users/octocat/starred{/owner}{/repo} - subscriptions_url: - type: string - format: uri - example: https://api.github.com/users/octocat/subscriptions - organizations_url: - type: string - format: uri - example: https://api.github.com/users/octocat/orgs - repos_url: - type: string - format: uri - example: https://api.github.com/users/octocat/repos - events_url: - type: string - example: https://api.github.com/users/octocat/events{/privacy} - received_events_url: - type: string - format: uri - example: https://api.github.com/users/octocat/received_events - type: - type: string - example: User - site_admin: - type: boolean - starred_at: - type: string - example: '"2020-07-09T00:17:55Z"' - user_view_type: - type: string - example: public - required: - - avatar_url - - events_url - - followers_url - - following_url - - gists_url - - gravatar_id - - html_url - - id - - node_id - - login - - organizations_url - - received_events_url - - repos_url - - site_admin - - starred_url - - subscriptions_url - - type - - url - nullable: true - nullable-milestone: - title: Milestone - description: A collection of related issues and pull requests. + - permissions + - events + author-association: + title: author_association + type: string + example: OWNER + description: How the author is associated with the repository. + enum: + - COLLABORATOR + - CONTRIBUTOR + - FIRST_TIMER + - FIRST_TIME_CONTRIBUTOR + - MANNEQUIN + - MEMBER + - NONE + - OWNER + reaction-rollup: + title: Reaction Rollup type: object properties: url: type: string format: uri - example: https://api.github.com/repos/octocat/Hello-World/milestones/1 - html_url: - type: string - format: uri - example: https://github.com/octocat/Hello-World/milestones/v1.0 - labels_url: - type: string - format: uri - example: https://api.github.com/repos/octocat/Hello-World/milestones/1/labels - id: + total_count: type: integer - example: 1002604 - node_id: - type: string - example: MDk6TWlsZXN0b25lMTAwMjYwNA== - number: - description: The number of the milestone. + '+1': type: integer - example: 42 - state: - description: The state of the milestone. - example: open - type: string - enum: - - open - - closed - default: open - title: - description: The title of the milestone. - example: v1.0 - type: string - description: - type: string - example: Tracking milestone for version 1.0 - nullable: true - creator: - $ref: '#/components/schemas/nullable-simple-user' - open_issues: + '-1': type: integer - example: 4 - closed_issues: + laugh: + type: integer + confused: + type: integer + heart: + type: integer + hooray: + type: integer + eyes: + type: integer + rocket: type: integer - example: 8 - created_at: - type: string - format: date-time - example: '2011-04-10T20:09:31Z' - updated_at: - type: string - format: date-time - example: '2014-03-03T18:58:10Z' - closed_at: - type: string - format: date-time - example: '2013-02-12T13:22:01Z' - nullable: true - due_on: - type: string - format: date-time - example: '2012-10-09T23:39:01Z' - nullable: true required: - - closed_issues - - creator - - description - - due_on - - closed_at - - id - - node_id - - labels_url - - html_url - - number - - open_issues - - state - - title - url - - created_at - - updated_at - nullable: true - issue-type: - title: Issue Type - description: The type of issue. + - total_count + - '+1' + - '-1' + - laugh + - confused + - heart + - hooray + - eyes + - rocket + sub-issues-summary: + title: Sub-issues Summary type: object - nullable: true properties: - id: + total: + type: integer + completed: + type: integer + percent_completed: type: integer - description: The unique identifier of the issue type. - node_id: - type: string - description: The node identifier of the issue type. - name: - type: string - description: The name of the issue type. - description: - type: string - description: The description of the issue type. - nullable: true - color: - type: string - description: The color of the issue type. - enum: - - gray - - blue - - green - - yellow - - orange - - red - - pink - - purple - nullable: true - created_at: - type: string - description: The time the issue type created. - format: date-time - updated_at: - type: string - description: The time the issue type last updated. - format: date-time - is_enabled: - type: boolean - description: The enabled state of the issue type. required: - - id - - node_id - - name - - description - repository: - title: Repository - description: A repository on GitHub. + - total + - completed + - percent_completed + nullable-issue-comment: + title: Issue Comment + description: Comments provide a way for people to collaborate on an issue. type: object properties: id: - description: Unique identifier of the repository + description: Unique identifier of the issue comment example: 42 type: integer format: int64 node_id: type: string - example: MDEwOlJlcG9zaXRvcnkxMjk2MjY5 - name: - description: The name of the repository. - type: string - example: Team Environment - full_name: - type: string - example: octocat/Hello-World - license: - $ref: '#/components/schemas/nullable-license-simple' - forks: - type: integer - permissions: - type: object - properties: - admin: - type: boolean - pull: - type: boolean - triage: - type: boolean - push: - type: boolean - maintain: - type: boolean - required: - - admin - - pull - - push - owner: - $ref: '#/components/schemas/simple-user' - private: - description: Whether the repository is private or public. - default: false - type: boolean - html_url: - type: string - format: uri - example: https://github.com/octocat/Hello-World - description: - type: string - example: This your first repo! - nullable: true - fork: - type: boolean url: + description: URL for the issue comment + example: https://api.github.com/repositories/42/issues/comments/1 type: string format: uri - example: https://api.github.com/repos/octocat/Hello-World - archive_url: - type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} - assignees_url: - type: string - example: http://api.github.com/repos/octocat/Hello-World/assignees{/user} - blobs_url: - type: string - example: http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} - branches_url: - type: string - example: http://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: - type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} - comments_url: - type: string - example: http://api.github.com/repos/octocat/Hello-World/comments{/number} - commits_url: - type: string - example: http://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: - type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} - contents_url: - type: string - example: http://api.github.com/repos/octocat/Hello-World/contents/{+path} - contributors_url: - type: string - format: uri - example: http://api.github.com/repos/octocat/Hello-World/contributors - deployments_url: + body: + description: Contents of the issue comment + example: What version of Safari were you using when you observed this bug? type: string - format: uri - example: http://api.github.com/repos/octocat/Hello-World/deployments - downloads_url: + body_text: type: string - format: uri - example: http://api.github.com/repos/octocat/Hello-World/downloads - events_url: + body_html: type: string - format: uri - example: http://api.github.com/repos/octocat/Hello-World/events - forks_url: + html_url: type: string format: uri - example: http://api.github.com/repos/octocat/Hello-World/forks - git_commits_url: - type: string - example: http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} - git_refs_url: - type: string - example: http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} - git_tags_url: - type: string - example: http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} - git_url: - type: string - example: git:github.com/octocat/Hello-World.git - issue_comment_url: - type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: - type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/issues/events{/number} - issues_url: - type: string - example: http://api.github.com/repos/octocat/Hello-World/issues{/number} - keys_url: - type: string - example: http://api.github.com/repos/octocat/Hello-World/keys{/key_id} - labels_url: + user: + $ref: '#/components/schemas/nullable-simple-user' + created_at: type: string - example: http://api.github.com/repos/octocat/Hello-World/labels{/name} - languages_url: + format: date-time + example: '2011-04-14T16:00:49Z' + updated_at: type: string - format: uri - example: http://api.github.com/repos/octocat/Hello-World/languages - merges_url: + format: date-time + example: '2011-04-14T16:00:49Z' + issue_url: type: string format: uri - example: http://api.github.com/repos/octocat/Hello-World/merges - milestones_url: + author_association: + $ref: '#/components/schemas/author-association' + performed_via_github_app: + $ref: '#/components/schemas/nullable-integration' + reactions: + $ref: '#/components/schemas/reaction-rollup' + pin: + $ref: '#/components/schemas/nullable-pinned-issue-comment' + minimized: + $ref: '#/components/schemas/nullable-issue-comment-minimized' + required: + - id + - node_id + - html_url + - issue_url + - user + - url + - created_at + - updated_at + nullable: true + issue-dependencies-summary: + title: Issue Dependencies Summary + type: object + properties: + blocked_by: + type: integer + blocking: + type: integer + total_blocked_by: + type: integer + total_blocking: + type: integer + required: + - blocked_by + - blocking + - total_blocked_by + - total_blocking + validation-error: + title: Validation Error + description: Validation Error + type: object + required: + - message + - documentation_url + properties: + message: type: string - example: http://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: + documentation_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} - pulls_url: + errors: + type: array + items: + type: object + required: + - code + properties: + resource: + type: string + field: + type: string + message: + type: string + code: + type: string + index: + type: integer + value: + oneOf: + - type: string + nullable: true + - type: integer + nullable: true + - type: array + nullable: true + items: + type: string + scim-error: + title: Scim Error + description: Scim Error + type: object + properties: + message: type: string - example: http://api.github.com/repos/octocat/Hello-World/pulls{/number} - releases_url: + nullable: true + documentation_url: type: string - example: http://api.github.com/repos/octocat/Hello-World/releases{/id} - ssh_url: + nullable: true + detail: type: string - example: git@github.com:octocat/Hello-World.git - stargazers_url: + nullable: true + status: + type: integer + scimType: type: string - format: uri - example: http://api.github.com/repos/octocat/Hello-World/stargazers - statuses_url: + nullable: true + schemas: + type: array + items: + type: string + nullable-pinned-issue-comment: + title: Pinned Issue Comment + description: Context around who pinned an issue comment and when it was pinned. + type: object + properties: + pinned_at: type: string - example: http://api.github.com/repos/octocat/Hello-World/statuses/{sha} - subscribers_url: + format: date-time + example: '2011-04-14T16:00:49Z' + pinned_by: + $ref: '#/components/schemas/nullable-simple-user' + required: + - pinned_at + - pinned_by + nullable: true + nullable-issue-comment-minimized: + title: Minimized Issue Comment + description: Details about why an issue comment was minimized. + type: object + properties: + reason: + description: The reason the comment was minimized. type: string - format: uri - example: http://api.github.com/repos/octocat/Hello-World/subscribers - subscription_url: + nullable: true + example: low-quality + required: + - reason + nullable: true + nullable-issue: + title: Issue + description: >- + Issues are a great way to keep track of tasks, enhancements, and bugs + for your projects. + type: object + properties: + id: + type: integer + format: int64 + node_id: type: string - format: uri - example: http://api.github.com/repos/octocat/Hello-World/subscription - tags_url: + url: + description: URL for the issue + example: https://api.github.com/repositories/42/issues/1 type: string format: uri - example: http://api.github.com/repos/octocat/Hello-World/tags - teams_url: + repository_url: type: string format: uri - example: http://api.github.com/repos/octocat/Hello-World/teams - trees_url: - type: string - example: http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} - clone_url: - type: string - example: https://github.com/octocat/Hello-World.git - mirror_url: + labels_url: type: string - format: uri - example: git:git.example.com/octocat/Hello-World - nullable: true - hooks_url: + comments_url: type: string format: uri - example: http://api.github.com/repos/octocat/Hello-World/hooks - svn_url: + events_url: type: string format: uri - example: https://svn.github.com/octocat/Hello-World - homepage: + html_url: type: string format: uri - example: https://github.com - nullable: true - language: - type: string - nullable: true - forks_count: - type: integer - example: 9 - stargazers_count: - type: integer - example: 80 - watchers_count: - type: integer - example: 80 - size: - description: >- - The size of the repository, in kilobytes. Size is calculated hourly. - When a repository is initially created, the size is 0. + number: + description: Number uniquely identifying the issue within its repository + example: 42 type: integer - example: 108 - default_branch: - description: The default branch of the repository. + state: + description: State of the issue; either 'open' or 'closed' + example: open type: string - example: master - open_issues_count: - type: integer - example: 0 - is_template: - description: >- - Whether this repository acts as a template that can be used to - generate new repositories. - default: false - type: boolean - example: true - topics: - type: array - items: - type: string - has_issues: - description: Whether issues are enabled. - default: true - type: boolean - example: true - has_projects: - description: Whether projects are enabled. - default: true - type: boolean - example: true - has_wiki: - description: Whether the wiki is enabled. - default: true - type: boolean - example: true - has_pages: - type: boolean - has_downloads: - description: Whether downloads are enabled. - default: true - type: boolean - example: true - deprecated: true - has_discussions: - description: Whether discussions are enabled. - default: false - type: boolean - example: true - has_pull_requests: - description: Whether pull requests are enabled. - default: true - type: boolean - example: true - pull_request_creation_policy: - description: >- - The policy controlling who can create pull requests: all or - collaborators_only. + state_reason: + description: The reason for the current state + example: not_planned type: string + nullable: true enum: - - all - - collaborators_only - example: all - archived: - description: Whether the repository is archived. - default: false - type: boolean - disabled: + - completed + - reopened + - not_planned + - duplicate + title: + description: Title of the issue + example: Widget creation fails in Safari on OS X 10.8 + type: string + body: + description: Contents of the issue + example: >- + It looks like the new widget form is broken on Safari. When I try + and create the widget, Safari crashes. This is reproducible on 10.8, + but not 10.9. Maybe a browser bug? + type: string + nullable: true + user: + $ref: '#/components/schemas/nullable-simple-user' + labels: + description: >- + Labels to associate with this issue; pass one or more label names to + replace the set of labels on this issue; send an empty array to + clear all labels from the issue; note that the labels are silently + dropped for users without push access to the repository + example: + - bug + - registration + type: array + items: + oneOf: + - type: string + - type: object + properties: + id: + type: integer + format: int64 + node_id: + type: string + url: + type: string + format: uri + name: + type: string + description: + type: string + nullable: true + color: + type: string + nullable: true + default: + type: boolean + assignee: + $ref: '#/components/schemas/nullable-simple-user' + assignees: + type: array + items: + $ref: '#/components/schemas/simple-user' + milestone: + $ref: '#/components/schemas/nullable-milestone' + locked: type: boolean - description: Returns whether or not this repository disabled. - visibility: - description: 'The repository visibility: public, private, or internal.' - default: public + active_lock_reason: type: string - pushed_at: + nullable: true + comments: + type: integer + pull_request: + type: object + properties: + merged_at: + type: string + format: date-time + nullable: true + diff_url: + type: string + format: uri + nullable: true + html_url: + type: string + format: uri + nullable: true + patch_url: + type: string + format: uri + nullable: true + url: + type: string + format: uri + nullable: true + required: + - diff_url + - html_url + - patch_url + - url + closed_at: type: string format: date-time - example: '2011-01-26T19:06:43Z' nullable: true created_at: type: string format: date-time - example: '2011-01-26T19:01:12Z' - nullable: true updated_at: type: string format: date-time - example: '2011-01-26T19:14:43Z' - nullable: true - allow_rebase_merge: - description: Whether to allow rebase merges for pull requests. - default: true - type: boolean - example: true - temp_clone_token: - type: string - allow_squash_merge: - description: Whether to allow squash merges for pull requests. - default: true - type: boolean - example: true - allow_auto_merge: - description: Whether to allow Auto-merge to be used on pull requests. - default: false - type: boolean - example: false - delete_branch_on_merge: - description: Whether to delete head branches when pull requests are merged - default: false - type: boolean - example: false - allow_update_branch: - description: >- - Whether or not a pull request head branch that is behind its base - branch can always be updated even if it is not required to be up to - date before merging. - default: false - type: boolean - example: false - use_squash_pr_title_as_default: + draft: type: boolean - description: >- - Whether a squash merge commit can use the pull request title as - default. **This property is closing down. Please use - `squash_merge_commit_title` instead. - default: false - deprecated: true - squash_merge_commit_title: - type: string - enum: - - PR_TITLE - - COMMIT_OR_PR_TITLE - description: >- - The default value for a squash merge commit title: - - - - `PR_TITLE` - default to the pull request's title. - - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one - commit) or the pull request's title (when more than one commit). - squash_merge_commit_message: - type: string - enum: - - PR_BODY - - COMMIT_MESSAGES - - BLANK - description: |- - The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - merge_commit_title: + closed_by: + $ref: '#/components/schemas/nullable-simple-user' + body_html: type: string - enum: - - PR_TITLE - - MERGE_MESSAGE - description: >- - The default value for a merge commit title. - - - - `PR_TITLE` - default to the pull request's title. - - - `MERGE_MESSAGE` - default to the classic title for a merge message - (e.g., Merge pull request #123 from branch-name). - merge_commit_message: + body_text: type: string - enum: - - PR_BODY - - PR_TITLE - - BLANK - description: |- - The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - allow_merge_commit: - description: Whether to allow merge commits for pull requests. - default: true - type: boolean - example: true - allow_forking: - description: Whether to allow forking this repo - type: boolean - web_commit_signoff_required: - description: Whether to require contributors to sign off on web-based commits - default: false - type: boolean - open_issues: - type: integer - watchers: - type: integer - master_branch: + timeline_url: type: string - starred_at: + format: uri + type: + $ref: '#/components/schemas/issue-type' + repository: + $ref: '#/components/schemas/repository' + performed_via_github_app: + $ref: '#/components/schemas/nullable-integration' + author_association: + $ref: '#/components/schemas/author-association' + reactions: + $ref: '#/components/schemas/reaction-rollup' + sub_issues_summary: + $ref: '#/components/schemas/sub-issues-summary' + parent_issue_url: + description: URL to get the parent issue of this issue, if it is a sub-issue type: string - example: '"2020-07-09T00:17:42Z"' - anonymous_access_enabled: - type: boolean - description: Whether anonymous git access is enabled for this repository - code_search_index_status: - type: object - description: The status of the code search index for this repository - properties: - lexical_search_ok: - type: boolean - lexical_commit_sha: - type: string + format: uri + nullable: true + pinned_comment: + $ref: '#/components/schemas/nullable-issue-comment' + issue_dependencies_summary: + $ref: '#/components/schemas/issue-dependencies-summary' + issue_field_values: + type: array + items: + $ref: '#/components/schemas/issue-field-value' required: - - archive_url - - assignees_url - - blobs_url - - branches_url - - collaborators_url + - assignee + - closed_at + - comments - comments_url - - commits_url - - compare_url - - contents_url - - contributors_url - - deployments_url - - description - - downloads_url - events_url - - fork - - forks_url - - full_name - - git_commits_url - - git_refs_url - - git_tags_url - - hooks_url - html_url - id - node_id - - issue_comment_url - - issue_events_url - - issues_url - - keys_url + - labels - labels_url - - languages_url - - merges_url - - milestones_url - - name - - notifications_url - - owner - - private - - pulls_url - - releases_url - - stargazers_url - - statuses_url - - subscribers_url - - subscription_url - - tags_url - - teams_url - - trees_url + - milestone + - number + - repository_url + - state + - locked + - title - url - - clone_url - - default_branch - - forks - - forks_count - - git_url - - has_downloads - - has_issues - - has_projects - - has_wiki - - has_pages - - homepage - - language - - archived - - disabled - - mirror_url - - open_issues - - open_issues_count - - license - - pushed_at - - size - - ssh_url - - stargazers_count - - svn_url - - watchers - - watchers_count + - user - created_at - updated_at x-github-breaking-changes: - - changeset: remove_use_squash_pr_title_as_default - patch: - properties: - use_squash_pr_title_as_default: null - type: object - version: '2026-03-10' - changeset: deprecate_beta_media_type patch: properties: - master_branch: null + pull_request: + type: object + properties: + merged_at: + nullable: false + diff_url: + nullable: false + html_url: + nullable: false + patch_url: + nullable: false + url: + nullable: false type: object version: '2026-03-10' - - changeset: remove_has_downloads + - changeset: remove_singular_assignee_from_issues_and_pull_requests patch: properties: - has_downloads: null + assignee: null required: - - archive_url - - assignees_url - - blobs_url - - branches_url - - collaborators_url + - closed_at + - comments - comments_url - - commits_url - - compare_url - - contents_url - - contributors_url - - deployments_url - - description - - downloads_url - events_url - - fork - - forks_url - - full_name - - git_commits_url - - git_refs_url - - git_tags_url - - hooks_url - html_url - id - node_id - - issue_comment_url - - issue_events_url - - issues_url - - keys_url + - labels - labels_url - - languages_url - - merges_url - - milestones_url - - name - - notifications_url - - owner - - private - - pulls_url - - releases_url - - stargazers_url - - statuses_url - - subscribers_url - - subscription_url - - tags_url - - teams_url - - trees_url + - milestone + - number + - repository_url + - state + - locked + - title - url - - clone_url - - default_branch - - forks - - forks_count - - git_url - - has_issues - - has_projects - - has_wiki - - has_pages - - homepage - - language - - archived - - disabled - - mirror_url - - open_issues - - open_issues_count - - license - - pushed_at - - size - - ssh_url - - stargazers_count - - svn_url - - watchers - - watchers_count + - user - created_at - updated_at type: object version: '2026-03-10' - nullable-integration: - title: GitHub app + nullable: true + issue-event-label: + title: Issue Event Label + description: Issue Event Label + type: object + properties: + name: + type: string + nullable: true + color: + type: string + nullable: true + required: + - name + - color + team: + title: Team description: >- - GitHub apps are a new way to extend GitHub. They can be installed - directly on organizations and user accounts and granted access to - specific repositories. They come with granular permissions and built-in - webhooks. GitHub apps are first class actors within GitHub. + Groups of organization members that gives permissions on specified + repositories. + type: object + properties: + id: + type: integer + node_id: + type: string + name: + type: string + slug: + type: string + description: + type: string + nullable: true + privacy: + type: string + notification_setting: + type: string + permission: + type: string + permissions: + type: object + properties: + pull: + type: boolean + triage: + type: boolean + push: + type: boolean + maintain: + type: boolean + admin: + type: boolean + required: + - pull + - triage + - push + - maintain + - admin + url: + type: string + format: uri + html_url: + type: string + format: uri + example: https://github.com/orgs/rails/teams/core + members_url: + type: string + repositories_url: + type: string + format: uri + type: + description: The ownership type of the team + type: string + enum: + - enterprise + - organization + access_source: + description: >- + How the team's access to the repository was granted. This property + is only + + present when the team is returned in a repository context, such as + + `GET /repos/{owner}/{repo}/teams`. + type: string + enum: + - direct + - organization + - enterprise + example: direct + organization_id: + type: integer + description: Unique identifier of the organization to which this team belongs + example: 37 + enterprise_id: + type: integer + description: Unique identifier of the enterprise to which this team belongs + example: 42 + parent: + $ref: '#/components/schemas/nullable-team-simple' + required: + - id + - node_id + - url + - members_url + - name + - description + - permission + - html_url + - repositories_url + - slug + - parent + - type + issue-event-dismissed-review: + title: Issue Event Dismissed Review + type: object + properties: + state: + type: string + review_id: + type: integer + dismissal_message: + type: string + nullable: true + dismissal_commit_id: + type: string + nullable: true + required: + - state + - review_id + - dismissal_message + issue-event-milestone: + title: Issue Event Milestone + description: Issue Event Milestone + type: object + properties: + title: + type: string + required: + - title + issue-event-project-card: + title: Issue Event Project Card + description: Issue Event Project Card + type: object + properties: + url: + type: string + format: uri + id: + type: integer + project_url: + type: string + format: uri + project_id: + type: integer + column_name: + type: string + previous_column_name: + type: string + required: + - url + - id + - project_url + - project_id + - column_name + issue-event-rename: + title: Issue Event Rename + description: Issue Event Rename + type: object + properties: + from: + type: string + to: + type: string + required: + - from + - to + issue-type-webhook: + title: Issue Type + description: The type of issue. type: object nullable: true properties: id: - description: Unique identifier of the GitHub app - example: 37 type: integer - slug: - description: The slug name of the GitHub app - example: probot-owners + description: The unique identifier of the issue type. + name: type: string - node_id: + description: The name of the issue type. + color: type: string - example: MDExOkludGVncmF0aW9uMQ== - client_id: + description: The color of the issue type. + enum: + - gray + - blue + - green + - yellow + - orange + - red + - pink + - purple + nullable: true + required: + - id + - name + nullable-issue-reference: + title: Issue Reference + description: >- + A minimal reference to an issue linked from a timeline event (e.g. + sub-issue, parent-issue, or dependency events). + type: object + nullable: true + properties: + number: + type: integer + description: The number of the referenced issue. + title: type: string - example: '"Iv1.25b5d1e65ffc4022"' - owner: - title: Simple User - description: A GitHub user. + description: The title of the referenced issue. + state: + type: string + description: The state of the referenced issue. + state_reason: + type: string + description: The reason for the referenced issue's state. + nullable: true + repository: + $ref: '#/components/schemas/simple-repository' + issue_type: + title: Issue Type + description: The type of the referenced issue. type: object + nullable: true properties: - name: - nullable: true - type: string - email: - nullable: true - type: string - login: - type: string - example: octocat id: type: integer - format: int64 - example: 1 + description: The unique identifier of the issue type. node_id: type: string - example: MDQ6VXNlcjE= - avatar_url: - type: string - format: uri - example: https://github.com/images/error/octocat_happy.gif - gravatar_id: - type: string - example: 41d064eb2195891e12d0413f63227ea7 - nullable: true - url: - type: string - format: uri - example: https://api.github.com/users/octocat - html_url: - type: string - format: uri - example: https://github.com/octocat - followers_url: - type: string - format: uri - example: https://api.github.com/users/octocat/followers - following_url: - type: string - example: https://api.github.com/users/octocat/following{/other_user} - gists_url: - type: string - example: https://api.github.com/users/octocat/gists{/gist_id} - starred_url: - type: string - example: https://api.github.com/users/octocat/starred{/owner}{/repo} - subscriptions_url: - type: string - format: uri - example: https://api.github.com/users/octocat/subscriptions - organizations_url: - type: string - format: uri - example: https://api.github.com/users/octocat/orgs - repos_url: - type: string - format: uri - example: https://api.github.com/users/octocat/repos - events_url: - type: string - example: https://api.github.com/users/octocat/events{/privacy} - received_events_url: - type: string - format: uri - example: https://api.github.com/users/octocat/received_events - type: - type: string - example: User - site_admin: - type: boolean - starred_at: - type: string - example: '"2020-07-09T00:17:55Z"' - user_view_type: - type: string - example: public - description: - description: A short description of the enterprise. - type: string - nullable: true - website_url: - description: The enterprise's website URL. - type: string - nullable: true - format: uri - slug: - description: The slug url identifier for the enterprise. - type: string - example: octo-business - created_at: + description: The node identifier of the issue type. + name: type: string - nullable: true - format: date-time - example: '2019-01-26T19:01:12Z' - updated_at: + description: The name of the issue type. + color: type: string + description: The color of the issue type. nullable: true - format: date-time - example: '2019-01-26T19:14:43Z' required: - - avatar_url - - events_url - - followers_url - - following_url - - gists_url - - gravatar_id - - html_url - id - - node_id - - login - - organizations_url - - received_events_url - - repos_url - - site_admin - - starred_url - - subscriptions_url - - type - - url - - name - - slug - - created_at - - updated_at - name: - description: The name of the GitHub app - example: Probot Owners + - node_id + - name + required: + - number + - title + - state + - repository + - issue_type + nullable-issue-event-intent: + title: Issue Event Intent + description: >- + The intent behind an agent's action on an issue, including the rationale + and confidence. Present (and `null` when the event carried no agent + intent) on supported event types while the issue suggestions feature is + enabled for the repository; the property is omitted entirely when the + feature is disabled or the event type does not support intent. + type: object + nullable: true + properties: + rationale: type: string - description: + description: The reasoning the agent provided for the change. + nullable: true + confidence: type: string - example: The description of the app. + description: The confidence level the agent had when performing this action. + enum: + - LOW + - MEDIUM + - HIGH nullable: true - external_url: + labeled-issue-event: + title: Labeled Issue Event + description: Labeled Issue Event + type: object + properties: + id: + type: integer + node_id: type: string - format: uri - example: https://example.com - html_url: + url: type: string - format: uri - example: https://github.com/apps/super-ci - created_at: + actor: + $ref: '#/components/schemas/simple-user' + event: type: string - format: date-time - example: '2017-07-08T16:18:44-04:00' - updated_at: + commit_id: type: string - format: date-time - example: '2017-07-08T16:18:44-04:00' - permissions: - description: The set of permissions for the GitHub app + nullable: true + commit_url: + type: string + nullable: true + created_at: + type: string + performed_via_github_app: + $ref: '#/components/schemas/nullable-integration' + label: type: object properties: - issues: - type: string - checks: - type: string - metadata: - type: string - contents: + name: type: string - deployments: + color: type: string - additionalProperties: - type: string - example: - issues: read - deployments: write - events: - description: >- - The list of events for the GitHub app. Note that the - `installation_target`, `security_advisory`, and `meta` events are - not included because they are global events and not specific to an - installation. - example: - - label - - deployment - type: array - items: - type: string - installations_count: - description: >- - The number of installations associated with the GitHub app. Only - returned when the integration is requesting details about itself. - example: 5 - type: integer + required: + - name + - color + intent: + $ref: '#/components/schemas/nullable-issue-event-intent' required: + - label - id - node_id - - owner - - name - - description - - external_url - - html_url + - url + - actor + - event + - commit_id + - commit_url - created_at - - updated_at - - permissions - - events - author-association: - title: author_association - type: string - example: OWNER - description: How the author is associated with the repository. - enum: - - COLLABORATOR - - CONTRIBUTOR - - FIRST_TIMER - - FIRST_TIME_CONTRIBUTOR - - MANNEQUIN - - MEMBER - - NONE - - OWNER - reaction-rollup: - title: Reaction Rollup + - performed_via_github_app + unlabeled-issue-event: + title: Unlabeled Issue Event + description: Unlabeled Issue Event type: object properties: + id: + type: integer + node_id: + type: string url: type: string - format: uri - total_count: - type: integer - '+1': - type: integer - '-1': - type: integer - laugh: - type: integer - confused: - type: integer - heart: - type: integer - hooray: - type: integer - eyes: - type: integer - rocket: - type: integer + actor: + $ref: '#/components/schemas/simple-user' + event: + type: string + commit_id: + type: string + nullable: true + commit_url: + type: string + nullable: true + created_at: + type: string + performed_via_github_app: + $ref: '#/components/schemas/nullable-integration' + label: + type: object + properties: + name: + type: string + color: + type: string + required: + - name + - color + intent: + $ref: '#/components/schemas/nullable-issue-event-intent' required: + - label + - id + - node_id - url - - total_count - - '+1' - - '-1' - - laugh - - confused - - heart - - hooray - - eyes - - rocket - sub-issues-summary: - title: Sub-issues Summary + - actor + - event + - commit_id + - commit_url + - created_at + - performed_via_github_app + assigned-issue-event: + title: Assigned Issue Event + description: Assigned Issue Event type: object properties: - total: - type: integer - completed: - type: integer - percent_completed: + id: type: integer + node_id: + type: string + url: + type: string + actor: + $ref: '#/components/schemas/simple-user' + event: + type: string + commit_id: + type: string + nullable: true + commit_url: + type: string + nullable: true + created_at: + type: string + performed_via_github_app: + $ref: '#/components/schemas/integration' + assignee: + $ref: '#/components/schemas/simple-user' + assigner: + $ref: '#/components/schemas/simple-user' + intent: + $ref: '#/components/schemas/nullable-issue-event-intent' required: - - total - - completed - - percent_completed - nullable-issue-comment: - title: Issue Comment - description: Comments provide a way for people to collaborate on an issue. + - id + - node_id + - url + - actor + - event + - commit_id + - commit_url + - created_at + - performed_via_github_app + - assignee + - assigner + unassigned-issue-event: + title: Unassigned Issue Event + description: Unassigned Issue Event type: object properties: id: - description: Unique identifier of the issue comment - example: 42 type: integer - format: int64 node_id: type: string url: - description: URL for the issue comment - example: https://api.github.com/repositories/42/issues/comments/1 - type: string - format: uri - body: - description: Contents of the issue comment - example: What version of Safari were you using when you observed this bug? type: string - body_text: - type: string - body_html: - type: string - html_url: + actor: + $ref: '#/components/schemas/simple-user' + event: type: string - format: uri - user: - $ref: '#/components/schemas/nullable-simple-user' - created_at: + commit_id: type: string - format: date-time - example: '2011-04-14T16:00:49Z' - updated_at: + nullable: true + commit_url: type: string - format: date-time - example: '2011-04-14T16:00:49Z' - issue_url: + nullable: true + created_at: type: string - format: uri - author_association: - $ref: '#/components/schemas/author-association' performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - reactions: - $ref: '#/components/schemas/reaction-rollup' - pin: - $ref: '#/components/schemas/nullable-pinned-issue-comment' + assignee: + $ref: '#/components/schemas/simple-user' + assigner: + $ref: '#/components/schemas/simple-user' required: - id - node_id - - html_url - - issue_url - - user - url + - actor + - event + - commit_id + - commit_url - created_at - - updated_at - nullable: true - issue-dependencies-summary: - title: Issue Dependencies Summary + - performed_via_github_app + - assignee + - assigner + milestoned-issue-event: + title: Milestoned Issue Event + description: Milestoned Issue Event type: object properties: - blocked_by: - type: integer - blocking: - type: integer - total_blocked_by: - type: integer - total_blocking: + id: type: integer - required: - - blocked_by - - blocking - - total_blocked_by - - total_blocking - validation-error: - title: Validation Error - description: Validation Error - type: object - required: - - message - - documentation_url - properties: - message: - type: string - documentation_url: + node_id: type: string - errors: - type: array - items: - type: object - required: - - code - properties: - resource: - type: string - field: - type: string - message: - type: string - code: - type: string - index: - type: integer - value: - oneOf: - - type: string - nullable: true - - type: integer - nullable: true - - type: array - nullable: true - items: - type: string - scim-error: - title: Scim Error - description: Scim Error - type: object - properties: - message: + url: type: string - nullable: true - documentation_url: + actor: + $ref: '#/components/schemas/simple-user' + event: type: string - nullable: true - detail: + commit_id: type: string nullable: true - status: - type: integer - scimType: + commit_url: type: string nullable: true - schemas: - type: array - items: - type: string - nullable-pinned-issue-comment: - title: Pinned Issue Comment - description: Context around who pinned an issue comment and when it was pinned. - type: object - properties: - pinned_at: + created_at: type: string - format: date-time - example: '2011-04-14T16:00:49Z' - pinned_by: - $ref: '#/components/schemas/nullable-simple-user' + performed_via_github_app: + $ref: '#/components/schemas/nullable-integration' + milestone: + type: object + properties: + title: + type: string + required: + - title required: - - pinned_at - - pinned_by - nullable: true - nullable-issue: - title: Issue - description: >- - Issues are a great way to keep track of tasks, enhancements, and bugs - for your projects. + - milestone + - id + - node_id + - url + - actor + - event + - commit_id + - commit_url + - created_at + - performed_via_github_app + demilestoned-issue-event: + title: Demilestoned Issue Event + description: Demilestoned Issue Event type: object properties: id: type: integer - format: int64 node_id: type: string url: - description: URL for the issue - example: https://api.github.com/repositories/42/issues/1 - type: string - format: uri - repository_url: - type: string - format: uri - labels_url: - type: string - comments_url: - type: string - format: uri - events_url: - type: string - format: uri - html_url: type: string - format: uri - number: - description: Number uniquely identifying the issue within its repository - example: 42 - type: integer - state: - description: State of the issue; either 'open' or 'closed' - example: open + actor: + $ref: '#/components/schemas/simple-user' + event: type: string - state_reason: - description: The reason for the current state - example: not_planned + commit_id: type: string nullable: true - enum: - - completed - - reopened - - not_planned - - duplicate - title: - description: Title of the issue - example: Widget creation fails in Safari on OS X 10.8 - type: string - body: - description: Contents of the issue - example: >- - It looks like the new widget form is broken on Safari. When I try - and create the widget, Safari crashes. This is reproducible on 10.8, - but not 10.9. Maybe a browser bug? + commit_url: type: string nullable: true - user: - $ref: '#/components/schemas/nullable-simple-user' - labels: - description: >- - Labels to associate with this issue; pass one or more label names to - replace the set of labels on this issue; send an empty array to - clear all labels from the issue; note that the labels are silently - dropped for users without push access to the repository - example: - - bug - - registration - type: array - items: - oneOf: - - type: string - - type: object - properties: - id: - type: integer - format: int64 - node_id: - type: string - url: - type: string - format: uri - name: - type: string - description: - type: string - nullable: true - color: - type: string - nullable: true - default: - type: boolean - assignee: - $ref: '#/components/schemas/nullable-simple-user' - assignees: - type: array - items: - $ref: '#/components/schemas/simple-user' + created_at: + type: string + performed_via_github_app: + $ref: '#/components/schemas/nullable-integration' milestone: - $ref: '#/components/schemas/nullable-milestone' - locked: - type: boolean - active_lock_reason: + type: object + properties: + title: + type: string + required: + - title + required: + - milestone + - id + - node_id + - url + - actor + - event + - commit_id + - commit_url + - created_at + - performed_via_github_app + renamed-issue-event: + title: Renamed Issue Event + description: Renamed Issue Event + type: object + properties: + id: + type: integer + node_id: + type: string + url: + type: string + actor: + $ref: '#/components/schemas/simple-user' + event: + type: string + commit_id: type: string nullable: true - comments: - type: integer - pull_request: + commit_url: + type: string + nullable: true + created_at: + type: string + performed_via_github_app: + $ref: '#/components/schemas/nullable-integration' + rename: type: object properties: - merged_at: - type: string - format: date-time - nullable: true - diff_url: - type: string - format: uri - nullable: true - html_url: - type: string - format: uri - nullable: true - patch_url: + from: type: string - format: uri - nullable: true - url: + to: type: string - format: uri - nullable: true required: - - diff_url - - html_url - - patch_url - - url - closed_at: + - from + - to + required: + - rename + - id + - node_id + - url + - actor + - event + - commit_id + - commit_url + - created_at + - performed_via_github_app + review-requested-issue-event: + title: Review Requested Issue Event + description: Review Requested Issue Event + type: object + properties: + id: + type: integer + node_id: type: string - format: date-time - nullable: true - created_at: + url: type: string - format: date-time - updated_at: + actor: + $ref: '#/components/schemas/simple-user' + event: type: string - format: date-time - draft: - type: boolean - closed_by: - $ref: '#/components/schemas/nullable-simple-user' - body_html: + commit_id: type: string - body_text: + nullable: true + commit_url: type: string - timeline_url: + nullable: true + created_at: type: string - format: uri - type: - $ref: '#/components/schemas/issue-type' - repository: - $ref: '#/components/schemas/repository' performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - author_association: - $ref: '#/components/schemas/author-association' - reactions: - $ref: '#/components/schemas/reaction-rollup' - sub_issues_summary: - $ref: '#/components/schemas/sub-issues-summary' - parent_issue_url: - description: URL to get the parent issue of this issue, if it is a sub-issue - type: string - format: uri - nullable: true - pinned_comment: - $ref: '#/components/schemas/nullable-issue-comment' - issue_dependencies_summary: - $ref: '#/components/schemas/issue-dependencies-summary' - issue_field_values: - type: array - items: - $ref: '#/components/schemas/issue-field-value' + review_requester: + $ref: '#/components/schemas/simple-user' + requested_team: + $ref: '#/components/schemas/team' + requested_reviewer: + $ref: '#/components/schemas/simple-user' required: - - assignee - - closed_at - - comments - - comments_url - - events_url - - html_url + - review_requester - id - node_id - - labels - - labels_url - - milestone - - number - - repository_url - - state - - locked - - title - url - - user + - actor + - event + - commit_id + - commit_url - created_at - - updated_at - x-github-breaking-changes: - - changeset: deprecate_beta_media_type - patch: - properties: - pull_request: - type: object - properties: - merged_at: - nullable: false - diff_url: - nullable: false - html_url: - nullable: false - patch_url: - nullable: false - url: - nullable: false - type: object - version: '2026-03-10' - - changeset: remove_singular_assignee_from_issues_and_pull_requests - patch: - properties: - assignee: null - required: - - closed_at - - comments - - comments_url - - events_url - - html_url - - id - - node_id - - labels - - labels_url - - milestone - - number - - repository_url - - state - - locked - - title - - url - - user - - created_at - - updated_at - type: object - version: '2026-03-10' - nullable: true - issue-event-label: - title: Issue Event Label - description: Issue Event Label + - performed_via_github_app + review-request-removed-issue-event: + title: Review Request Removed Issue Event + description: Review Request Removed Issue Event type: object properties: - name: + id: + type: integer + node_id: + type: string + url: + type: string + actor: + $ref: '#/components/schemas/simple-user' + event: + type: string + commit_id: type: string nullable: true - color: + commit_url: type: string nullable: true + created_at: + type: string + performed_via_github_app: + $ref: '#/components/schemas/nullable-integration' + review_requester: + $ref: '#/components/schemas/simple-user' + requested_team: + $ref: '#/components/schemas/team' + requested_reviewer: + $ref: '#/components/schemas/simple-user' required: - - name - - color - team: - title: Team - description: >- - Groups of organization members that gives permissions on specified - repositories. + - review_requester + - id + - node_id + - url + - actor + - event + - commit_id + - commit_url + - created_at + - performed_via_github_app + review-dismissed-issue-event: + title: Review Dismissed Issue Event + description: Review Dismissed Issue Event type: object properties: id: type: integer node_id: type: string - name: + url: type: string - slug: + actor: + $ref: '#/components/schemas/simple-user' + event: type: string - description: + commit_id: type: string nullable: true - privacy: - type: string - notification_setting: + commit_url: type: string - permission: + nullable: true + created_at: type: string - permissions: + performed_via_github_app: + $ref: '#/components/schemas/nullable-integration' + dismissed_review: type: object properties: - pull: - type: boolean - triage: - type: boolean - push: - type: boolean - maintain: - type: boolean - admin: - type: boolean + state: + type: string + review_id: + type: integer + dismissal_message: + nullable: true + type: string + dismissal_commit_id: + type: string required: - - pull - - triage - - push - - maintain - - admin - url: - type: string - format: uri - html_url: - type: string - format: uri - example: https://github.com/orgs/rails/teams/core - members_url: - type: string - repositories_url: - type: string - format: uri - type: - description: The ownership type of the team - type: string - enum: - - enterprise - - organization - organization_id: - type: integer - description: Unique identifier of the organization to which this team belongs - example: 37 - enterprise_id: - type: integer - description: Unique identifier of the enterprise to which this team belongs - example: 42 - parent: - $ref: '#/components/schemas/nullable-team-simple' + - state + - review_id + - dismissal_message required: + - dismissed_review - id - node_id - url - - members_url - - name - - description - - permission - - html_url - - repositories_url - - slug - - parent - - type - issue-event-dismissed-review: - title: Issue Event Dismissed Review + - actor + - event + - commit_id + - commit_url + - created_at + - performed_via_github_app + locked-issue-event: + title: Locked Issue Event + description: Locked Issue Event type: object properties: - state: - type: string - review_id: + id: type: integer - dismissal_message: - type: string - nullable: true - dismissal_commit_id: - type: string - nullable: true - required: - - state - - review_id - - dismissal_message - issue-event-milestone: - title: Issue Event Milestone - description: Issue Event Milestone - type: object - properties: - title: + node_id: type: string - required: - - title - issue-event-project-card: - title: Issue Event Project Card - description: Issue Event Project Card - type: object - properties: url: type: string - format: uri - id: - type: integer - project_url: + actor: + $ref: '#/components/schemas/simple-user' + event: type: string - format: uri - project_id: - type: integer - column_name: + commit_id: type: string - previous_column_name: + nullable: true + commit_url: type: string - required: - - url - - id - - project_url - - project_id - - column_name - issue-event-rename: - title: Issue Event Rename - description: Issue Event Rename - type: object - properties: - from: + nullable: true + created_at: type: string - to: + performed_via_github_app: + $ref: '#/components/schemas/nullable-integration' + lock_reason: type: string + example: '"off-topic"' + nullable: true required: - - from - - to - labeled-issue-event: - title: Labeled Issue Event - description: Labeled Issue Event + - lock_reason + - id + - node_id + - url + - actor + - event + - commit_id + - commit_url + - created_at + - performed_via_github_app + added-to-project-issue-event: + title: Added to Project Issue Event + description: Added to Project Issue Event type: object properties: id: @@ -6643,18 +8243,30 @@ components: type: string performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - label: + project_card: type: object properties: - name: + id: + type: integer + url: type: string - color: + format: uri + project_id: + type: integer + project_url: + type: string + format: uri + column_name: + type: string + previous_column_name: type: string required: - - name - - color + - id + - url + - project_id + - project_url + - column_name required: - - label - id - node_id - url @@ -6664,9 +8276,9 @@ components: - commit_url - created_at - performed_via_github_app - unlabeled-issue-event: - title: Unlabeled Issue Event - description: Unlabeled Issue Event + moved-column-in-project-issue-event: + title: Moved Column in Project Issue Event + description: Moved Column in Project Issue Event type: object properties: id: @@ -6689,18 +8301,30 @@ components: type: string performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - label: + project_card: type: object properties: - name: + id: + type: integer + url: type: string - color: + format: uri + project_id: + type: integer + project_url: + type: string + format: uri + column_name: + type: string + previous_column_name: type: string required: - - name - - color + - id + - url + - project_id + - project_url + - column_name required: - - label - id - node_id - url @@ -6710,9 +8334,9 @@ components: - commit_url - created_at - performed_via_github_app - assigned-issue-event: - title: Assigned Issue Event - description: Assigned Issue Event + removed-from-project-issue-event: + title: Removed from Project Issue Event + description: Removed from Project Issue Event type: object properties: id: @@ -6734,11 +8358,30 @@ components: created_at: type: string performed_via_github_app: - $ref: '#/components/schemas/integration' - assignee: - $ref: '#/components/schemas/simple-user' - assigner: - $ref: '#/components/schemas/simple-user' + $ref: '#/components/schemas/nullable-integration' + project_card: + type: object + properties: + id: + type: integer + url: + type: string + format: uri + project_id: + type: integer + project_url: + type: string + format: uri + column_name: + type: string + previous_column_name: + type: string + required: + - id + - url + - project_id + - project_url + - column_name required: - id - node_id @@ -6749,11 +8392,9 @@ components: - commit_url - created_at - performed_via_github_app - - assignee - - assigner - unassigned-issue-event: - title: Unassigned Issue Event - description: Unassigned Issue Event + converted-note-to-issue-issue-event: + title: Converted Note to Issue Issue Event + description: Converted Note to Issue Issue Event type: object properties: id: @@ -6775,11 +8416,30 @@ components: created_at: type: string performed_via_github_app: - $ref: '#/components/schemas/nullable-integration' - assignee: - $ref: '#/components/schemas/simple-user' - assigner: - $ref: '#/components/schemas/simple-user' + $ref: '#/components/schemas/integration' + project_card: + type: object + properties: + id: + type: integer + url: + type: string + format: uri + project_id: + type: integer + project_url: + type: string + format: uri + column_name: + type: string + previous_column_name: + type: string + required: + - id + - url + - project_id + - project_url + - column_name required: - id - node_id @@ -6790,11 +8450,9 @@ components: - commit_url - created_at - performed_via_github_app - - assignee - - assigner - milestoned-issue-event: - title: Milestoned Issue Event - description: Milestoned Issue Event + issue-type-added-issue-event: + title: Issue Type Added Issue Event + description: Issue Type Added Issue Event type: object properties: id: @@ -6817,15 +8475,12 @@ components: type: string performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - milestone: - type: object - properties: - title: - type: string - required: - - title + issue_type: + $ref: '#/components/schemas/issue-type-webhook' + intent: + $ref: '#/components/schemas/nullable-issue-event-intent' required: - - milestone + - issue_type - id - node_id - url @@ -6835,9 +8490,9 @@ components: - commit_url - created_at - performed_via_github_app - demilestoned-issue-event: - title: Demilestoned Issue Event - description: Demilestoned Issue Event + issue-type-removed-issue-event: + title: Issue Type Removed Issue Event + description: Issue Type Removed Issue Event type: object properties: id: @@ -6860,15 +8515,12 @@ components: type: string performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - milestone: - type: object - properties: - title: - type: string - required: - - title + prev_issue_type: + $ref: '#/components/schemas/issue-type-webhook' + intent: + $ref: '#/components/schemas/nullable-issue-event-intent' required: - - milestone + - prev_issue_type - id - node_id - url @@ -6878,9 +8530,9 @@ components: - commit_url - created_at - performed_via_github_app - renamed-issue-event: - title: Renamed Issue Event - description: Renamed Issue Event + issue-type-changed-issue-event: + title: Issue Type Changed Issue Event + description: Issue Type Changed Issue Event type: object properties: id: @@ -6903,18 +8555,15 @@ components: type: string performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - rename: - type: object - properties: - from: - type: string - to: - type: string - required: - - from - - to + issue_type: + $ref: '#/components/schemas/issue-type-webhook' + prev_issue_type: + $ref: '#/components/schemas/issue-type-webhook' + intent: + $ref: '#/components/schemas/nullable-issue-event-intent' required: - - rename + - issue_type + - prev_issue_type - id - node_id - url @@ -6924,9 +8573,9 @@ components: - commit_url - created_at - performed_via_github_app - review-requested-issue-event: - title: Review Requested Issue Event - description: Review Requested Issue Event + sub-issue-added-issue-event: + title: Sub-issue Added Issue Event + description: Sub-issue Added Issue Event type: object properties: id: @@ -6949,14 +8598,10 @@ components: type: string performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - review_requester: - $ref: '#/components/schemas/simple-user' - requested_team: - $ref: '#/components/schemas/team' - requested_reviewer: - $ref: '#/components/schemas/simple-user' + sub_issue: + $ref: '#/components/schemas/nullable-issue-reference' required: - - review_requester + - sub_issue - id - node_id - url @@ -6966,9 +8611,9 @@ components: - commit_url - created_at - performed_via_github_app - review-request-removed-issue-event: - title: Review Request Removed Issue Event - description: Review Request Removed Issue Event + sub-issue-removed-issue-event: + title: Sub-issue Removed Issue Event + description: Sub-issue Removed Issue Event type: object properties: id: @@ -6991,14 +8636,10 @@ components: type: string performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - review_requester: - $ref: '#/components/schemas/simple-user' - requested_team: - $ref: '#/components/schemas/team' - requested_reviewer: - $ref: '#/components/schemas/simple-user' + sub_issue: + $ref: '#/components/schemas/nullable-issue-reference' required: - - review_requester + - sub_issue - id - node_id - url @@ -7008,9 +8649,9 @@ components: - commit_url - created_at - performed_via_github_app - review-dismissed-issue-event: - title: Review Dismissed Issue Event - description: Review Dismissed Issue Event + parent-issue-added-issue-event: + title: Parent-issue Added Issue Event + description: Parent-issue Added Issue Event type: object properties: id: @@ -7033,24 +8674,10 @@ components: type: string performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - dismissed_review: - type: object - properties: - state: - type: string - review_id: - type: integer - dismissal_message: - nullable: true - type: string - dismissal_commit_id: - type: string - required: - - state - - review_id - - dismissal_message + parent_issue: + $ref: '#/components/schemas/nullable-issue-reference' required: - - dismissed_review + - parent_issue - id - node_id - url @@ -7060,9 +8687,9 @@ components: - commit_url - created_at - performed_via_github_app - locked-issue-event: - title: Locked Issue Event - description: Locked Issue Event + parent-issue-removed-issue-event: + title: Parent-issue Removed Issue Event + description: Parent-issue Removed Issue Event type: object properties: id: @@ -7085,12 +8712,10 @@ components: type: string performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - lock_reason: - type: string - example: '"off-topic"' - nullable: true + parent_issue: + $ref: '#/components/schemas/nullable-issue-reference' required: - - lock_reason + - parent_issue - id - node_id - url @@ -7100,9 +8725,9 @@ components: - commit_url - created_at - performed_via_github_app - added-to-project-issue-event: - title: Added to Project Issue Event - description: Added to Project Issue Event + blocked-by-added-issue-event: + title: Blocked-by Added Issue Event + description: Blocked-by Added Issue Event type: object properties: id: @@ -7125,30 +8750,10 @@ components: type: string performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - project_card: - type: object - properties: - id: - type: integer - url: - type: string - format: uri - project_id: - type: integer - project_url: - type: string - format: uri - column_name: - type: string - previous_column_name: - type: string - required: - - id - - url - - project_id - - project_url - - column_name + blocked_by: + $ref: '#/components/schemas/nullable-issue-reference' required: + - blocked_by - id - node_id - url @@ -7158,9 +8763,9 @@ components: - commit_url - created_at - performed_via_github_app - moved-column-in-project-issue-event: - title: Moved Column in Project Issue Event - description: Moved Column in Project Issue Event + blocked-by-removed-issue-event: + title: Blocked-by Removed Issue Event + description: Blocked-by Removed Issue Event type: object properties: id: @@ -7183,30 +8788,10 @@ components: type: string performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - project_card: - type: object - properties: - id: - type: integer - url: - type: string - format: uri - project_id: - type: integer - project_url: - type: string - format: uri - column_name: - type: string - previous_column_name: - type: string - required: - - id - - url - - project_id - - project_url - - column_name + blocked_by: + $ref: '#/components/schemas/nullable-issue-reference' required: + - blocked_by - id - node_id - url @@ -7216,9 +8801,9 @@ components: - commit_url - created_at - performed_via_github_app - removed-from-project-issue-event: - title: Removed from Project Issue Event - description: Removed from Project Issue Event + blocking-added-issue-event: + title: Blocking Added Issue Event + description: Blocking Added Issue Event type: object properties: id: @@ -7241,30 +8826,10 @@ components: type: string performed_via_github_app: $ref: '#/components/schemas/nullable-integration' - project_card: - type: object - properties: - id: - type: integer - url: - type: string - format: uri - project_id: - type: integer - project_url: - type: string - format: uri - column_name: - type: string - previous_column_name: - type: string - required: - - id - - url - - project_id - - project_url - - column_name + blocking: + $ref: '#/components/schemas/nullable-issue-reference' required: + - blocking - id - node_id - url @@ -7274,9 +8839,9 @@ components: - commit_url - created_at - performed_via_github_app - converted-note-to-issue-issue-event: - title: Converted Note to Issue Issue Event - description: Converted Note to Issue Issue Event + blocking-removed-issue-event: + title: Blocking Removed Issue Event + description: Blocking Removed Issue Event type: object properties: id: @@ -7289,40 +8854,20 @@ components: $ref: '#/components/schemas/simple-user' event: type: string - commit_id: - type: string - nullable: true - commit_url: - type: string - nullable: true - created_at: - type: string - performed_via_github_app: - $ref: '#/components/schemas/integration' - project_card: - type: object - properties: - id: - type: integer - url: - type: string - format: uri - project_id: - type: integer - project_url: - type: string - format: uri - column_name: - type: string - previous_column_name: - type: string - required: - - id - - url - - project_id - - project_url - - column_name + commit_id: + type: string + nullable: true + commit_url: + type: string + nullable: true + created_at: + type: string + performed_via_github_app: + $ref: '#/components/schemas/nullable-integration' + blocking: + $ref: '#/components/schemas/nullable-issue-reference' required: + - blocking - id - node_id - url @@ -7400,6 +8945,8 @@ components: $ref: '#/components/schemas/reaction-rollup' pin: $ref: '#/components/schemas/nullable-pinned-issue-comment' + minimized: + $ref: '#/components/schemas/nullable-issue-comment-minimized' required: - event - actor @@ -7705,6 +9252,8 @@ components: $ref: '#/components/schemas/nullable-integration' assignee: $ref: '#/components/schemas/simple-user' + intent: + $ref: '#/components/schemas/nullable-issue-event-intent' required: - id - node_id @@ -7782,6 +9331,8 @@ components: state_reason: type: string nullable: true + intent: + $ref: '#/components/schemas/nullable-issue-event-intent' required: - id - node_id @@ -7965,6 +9516,307 @@ components: - slug - type nullable: true + simple-repository: + title: Simple Repository + description: A GitHub repository. + type: object + properties: + id: + type: integer + format: int64 + example: 1296269 + description: A unique identifier of the repository. + node_id: + type: string + example: MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + description: The GraphQL identifier of the repository. + name: + type: string + example: Hello-World + description: The name of the repository. + full_name: + type: string + example: octocat/Hello-World + description: The full, globally unique, name of the repository. + owner: + $ref: '#/components/schemas/simple-user' + private: + type: boolean + description: Whether the repository is private. + html_url: + type: string + format: uri + example: https://github.com/octocat/Hello-World + description: The URL to view the repository on GitHub.com. + description: + type: string + example: This your first repo! + nullable: true + description: The repository description. + fork: + type: boolean + description: Whether the repository is a fork. + url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World + description: >- + The URL to get more information about the repository from the GitHub + API. + archive_url: + type: string + example: >- + https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + description: A template for the API URL to download the repository as an archive. + assignees_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/assignees{/user} + description: >- + A template for the API URL to list the available assignees for + issues in the repository. + blobs_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} + description: >- + A template for the API URL to create or retrieve a raw Git blob in + the repository. + branches_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/branches{/branch} + description: >- + A template for the API URL to get information about branches in the + repository. + collaborators_url: + type: string + example: >- + https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + description: >- + A template for the API URL to get information about collaborators of + the repository. + comments_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/comments{/number} + description: >- + A template for the API URL to get information about comments on the + repository. + commits_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/commits{/sha} + description: >- + A template for the API URL to get information about commits on the + repository. + compare_url: + type: string + example: >- + https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + description: A template for the API URL to compare two commits or refs. + contents_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/contents/{+path} + description: A template for the API URL to get the contents of the repository. + contributors_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/contributors + description: >- + A template for the API URL to list the contributors to the + repository. + deployments_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/deployments + description: The API URL to list the deployments of the repository. + downloads_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/downloads + description: The API URL to list the downloads on the repository. + events_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/events + description: The API URL to list the events of the repository. + forks_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/forks + description: The API URL to list the forks of the repository. + git_commits_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + description: >- + A template for the API URL to get information about Git commits of + the repository. + git_refs_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} + description: >- + A template for the API URL to get information about Git refs of the + repository. + git_tags_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} + description: >- + A template for the API URL to get information about Git tags of the + repository. + issue_comment_url: + type: string + example: >- + https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + description: >- + A template for the API URL to get information about issue comments + on the repository. + issue_events_url: + type: string + example: >- + https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + description: >- + A template for the API URL to get information about issue events on + the repository. + issues_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/issues{/number} + description: >- + A template for the API URL to get information about issues on the + repository. + keys_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} + description: >- + A template for the API URL to get information about deploy keys on + the repository. + labels_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/labels{/name} + description: >- + A template for the API URL to get information about labels of the + repository. + languages_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/languages + description: >- + The API URL to get information about the languages of the + repository. + merges_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/merges + description: The API URL to merge branches in the repository. + milestones_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/milestones{/number} + description: >- + A template for the API URL to get information about milestones of + the repository. + notifications_url: + type: string + example: >- + https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + description: >- + A template for the API URL to get information about notifications on + the repository. + pulls_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/pulls{/number} + description: >- + A template for the API URL to get information about pull requests on + the repository. + releases_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/releases{/id} + description: >- + A template for the API URL to get information about releases on the + repository. + stargazers_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/stargazers + description: The API URL to list the stargazers on the repository. + statuses_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/statuses/{sha} + description: >- + A template for the API URL to get information about statuses of a + commit. + subscribers_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/subscribers + description: The API URL to list the subscribers on the repository. + subscription_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/subscription + description: The API URL to subscribe to notifications for this repository. + tags_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/tags + description: The API URL to get information about tags on the repository. + teams_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/teams + description: The API URL to list the teams on the repository. + trees_url: + type: string + example: https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} + description: >- + A template for the API URL to create or retrieve a raw Git tree of + the repository. + hooks_url: + type: string + format: uri + example: https://api.github.com/repos/octocat/Hello-World/hooks + description: The API URL to list the hooks on the repository. + required: + - archive_url + - assignees_url + - blobs_url + - branches_url + - collaborators_url + - comments_url + - commits_url + - compare_url + - contents_url + - contributors_url + - deployments_url + - description + - downloads_url + - events_url + - fork + - forks_url + - full_name + - git_commits_url + - git_refs_url + - git_tags_url + - hooks_url + - html_url + - id + - node_id + - issue_comment_url + - issue_events_url + - issues_url + - keys_url + - labels_url + - languages_url + - merges_url + - milestones_url + - name + - notifications_url + - owner + - private + - pulls_url + - releases_url + - stargazers_url + - statuses_url + - subscribers_url + - subscription_url + - tags_url + - teams_url + - trees_url + - url integration: title: GitHub app description: >- @@ -8600,23 +10452,24 @@ components: required: true schema: type: integer - milestone-number: - name: milestone_number - description: The number that identifies the milestone. + issue-field-id: + name: issue_field_id + description: The unique identifier of the issue field. in: path required: true schema: type: integer - repository-id: - name: repository_id - description: The unique identifier of the repository. - in: path - required: true + issue-timeline-exclude: + name: exclude + in: query + description: >- + A comma-separated list of timeline event names to exclude from the + response. schema: - type: integer - issue-field-id: - name: issue_field_id - description: The unique identifier of the issue field. + type: string + milestone-number: + name: milestone_number + description: The number that identifies the milestone. in: path required: true schema: @@ -9194,6 +11047,12 @@ components: site_admin: false author_association: COLLABORATOR state_reason: completed + x-github-breaking-changes: + - changeset: remove_singular_assignee_from_issues_and_pull_requests + patch: + - op: remove + path: /value/assignee + version: '2026-03-10' issue-comment-items: value: - id: 1 @@ -9224,6 +11083,7 @@ components: updated_at: '2011-04-14T16:00:49Z' issue_url: https://api.github.com/repos/octocat/Hello-World/issues/1347 author_association: COLLABORATOR + minimized: null issue-comment: value: id: 1 @@ -9255,6 +11115,7 @@ components: issue_url: https://api.github.com/repos/octocat/Hello-World/issues/1347 author_association: COLLABORATOR pin: null + minimized: null issue-comment-pinned: value: id: 1 @@ -9857,6 +11718,12 @@ components: site_admin: false author_association: COLLABORATOR state_reason: completed + x-github-breaking-changes: + - changeset: remove_singular_assignee_from_issues_and_pull_requests + patch: + - op: remove + path: /value/assignee + version: '2026-03-10' issue-event-for-issue-items: value: - id: 1 @@ -9893,10 +11760,12 @@ components: issue-field-value-items: value: - issue_field_id: 1 + issue_field_name: DRI node_id: IFT_GDKND data_type: text value: DRI - issue_field_id: 2 + issue_field_name: Priority node_id: IFSS_SADMS data_type: single_select value: 1 @@ -9905,13 +11774,27 @@ components: name: High color: red - issue_field_id: 3 + issue_field_name: Points node_id: IFN_POINTS data_type: number value: 42 - issue_field_id: 4 + issue_field_name: Due Date node_id: IFD_DUEDATE data_type: date value: '2025-12-25' + - issue_field_id: 5 + issue_field_name: Labels + node_id: IFMS_LABELS + data_type: multi_select + value: Frontend,Backend + multi_select_options: + - id: 1 + name: Frontend + color: blue + - id: 2 + name: Backend + color: green label-items: value: - id: 208045946 @@ -9937,6 +11820,53 @@ components: description: Something isn't working color: f29513 default: true + issue-suggestions: + value: + - id: 12 + issue_id: 4567 + action: add_label + state: pending + target_id: 208045946 + target_value: null + rationale: >- + This looks like a bug report based on the stack trace in the + description. + confidence: HIGH + actor_id: 41898282 + issue_event_id: null + resolved_by: null + created_at: '2026-06-01T14:20:00Z' + updated_at: '2026-06-01T14:20:00Z' + - id: 13 + issue_id: 4567 + action: set_type + state: pending + target_id: 3 + target_value: Bug + rationale: The report describes unexpected behaviour with reproduction steps. + confidence: MEDIUM + actor_id: 41898282 + issue_event_id: null + resolved_by: null + created_at: '2026-06-01T14:21:00Z' + updated_at: '2026-06-01T14:21:00Z' + issue-suggestion: + value: + id: 12 + issue_id: 4567 + action: add_label + state: approved + target_id: 208045946 + target_value: null + rationale: >- + This looks like a bug report based on the stack trace in the + description. + confidence: HIGH + actor_id: 41898282 + issue_event_id: 6430295168 + resolved_by: 583231 + created_at: '2026-06-01T14:20:00Z' + updated_at: '2026-06-01T15:05:00Z' timeline-issue-events: value: - id: 6430295168 @@ -10534,7 +12464,7 @@ components: algorithm: naive operation: $ref: >- - #/paths/~1repositories~1{repository_id}~1issues~1{issue_number}~1issue-field-values/post + #/paths/~1repos~1{owner}~1{repo}~1issues~1{issue_number}~1issue-field-values/post response: mediaType: application/json openAPIDocKey: '200' @@ -10544,14 +12474,14 @@ components: algorithm: naive operation: $ref: >- - #/paths/~1repositories~1{repository_id}~1issues~1{issue_number}~1issue-field-values/put + #/paths/~1repos~1{owner}~1{repo}~1issues~1{issue_number}~1issue-field-values/put response: mediaType: application/json openAPIDocKey: '200' delete_issue_field_value: operation: $ref: >- - #/paths/~1repositories~1{repository_id}~1issues~1{issue_number}~1issue-field-values~1{issue_field_id}/delete + #/paths/~1repos~1{owner}~1{repo}~1issues~1{issue_number}~1issue-field-values~1{issue_field_id}/delete response: mediaType: application/json openAPIDocKey: '204' @@ -10750,6 +12680,40 @@ components: - $ref: >- #/components/x-stackQL-resources/issue_sub_issues/methods/remove_sub_issue replace: [] + issue_suggestions: + id: github.issues.issue_suggestions + name: issue_suggestions + title: Issue Suggestions + methods: + list_suggestions: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1issues~1{issue_number}~1suggestions/get + response: + mediaType: application/json + openAPIDocKey: '200' + approve_suggestion: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1issues~1{issue_number}~1suggestions~1{suggestion_id}~1approve/post + response: + mediaType: application/json + openAPIDocKey: '200' + dismiss_suggestion: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1issues~1{issue_number}~1suggestions~1{suggestion_id}~1dismiss/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/issue_suggestions/methods/list_suggestions + insert: [] + update: [] + delete: [] + replace: [] timeline: id: github.issues.timeline name: timeline @@ -10850,3 +12814,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/licenses.yaml b/providers/src/github/v00.00.00000/services/licenses.yaml index be6d6d89..40429550 100644 --- a/providers/src/github/v00.00.00000/services/licenses.yaml +++ b/providers/src/github/v00.00.00000/services/licenses.yaml @@ -689,3 +689,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/markdown.yaml b/providers/src/github/v00.00.00000/services/markdown.yaml index cc528e4a..b24355d6 100644 --- a/providers/src/github/v00.00.00000/services/markdown.yaml +++ b/providers/src/github/v00.00.00000/services/markdown.yaml @@ -196,3 +196,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/meta.yaml b/providers/src/github/v00.00.00000/services/meta.yaml index 760bfa58..e4221d41 100644 --- a/providers/src/github/v00.00.00000/services/meta.yaml +++ b/providers/src/github/v00.00.00000/services/meta.yaml @@ -39,7 +39,8 @@ paths: addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." - The API's response also includes a list of GitHub's domain names. + The API's response also includes a list of GitHub's domain names, and + the public keys used by GitHub to sign commits made through the web UI. The values shown in the documentation's response are example values. You @@ -127,9 +128,10 @@ paths: schema: type: array items: - type: string - format: date - example: '2021-01-01' + type: object + properties: + meta/get_all_version: + type: string examples: default: value: @@ -425,6 +427,12 @@ components: type: string example: - 192.0.2.1 + commit_signing_keys: + type: array + items: + type: string + example: + - ABCDEFGHIJKLMNOPQRSTUVWXYZ domains: type: object properties: @@ -452,6 +460,12 @@ components: type: string example: - example.com + storage: + type: array + items: + type: string + example: + - example.com actions: type: array items: @@ -599,6 +613,8 @@ components: - 192.0.2.1 copilot: - 192.0.2.1 + commit_signing_keys: + - ABCDEFGHIJKLMNOPQRSTUVWXYZ domains: website: - '*.example.com' @@ -722,3 +738,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/migrations.yaml b/providers/src/github/v00.00.00000/services/migrations.yaml index 40c449da..e0cd6524 100644 --- a/providers/src/github/v00.00.00000/services/migrations.yaml +++ b/providers/src/github/v00.00.00000/services/migrations.yaml @@ -581,7 +581,7 @@ paths: default: value: vcs: subversion - vcs_url: http://svn.mycompany.com/svn/myproject + vcs_url: http://svn.example.com/svn/myproject vcs_username: octocat vcs_password: secret responses: @@ -4162,7 +4162,7 @@ components: value: vcs: subversion use_lfs: true - vcs_url: http://svn.mycompany.com/svn/myproject + vcs_url: http://svn.example.com/svn/myproject status: complete status_text: Done has_large_files: true @@ -4177,7 +4177,7 @@ components: value: vcs: subversion use_lfs: true - vcs_url: http://svn.mycompany.com/svn/myproject + vcs_url: http://svn.example.com/svn/myproject status: importing status_text: Importing... has_large_files: false @@ -4194,7 +4194,7 @@ components: value: vcs: subversion use_lfs: true - vcs_url: http://svn.mycompany.com/svn/myproject + vcs_url: http://svn.example.com/svn/myproject status: detecting url: https://api.github.com/repos/octocat/socm/import html_url: https://import.github.com/octocat/socm/import @@ -4205,7 +4205,7 @@ components: value: vcs: tfvc use_lfs: true - vcs_url: http://tfs.mycompany.com/tfs/myproject + vcs_url: http://tfs.example.com/tfs/myproject tfvc_project: project1 status: importing status_text: Importing... @@ -4223,7 +4223,7 @@ components: value: vcs: subversion use_lfs: true - vcs_url: http://svn.mycompany.com/svn/myproject + vcs_url: http://svn.example.com/svn/myproject status: importing status_text: Importing... has_large_files: false @@ -5014,3 +5014,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/oidc.yaml b/providers/src/github/v00.00.00000/services/oidc.yaml index 65172e9f..f2ea4179 100644 --- a/providers/src/github/v00.00.00000/services/oidc.yaml +++ b/providers/src/github/v00.00.00000/services/oidc.yaml @@ -339,6 +339,13 @@ paths: type: array items: type: string + use_immutable_subject: + description: >- + Whether to opt in to the immutable OIDC subject claim format + for the organization. When `true`, new OIDC tokens will use + a stable, repository-ID-based `sub` claim instead of the + name-based format. + type: boolean examples: default: $ref: '#/components/examples/oidc-custom-sub' @@ -406,6 +413,12 @@ components: type: array items: type: string + use_immutable_subject: + description: >- + Whether to opt in to the immutable OIDC subject claim format for the + organization. When `true`, new OIDC tokens will use a stable, + repository-ID-based `sub` claim instead of the name-based format. + type: boolean required: - include_claim_keys empty-object: @@ -580,3 +593,11 @@ components: #/components/x-stackQL-resources/oidc/methods/update_oidc_custom_sub_template_for_org servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/orgs.yaml b/providers/src/github/v00.00.00000/services/orgs.yaml index 549b1970..49a736cd 100644 --- a/providers/src/github/v00.00.00000/services/orgs.yaml +++ b/providers/src/github/v00.00.00000/services/orgs.yaml @@ -7,16 +7,11 @@ paths: /organizations: get: summary: List organizations - description: >- + description: |- Lists all organizations, in the order that they were created. - > [!NOTE] - - > Pagination is powered exclusively by the `since` parameter. Use the - [Link - header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) - to get the URL for the next page of organizations. + > Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. tags: - orgs operationId: orgs/list @@ -54,28 +49,16 @@ paths: /orgs/{org}: get: summary: Get an organization - description: >- + description: |- Gets information about an organization. + When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, outside collaborators, guest collaborators, repository collaborators, or everyone with access to any repository within the organization to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - When the value of `two_factor_requirement_enabled` is `true`, the - organization requires all members, billing managers, outside - collaborators, guest collaborators, repository collaborators, or - everyone with access to any repository within the organization to enable - [two-factor - authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - - - To see the full details about an organization, the authenticated user - must be an organization owner. - - - OAuth app tokens and personal access tokens (classic) need the - `admin:org` scope to see the full details about an organization. + To see the full details about an organization, the authenticated user must be an organization owner. + OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. - To see information about an organization's GitHub plan, GitHub Apps need - the `Organization plan` permission. + To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission. tags: - orgs operationId: orgs/get @@ -104,40 +87,18 @@ paths: x-stackQL-resource: orgs patch: summary: Update an organization - description: >- + description: |- > [!WARNING] - - > **Closing down notice:** GitHub will replace and discontinue - `members_allowed_repository_creation_type` in favor of more granular - permissions. The new input parameters are - `members_can_create_public_repositories`, - `members_can_create_private_repositories` for all organizations and - `members_can_create_internal_repositories` for organizations associated - with an enterprise account using GitHub Enterprise Cloud or GitHub - Enterprise Server 2.20+. For more information, see the [blog - post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). - + > **Closing down notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). > [!WARNING] - - > **Closing down notice:** Code security product enablement for new - repositories through the organization API is closing down. Please use - [code security - configurations](https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization) - to set defaults instead. For more information on setting a default - security configuration, see the - [changelog](https://github.blog/changelog/2024-07-09-sunsetting-security-settings-defaults-parameters-in-the-organizations-rest-api/). - + > **Closing down notice:** Code security product enablement for new repositories through the organization API is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization) to set defaults instead. For more information on setting a default security configuration, see the [changelog](https://github.blog/changelog/2024-07-09-sunsetting-security-settings-defaults-parameters-in-the-organizations-rest-api/). Updates the organization's profile and member privileges. + The authenticated user must be an organization owner to use this endpoint. - The authenticated user must be an organization owner to use this - endpoint. - - - OAuth app tokens and personal access tokens (classic) need the - `admin:org` or `repo` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org` or `repo` scope to use this endpoint. tags: - orgs operationId: orgs/update @@ -173,22 +134,16 @@ paths: description: The shorthand name of the company. description: type: string - description: >- - The description of the company. The maximum size is 160 - characters. + description: The description of the company. The maximum size is 160 characters. has_organization_projects: type: boolean description: Whether an organization can use organization projects. has_repository_projects: type: boolean - description: >- - Whether repositories that belong to the organization can use - repository projects. + description: Whether repositories that belong to the organization can use repository projects. default_repository_permission: type: string - description: >- - Default permission level members have for organization - repositories. + description: Default permission level members have for organization repositories. enum: - read - write @@ -197,246 +152,124 @@ paths: default: read members_can_create_repositories: type: boolean - description: >- - Whether of non-admin organization members can create - repositories. **Note:** A parameter can override this - parameter. See `members_allowed_repository_creation_type` in - this table for details. + description: Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. default: true members_can_create_internal_repositories: type: boolean - description: >- - Whether organization members can create internal - repositories, which are visible to all enterprise members. - You can only allow members to create internal repositories - if your organization is associated with an enterprise - account using GitHub Enterprise Cloud or GitHub Enterprise - Server 2.20+. For more information, see "[Restricting - repository creation in your - organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" - in the GitHub Help documentation. + description: Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. members_can_create_private_repositories: type: boolean - description: >- - Whether organization members can create private - repositories, which are visible to organization members with - permission. For more information, see "[Restricting - repository creation in your - organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" - in the GitHub Help documentation. + description: Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. members_can_create_public_repositories: type: boolean - description: >- - Whether organization members can create public repositories, - which are visible to anyone. For more information, see - "[Restricting repository creation in your - organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" - in the GitHub Help documentation. + description: Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. members_allowed_repository_creation_type: type: string - description: >- - Specifies which types of repositories non-admin organization - members can create. `private` is only available to - repositories that are part of an organization on GitHub - Enterprise Cloud. - - **Note:** This parameter is closing down and will be removed - in the future. Its return value ignores internal - repositories. Using this parameter overrides values set in - `members_can_create_repositories`. See the parameter - deprecation notice in the operation description for details. + description: |- + Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + **Note:** This parameter is closing down and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. enum: - all - private - none members_can_create_pages: type: boolean - description: >- - Whether organization members can create GitHub Pages sites. - Existing published sites will not be impacted. + description: Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. default: true members_can_create_public_pages: type: boolean - description: >- - Whether organization members can create public GitHub Pages - sites. Existing published sites will not be impacted. + description: Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted. default: true members_can_create_private_pages: type: boolean - description: >- - Whether organization members can create private GitHub Pages - sites. Existing published sites will not be impacted. + description: Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted. default: true members_can_fork_private_repositories: type: boolean - description: >- - Whether organization members can fork private organization - repositories. + description: Whether organization members can fork private organization repositories. default: false web_commit_signoff_required: type: boolean - description: >- - Whether contributors to organization repositories are - required to sign off on commits they make through GitHub's - web interface. + description: Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. default: false blog: type: string example: '"http://github.blog"' advanced_security_enabled_for_new_repositories: type: boolean - description: >- - **Endpoint closing down notice.** Please use [code security - configurations](https://docs.github.com/rest/code-security/configurations) - instead. - - - Whether GitHub Advanced Security is automatically enabled - for new repositories and repositories transferred to this - organization. - + description: |- + **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - To use this parameter, you must have admin permissions for - the repository or be an owner or security manager for the - organization that owns the repository. For more information, - see "[Managing security managers in your - organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to this organization. + To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - You can check which security and analysis features are - currently enabled by using a `GET /orgs/{org}` request. + You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. deprecated: true dependabot_alerts_enabled_for_new_repositories: type: boolean - description: >- - **Endpoint closing down notice.** Please use [code security - configurations](https://docs.github.com/rest/code-security/configurations) - instead. - - - Whether Dependabot alerts are automatically enabled for new - repositories and repositories transferred to this - organization. - + description: |- + **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - To use this parameter, you must have admin permissions for - the repository or be an owner or security manager for the - organization that owns the repository. For more information, - see "[Managing security managers in your - organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. + To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - You can check which security and analysis features are - currently enabled by using a `GET /orgs/{org}` request. + You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. deprecated: true dependabot_security_updates_enabled_for_new_repositories: type: boolean - description: >- - **Endpoint closing down notice.** Please use [code security - configurations](https://docs.github.com/rest/code-security/configurations) - instead. - - - Whether Dependabot security updates are automatically - enabled for new repositories and repositories transferred to - this organization. - + description: |- + **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - To use this parameter, you must have admin permissions for - the repository or be an owner or security manager for the - organization that owns the repository. For more information, - see "[Managing security managers in your - organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. + To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - You can check which security and analysis features are - currently enabled by using a `GET /orgs/{org}` request. + You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. deprecated: true dependency_graph_enabled_for_new_repositories: type: boolean - description: >- - **Endpoint closing down notice.** Please use [code security - configurations](https://docs.github.com/rest/code-security/configurations) - instead. - - - Whether dependency graph is automatically enabled for new - repositories and repositories transferred to this - organization. - + description: |- + **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - To use this parameter, you must have admin permissions for - the repository or be an owner or security manager for the - organization that owns the repository. For more information, - see "[Managing security managers in your - organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. + To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - You can check which security and analysis features are - currently enabled by using a `GET /orgs/{org}` request. + You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. deprecated: true secret_scanning_enabled_for_new_repositories: type: boolean - description: >- - **Endpoint closing down notice.** Please use [code security - configurations](https://docs.github.com/rest/code-security/configurations) - instead. - - - Whether secret scanning is automatically enabled for new - repositories and repositories transferred to this - organization. - + description: |- + **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - To use this parameter, you must have admin permissions for - the repository or be an owner or security manager for the - organization that owns the repository. For more information, - see "[Managing security managers in your - organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. + To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - You can check which security and analysis features are - currently enabled by using a `GET /orgs/{org}` request. + You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. deprecated: true secret_scanning_push_protection_enabled_for_new_repositories: type: boolean - description: >- - **Endpoint closing down notice.** Please use [code security - configurations](https://docs.github.com/rest/code-security/configurations) - instead. - - - Whether secret scanning push protection is automatically - enabled for new repositories and repositories transferred to - this organization. - + description: |- + **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - To use this parameter, you must have admin permissions for - the repository or be an owner or security manager for the - organization that owns the repository. For more information, - see "[Managing security managers in your - organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. + To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - You can check which security and analysis features are - currently enabled by using a `GET /orgs/{org}` request. + You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. deprecated: true secret_scanning_push_protection_custom_link_enabled: type: boolean - description: >- - Whether a custom link is shown to contributors who are - blocked from pushing a secret by push protection. + description: Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. secret_scanning_push_protection_custom_link: type: string - description: >- - If `secret_scanning_push_protection_custom_link_enabled` is - true, the URL that will be displayed to contributors who are - blocked from pushing a secret. + description: If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret. deploy_keys_enabled_for_repositories: type: boolean - description: >- - Controls whether or not deploy keys may be added and used - for repositories in the organization. + description: Controls whether or not deploy keys may be added and used for repositories in the organization. examples: default: value: @@ -524,16 +357,12 @@ paths: x-stackQL-resource: orgs delete: summary: Delete an organization - description: >- + description: |- Deletes an organization and all its repositories. - The organization login will be unavailable for 90 days after deletion. - - Please review the Terms of Service regarding account deletion before - using this endpoint: - + Please review the Terms of Service regarding account deletion before using this endpoint: https://docs.github.com/site-policy/github-terms/github-terms-of-service operationId: orgs/delete @@ -586,8 +415,7 @@ paths: operationId: orgs/create-artifact-deployment-record externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/artifact-metadata#create-an-artifact-deployment-record + url: https://docs.github.com/rest/orgs/artifact-metadata#create-an-artifact-deployment-record parameters: - $ref: '#/components/parameters/org' requestBody: @@ -618,9 +446,7 @@ paths: example: 1.2.3 status: type: string - description: >- - The status of the artifact. Can be either deployed or - decommissioned. + description: The status of the artifact. Can be either deployed or decommissioned. enum: - deployed - decommissioned @@ -639,13 +465,9 @@ paths: maxLength: 128 deployment_name: type: string - description: > - The unique identifier for the deployment represented by the - new record. To accommodate differing - - containers and namespaces within a cluster, the following - format is recommended: - + description: | + The unique identifier for the deployment represented by the new record. To accommodate differing + containers and namespaces within a cluster, the following format is recommended: {namespaceName}-{deploymentName}-{containerName}. maxLength: 256 tags: @@ -668,22 +490,13 @@ paths: - sensitive-data github_repository: type: string - description: >- - The name of the GitHub repository associated with the - artifact. This should be used - - when there are no provenance attestations available for the - artifact. The repository - - must belong to the organization specified in the path - parameter. - - - If a provenance attestation is available for the artifact, - the API will use + description: |- + The name of the GitHub repository associated with the artifact. This should be used + when there are no provenance attestations available for the artifact. The repository + must belong to the organization specified in the path parameter. - the repository information from the attestation instead of - this parameter. + If a provenance attestation is available for the artifact, the API will use + the repository information from the attestation instead of this parameter. minLength: 1 maxLength: 100 pattern: ^[A-Za-z0-9.\-_]+$ @@ -691,9 +504,8 @@ paths: return_records: type: boolean default: true - description: > - If true, the endpoint will return the created or updated - record in the response body. + description: | + If true, the endpoint will return the created or updated record in the response body. required: - name - digest @@ -704,8 +516,7 @@ paths: default: value: name: awesome-image - digest: >- - sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 + digest: sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 status: deployed logical_environment: prod physical_environment: pacific-east @@ -746,23 +557,21 @@ paths: /orgs/{org}/artifacts/metadata/deployment-record/cluster/{cluster}: post: summary: Set cluster deployment records - description: >- + description: |- Set deployment records for a given cluster. - - If proposed records in the 'deployments' field have identical 'cluster', - 'logical_environment', - - 'physical_environment', and 'deployment_name' values as existing - records, the existing records will be updated. - + If proposed records in the 'deployments' field have identical 'cluster', 'logical_environment', + 'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated. If no existing records match, new records will be created. + Note: Artifacts are uniquely identified by the combination of their repository and digest fields. If two entries in the deployments + array resolve to the same repository and have identical digest fields but differing name and version fields, the endpoint will use + the artifact name and version from the record processed first, since a single artifact (identified by repository and digest) can + only have one name and version. tags: - orgs operationId: orgs/set-cluster-deployment-records externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/artifact-metadata#set-cluster-deployment-records + url: https://docs.github.com/rest/orgs/artifact-metadata#set-cluster-deployment-records parameters: - $ref: '#/components/parameters/org' - name: cluster @@ -799,34 +608,18 @@ paths: properties: name: type: string - description: > - The name of the artifact. Note that if multiple - deployments have identical 'digest' parameter values, - - the name parameter must also be identical across all - entries. + description: The name of the artifact. minLength: 1 maxLength: 256 digest: type: string - description: > - The hex encoded digest of the artifact. Note that if - multiple deployments have identical 'digest' parameter - values, - - the name and version parameters must also be identical - across all entries. + description: The hex encoded digest of the artifact. minLength: 71 maxLength: 71 pattern: ^sha256:[a-f0-9]{64}$ version: type: string - description: > - The artifact version. Note that if multiple - deployments have identical 'digest' parameter values, - - the version parameter must also be identical across - all entries. + description: The artifact version. maxLength: 100 x-multi-segment: true example: 1.2.3 @@ -839,37 +632,22 @@ paths: - decommissioned deployment_name: type: string - description: > - The unique identifier for the deployment represented - by the new record. To accommodate differing - - containers and namespaces within a record set, the - following format is recommended: - + description: | + The unique identifier for the deployment represented by the new record. To accommodate differing + containers and namespaces within a record set, the following format is recommended: {namespaceName}-{deploymentName}-{containerName}. - - The deployment_name must be unique across all entries - in the deployments array. + The deployment_name must be unique across all entries in the deployments array. minLength: 1 maxLength: 256 github_repository: type: string - description: >- - The name of the GitHub repository associated with the - artifact. This should be used - - when there are no provenance attestations available - for the artifact. The repository - - must belong to the organization specified in the path - parameter. - + description: |- + The name of the GitHub repository associated with the artifact. This should be used + when there are no provenance attestations available for the artifact. The repository + must belong to the organization specified in the path parameter. - If a provenance attestation is available for the - artifact, the API will use - - the repository information from the attestation - instead of this parameter. + If a provenance attestation is available for the artifact, the API will use + the repository information from the attestation instead of this parameter. maxLength: 100 pattern: ^[A-Za-z0-9.\-_]+$ example: my-github-repo @@ -880,9 +658,7 @@ paths: type: string runtime_risks: type: array - description: >- - A list of runtime risks associated with the - deployment. + description: A list of runtime risks associated with the deployment. maxItems: 4 uniqueItems: true items: @@ -896,12 +672,19 @@ paths: - name - deployment_name - digest + partial_success: + type: boolean + default: false + description: | + When enabled, deployments associated with repositories the actor can write to are processed + while deployments associated with repositories that cannot be resolved or written to by the actor + are skipped and reported in the `errors` array. When false (the default), the endpoint returns + an error if any targeted repository cannot be resolved, the actor lacks write access, or no matching attestation can be found. return_records: type: boolean default: true - description: > - If true, the endpoint will return the set records in the - response body + description: | + If true, the endpoint will return the set records in the response body required: - logical_environment - deployments @@ -912,13 +695,14 @@ paths: physical_environment: pacific-east deployments: - name: awesome-image - digest: >- - sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 + digest: sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 version: 2.1.0 status: deployed deployment_name: deployment-pod tags: - runtime-risk: sensitive-data + owning-team: platform + runtime_risks: + - sensitive-data responses: '200': description: | @@ -940,6 +724,103 @@ paths: examples: default: $ref: '#/components/examples/artifact-deployment-record-list' + '207': + description: | + This response format is only returned when `partial_success` is set to true in the request body. + Successfully processed deployments are included in the `deployment_records` field. Records that could + not be processed and were skipped because of unresolvable repositories, missing actor permissions, or lack of a matching attestation are + included in the `errors` field. + content: + application/json: + schema: + type: object + properties: + total_count: + description: The number of deployment records created or updated. + type: integer + deployment_records: + type: array + items: + $ref: '#/components/schemas/artifact-deployment-record' + errors: + type: array + description: A list of errors for deployments that could not be processed. + items: + type: object + properties: + cause: + type: string + description: The reason the deployment failed processing. + enum: + - unauthorized + - not_found + deployment: + type: object + description: The deployment payload that could not be processed. + properties: + name: + type: string + description: The name of the artifact. + digest: + type: string + description: The digest of the artifact. + deployment_name: + type: string + description: The name of the deployment that failed processing. + version: + type: string + nullable: true + description: The version of the deployment. + status: + type: string + description: The deployment status. + github_repository: + type: string + nullable: true + description: The repository associated with the deployment. + tags: + type: object + additionalProperties: + type: string + description: Custom metadata tags for the deployment. + runtime_risks: + type: array + items: + type: string + description: Runtime risk classifications for the deployment. + required: + - total_count + examples: + partial_success: + value: + total_count: 1 + deployment_records: + - id: 42 + digest: sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 + logical_environment: prod + physical_environment: us-east-1a + cluster: production-cluster + deployment_name: deployment-pod + tags: + owning-team: platform + runtime_risks: + - sensitive-data + created_at: '2024-01-01T12:00:00Z' + updated_at: '2024-01-01T12:30:00Z' + attestation_id: 777 + errors: + - cause: unauthorized + deployment: + name: my-image + digest: sha256:5aa19f9a13f67a644f6d8528e2eb5cf64431e236df5dbbd44ff9b9e3f6fc6cb2 + deployment_name: restricted-deployment + version: 2.1.1 + status: deployed + github_repository: private-repo + tags: + owning-team: platform + runtime_risks: + - sensitive-data '403': description: Forbidden content: @@ -950,40 +831,55 @@ paths: insufficient_repo_permissions: value: message: - cause: >- - artifact metadata write permission required on one or - more repositories + cause: artifact metadata write permission required on one or more repositories repositories: - 123 - 345 '404': - $ref: '#/components/responses/not_found' + description: Resource not found + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + examples: + not_found: + value: + message: + cause: One or more repositories do not exist + repositories: + - repoA + - repoB x-github: githubCloudOnly: false enabledForGitHubApps: true category: orgs subcategory: artifact-metadata x-stackQL-resource: artifact_metadata - /orgs/{org}/artifacts/metadata/storage-record: + /orgs/{org}/artifacts/metadata/deployment-record/cluster/{cluster}/jobs: post: - summary: Create artifact metadata storage record - description: >- - Create metadata storage records for artifacts associated with an - organization. - - This endpoint will create a new artifact storage record on behalf of any - artifact matching the provided digest and - - associated with a repository owned by the organization. + summary: Create a cluster deployment records job + description: |- + Create a background job to set deployment records for a given cluster. + Performs validation and permission checks synchronously, returning rejected + deployments immediately, then enqueues a background job for the actual + deployment updates. Use the companion GET endpoint to poll for job status. tags: - orgs - operationId: orgs/create-artifact-storage-record + operationId: orgs/create-cluster-deployment-records-job externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/artifact-metadata#create-artifact-metadata-storage-record + url: https://docs.github.com/rest/orgs/artifact-metadata#create-a-cluster-deployment-records-job parameters: - $ref: '#/components/parameters/org' + - name: cluster + in: path + description: The cluster name. + required: true + schema: + type: string + minLength: 1 + maxLength: 128 + pattern: ^[a-zA-Z0-9._-]+$ requestBody: required: true content: @@ -991,85 +887,328 @@ paths: schema: type: object properties: - name: - type: string - description: The name of the artifact. - example: libfoo - minLength: 1 - maxLength: 256 - digest: - type: string - description: The digest of the artifact (algorithm:hex-encoded-digest). - example: sha256:0ecbaa601dba202129058746c7d8e3f282d0efb5fff0... - minLength: 71 - maxLength: 71 - pattern: ^sha256:[a-f0-9]{64}$ - version: - type: string - description: The artifact version. - minLength: 1 - maxLength: 100 - x-multi-segment: true - example: 1.2.3 - artifact_url: - type: string - format: uri - pattern: ^https:// - description: The URL where the artifact is stored. - example: https://reg.example.com/artifactory/bar/libfoo-1.2.3 - path: - type: string - format: uri - description: The path of the artifact. - example: com/github/bar/libfoo-1.2.3 - registry_url: + logical_environment: type: string - format: uri - pattern: ^https:// - description: The base URL of the artifact registry. - example: https://reg.example.com/artifactory/ + description: The stage of the deployment. minLength: 1 - repository: - type: string - description: The repository name within the registry. - example: bar - status: - type: string - description: The status of the artifact (e.g., active, inactive). - example: active - enum: - - active - - eol - - deleted - default: active - github_repository: + maxLength: 128 + physical_environment: type: string - description: >- - The name of the GitHub repository associated with the - artifact. This should be used - - when there are no provenance attestations available for the - artifact. The repository - - must belong to the organization specified in the path - parameter. - - - If a provenance attestation is available for the artifact, - the API will use - - the repository information from the attestation instead of - this parameter. - minLength: 1 - maxLength: 100 - pattern: ^[A-Za-z0-9.\-_]+$ - example: my-github-repo - return_records: - type: boolean - default: true - description: > - If true, the endpoint will return the created record in the - response body. + description: The physical region of the deployment. + maxLength: 128 + deployments: + type: array + description: The list of deployments to record. + maxItems: 5000 + items: + type: object + properties: + name: + type: string + description: The name of the artifact. + minLength: 1 + maxLength: 256 + digest: + type: string + description: The hex encoded digest of the artifact. + minLength: 71 + maxLength: 71 + pattern: ^sha256:[a-f0-9]{64}$ + version: + type: string + description: The artifact version. + maxLength: 100 + x-multi-segment: true + example: 1.2.3 + status: + type: string + description: The deployment status of the artifact. + default: deployed + enum: + - deployed + - decommissioned + deployment_name: + type: string + description: | + The unique identifier for the deployment represented by the new record. + minLength: 1 + maxLength: 256 + github_repository: + type: string + description: The name of the GitHub repository associated with the artifact. + maxLength: 100 + pattern: ^[A-Za-z0-9.\-_]+$ + example: my-github-repo + tags: + type: object + description: Key-value pairs to tag the deployment record. + additionalProperties: + type: string + runtime_risks: + type: array + description: A list of runtime risks associated with the deployment. + maxItems: 4 + uniqueItems: true + items: + type: string + enum: + - critical-resource + - internet-exposed + - lateral-movement + - sensitive-data + required: + - name + - deployment_name + - digest + required: + - logical_environment + - deployments + examples: + default: + value: + logical_environment: prod + physical_environment: pacific-east + deployments: + - name: awesome-image + digest: sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 + version: 2.1.0 + status: deployed + deployment_name: deployment-pod + tags: + owning-team: platform + runtime_risks: + - sensitive-data + responses: + '202': + description: | + Job created successfully. Authorized deployments will be processed in the background. + content: + application/json: + schema: + type: object + properties: + job_id: + description: The ID of the created job. + type: integer + errors: + description: Deployments that were rejected during authorization. + type: array + items: + type: string + description: (opaque JSON object) + required: + - job_id + examples: + default: + value: + job_id: 123 + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + '404': + description: Resource not found + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + '409': + description: A job is already in progress for this cluster. + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: orgs + subcategory: artifact-metadata + x-stackQL-resource: artifact_metadata + /orgs/{org}/artifacts/metadata/deployment-record/cluster/{cluster}/jobs/{job_id}: + get: + summary: Get cluster deployment records job status + description: Get the status and results of a previously created cluster deployment records job. + tags: + - orgs + operationId: orgs/get-cluster-deployment-records-job + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/orgs/artifact-metadata#get-cluster-deployment-records-job-status + parameters: + - $ref: '#/components/parameters/org' + - name: cluster + in: path + description: The cluster name. + required: true + schema: + type: string + minLength: 1 + maxLength: 128 + pattern: ^[a-zA-Z0-9._-]+$ + - name: job_id + in: path + description: The ID of the job. + required: true + schema: + type: integer + responses: + '200': + description: | + Job status retrieved successfully. + content: + application/json: + schema: + type: object + properties: + job_id: + description: The ID of the job. + type: integer + status: + description: The current status of the job. + type: string + enum: + - pending + - processing + - completed + - failed + started_at: + description: When the job started processing (only present when processing, completed, or failed). + type: string + format: date-time + total_count: + description: The number of records successfully mutated (only present when completed). + type: integer + errors: + description: Processing errors (only present when completed or failed). + type: array + items: + type: string + description: (opaque JSON object) + required: + - job_id + - status + examples: + default: + value: + job_id: 123 + status: completed + started_at: '2026-06-10T12:00:00Z' + total_count: 5 + '404': + description: Resource not found + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: orgs + subcategory: artifact-metadata + x-stackQL-resource: artifact_metadata + /orgs/{org}/artifacts/metadata/storage-record: + post: + summary: Create artifact metadata storage record + description: |- + Create metadata storage records for artifacts associated with an organization. + This endpoint will create a new artifact storage record on behalf of any artifact matching the provided digest and + associated with a repository owned by the organization. + tags: + - orgs + operationId: orgs/create-artifact-storage-record + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/orgs/artifact-metadata#create-artifact-metadata-storage-record + parameters: + - $ref: '#/components/parameters/org' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the artifact. + example: libfoo + minLength: 1 + maxLength: 256 + digest: + type: string + description: The digest of the artifact (algorithm:hex-encoded-digest). + example: sha256:0ecbaa601dba202129058746c7d8e3f282d0efb5fff0... + minLength: 71 + maxLength: 71 + pattern: ^sha256:[a-f0-9]{64}$ + version: + type: string + description: The artifact version. + minLength: 1 + maxLength: 100 + x-multi-segment: true + example: 1.2.3 + artifact_url: + type: string + format: uri + pattern: ^https:// + description: The URL where the artifact is stored. + example: https://reg.example.com/artifactory/bar/libfoo-1.2.3 + maxLength: 152 + path: + type: string + format: uri + description: The path of the artifact. + example: com/github/bar/libfoo-1.2.3 + maxLength: 512 + registry_url: + type: string + format: uri + pattern: ^https:// + description: The base URL of the artifact registry. + example: https://reg.example.com/artifactory/ + minLength: 1 + maxLength: 256 + repository: + type: string + description: The repository name within the registry. + example: bar + maxLength: 128 + status: + type: string + description: The status of the artifact (e.g., active, inactive). + example: active + enum: + - active + - eol + - deleted + default: active + github_repository: + type: string + description: |- + The name of the GitHub repository associated with the artifact. This should be used + when there are no provenance attestations available for the artifact. The repository + must belong to the organization specified in the path parameter. + + If a provenance attestation is available for the artifact, the API will use + the repository information from the attestation instead of this parameter. + minLength: 1 + maxLength: 100 + pattern: ^[A-Za-z0-9.\-_]+$ + example: my-github-repo + return_records: + type: boolean + default: true + description: | + If true, the endpoint will return the created record in the response body. required: - name - digest @@ -1079,8 +1218,7 @@ paths: value: name: libfoo version: 1.2.3 - digest: >- - sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 + digest: sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 artifact_url: https://reg.example.com/artifactory/bar/libfoo-1.2.3 registry_url: https://reg.example.com/artifactory/ repository: bar @@ -1129,8 +1267,7 @@ paths: total_count: 1 storage_records: - name: libfoo - digest: >- - sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 + digest: sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 artifact_url: https://reg.example.com/artifactory/bar/libfoo-1.2.3 registry_url: https://reg.example.com/artifactory/ repository: bar @@ -1150,16 +1287,13 @@ paths: /orgs/{org}/artifacts/{subject_digest}/metadata/deployment-records: get: summary: List artifact deployment records - description: >- - List deployment records for an artifact metadata associated with an - organization. + description: List deployment records for an artifact metadata associated with an organization. tags: - orgs operationId: orgs/list-artifact-deployment-records externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/artifact-metadata#list-artifact-deployment-records + url: https://docs.github.com/rest/orgs/artifact-metadata#list-artifact-deployment-records parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/subject-digest' @@ -1172,9 +1306,7 @@ paths: type: object properties: total_count: - description: >- - The number of deployment records for this digest and - organization + description: The number of deployment records for this digest and organization example: 3 type: integer deployment_records: @@ -1193,33 +1325,23 @@ paths: /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records: get: summary: List artifact storage records - description: >- - List a collection of artifact storage records with a given subject - digest that are associated with repositories owned by an organization. - + description: |- + List artifact storage records with a given subject digest for repositories owned by an organization. - The collection of storage records returned by this endpoint is filtered - according to the authenticated user's permissions; if the authenticated - user cannot read a repository, the attestations associated with that - repository will not be included in the response. In addition, when using - a fine-grained access token the `content:read` permission is required. + Results are filtered by the authenticated user's permissions; records for repositories the user cannot read are omitted. Fine-grained access tokens require the `artifact-metadata:read` permission. tags: - orgs operationId: orgs/list-artifact-storage-records externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/artifact-metadata#list-artifact-storage-records + url: https://docs.github.com/rest/orgs/artifact-metadata#list-artifact-storage-records parameters: - $ref: '#/components/parameters/org' - name: subject_digest - description: >- - The parameter should be set to the attestation's subject's SHA256 - digest, in the form `sha256:HEX_DIGEST`. + description: The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. in: path required: true - example: >- - sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 + example: sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 schema: type: string minLength: 71 @@ -1235,9 +1357,7 @@ paths: type: object properties: total_count: - description: >- - The number of storage records for this digest and - organization + description: The number of storage records for this digest and organization example: 3 type: integer storage_records: @@ -1268,8 +1388,7 @@ paths: value: storage_records: - name: libfoo-1.2.3 - digest: >- - sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 + digest: sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 artifact_url: https://reg.example.com/artifactory/bar/libfoo-1.2.3 registry_url: https://reg.example.com/artifactory/ repository: bar @@ -1285,35 +1404,18 @@ paths: /orgs/{org}/attestations/bulk-list: post: summary: List attestations by bulk subject digests - description: >- - List a collection of artifact attestations associated with any entry in - a list of subject digests owned by an organization. - - - The collection of attestations returned by this endpoint is filtered - according to the authenticated user's permissions; if the authenticated - user cannot read a repository, the attestations associated with that - repository will not be included in the response. In addition, when using - a fine-grained access token the `attestations:read` permission is - required. - - - **Please note:** in order to offer meaningful security benefits, an - attestation's signature and timestamps **must** be cryptographically - verified, and the identity of the attestation signer **must** be - validated. Attestations can be verified using the [GitHub CLI - `attestation verify` - command](https://cli.github.com/manual/gh_attestation_verify). For more - information, see [our guide on how to use artifact attestations to - establish a build's - provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + description: |- + List a collection of artifact attestations associated with any entry in a list of subject digests owned by an organization. + + The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + + **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). tags: - orgs operationId: orgs/list-attestations-bulk externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/attestations#list-attestations-by-bulk-subject-digests + url: https://docs.github.com/rest/orgs/attestations#list-attestations-by-bulk-subject-digests parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/pagination-before' @@ -1335,13 +1437,9 @@ paths: maxItems: 1024 predicate_type: type: string - description: >- - Optional filter for fetching attestations with a given - predicate type. - - This option accepts `provenance`, `sbom`, `release`, or - freeform text - + description: |- + Optional filter for fetching attestations with a given predicate type. + This option accepts `provenance`, `sbom`, `release`, or freeform text for custom predicate types. required: - subject_digests @@ -1349,8 +1447,7 @@ paths: default: $ref: '#/components/examples/bulk-subject-digest-body' withPredicateType: - $ref: >- - #/components/examples/bulk-subject-digest-body-with-predicate-type + $ref: '#/components/examples/bulk-subject-digest-body-with-predicate-type' responses: '200': description: Response @@ -1431,16 +1528,13 @@ paths: /orgs/{org}/attestations/delete-request: post: summary: Delete attestations in bulk - description: >- - Delete artifact attestations in bulk by either subject digests or unique - ID. + description: Delete artifact attestations in bulk by either subject digests or unique ID. tags: - orgs operationId: orgs/delete-attestations-bulk externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/attestations#delete-attestations-in-bulk + url: https://docs.github.com/rest/orgs/attestations#delete-attestations-in-bulk parameters: - $ref: '#/components/parameters/org' requestBody: @@ -1449,26 +1543,20 @@ paths: application/json: schema: type: object - description: >- - The request body must include either `subject_digests` or - `attestation_ids`, but not both. + description: The request body must include either `subject_digests` or `attestation_ids`, but not both. properties: subject_digests: type: array items: type: string - description: >- - List of subject digests associated with the artifact - attestations to delete. + description: List of subject digests associated with the artifact attestations to delete. minItems: 1 maxItems: 1024 attestation_ids: type: array items: type: integer - description: >- - List of unique IDs associated with the artifact attestations - to delete. + description: List of unique IDs associated with the artifact attestations to delete. minItems: 1 maxItems: 1024 required: @@ -1507,8 +1595,7 @@ paths: operationId: orgs/delete-attestations-by-subject-digest externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/attestations#delete-attestations-by-subject-digest + url: https://docs.github.com/rest/orgs/attestations#delete-attestations-by-subject-digest parameters: - $ref: '#/components/parameters/org' - name: subject_digest @@ -1534,31 +1621,24 @@ paths: /orgs/{org}/attestations/repositories: get: summary: List attestation repositories - description: >- - List repositories owned by the provided organization that have created - at least one attested artifact - + description: |- + List repositories owned by the provided organization that have created at least one attested artifact Results will be sorted in ascending order by repository ID tags: - orgs operationId: orgs/list-attestation-repositories externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/attestations#list-attestation-repositories + url: https://docs.github.com/rest/orgs/attestations#list-attestation-repositories parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/pagination-before' - $ref: '#/components/parameters/pagination-after' - $ref: '#/components/parameters/org' - name: predicate_type - description: >- - Optional filter for fetching attestations with a given predicate - type. - - This option accepts `provenance`, `sbom`, `release`, or freeform - text - + description: |- + Optional filter for fetching attestations with a given predicate type. + This option accepts `provenance`, `sbom`, `release`, or freeform text for custom predicate types. in: query required: false @@ -1590,16 +1670,13 @@ paths: /orgs/{org}/attestations/{attestation_id}: delete: summary: Delete attestations by ID - description: >- - Delete an artifact attestation by unique ID that is associated with a - repository owned by an org. + description: Delete an artifact attestation by unique ID that is associated with a repository owned by an org. tags: - orgs operationId: orgs/delete-attestations-by-id externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/attestations#delete-attestations-by-id + url: https://docs.github.com/rest/orgs/attestations#delete-attestations-by-id parameters: - $ref: '#/components/parameters/org' - name: attestation_id @@ -1626,28 +1703,12 @@ paths: /orgs/{org}/attestations/{subject_digest}: get: summary: List attestations - description: >- - List a collection of artifact attestations with a given subject digest - that are associated with repositories owned by an organization. - - - The collection of attestations returned by this endpoint is filtered - according to the authenticated user's permissions; if the authenticated - user cannot read a repository, the attestations associated with that - repository will not be included in the response. In addition, when using - a fine-grained access token the `attestations:read` permission is - required. - - - **Please note:** in order to offer meaningful security benefits, an - attestation's signature and timestamps **must** be cryptographically - verified, and the identity of the attestation signer **must** be - validated. Attestations can be verified using the [GitHub CLI - `attestation verify` - command](https://cli.github.com/manual/gh_attestation_verify). For more - information, see [our guide on how to use artifact attestations to - establish a build's - provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + description: |- + List a collection of artifact attestations with a given subject digest that are associated with repositories owned by an organization. + + The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + + **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). tags: - orgs operationId: orgs/list-attestations @@ -1660,22 +1721,16 @@ paths: - $ref: '#/components/parameters/pagination-after' - $ref: '#/components/parameters/org' - name: subject_digest - description: >- - The parameter should be set to the attestation's subject's SHA256 - digest, in the form `sha256:HEX_DIGEST`. + description: The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. in: path required: true schema: type: string x-multi-segment: true - name: predicate_type - description: >- - Optional filter for fetching attestations with a given predicate - type. - - This option accepts `provenance`, `sbom`, `release`, or freeform - text - + description: |- + Optional filter for fetching attestations with a given predicate type. + This option accepts `provenance`, `sbom`, `release`, or freeform text for custom predicate types. in: query required: false @@ -1708,12 +1763,9 @@ paths: type: object properties: {} additionalProperties: true - description: >- + description: |- The attestation's Sigstore Bundle. - - Refer to the [Sigstore Bundle - Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) - for more information. + Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. repository_id: type: integer bundle_url: @@ -1754,8 +1806,7 @@ paths: operationId: orgs/list-blocked-users externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/blocking#list-users-blocked-by-an-organization + url: https://docs.github.com/rest/orgs/blocking#list-users-blocked-by-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/per-page' @@ -1781,17 +1832,13 @@ paths: /orgs/{org}/blocks/{username}: get: summary: Check if a user is blocked by an organization - description: >- - Returns a 204 if the given user is blocked by the given organization. - Returns a 404 if the organization is not blocking the user, or if the - user account has been identified as spam by GitHub. + description: Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. tags: - orgs operationId: orgs/check-blocked-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/blocking#check-if-a-user-is-blocked-by-an-organization + url: https://docs.github.com/rest/orgs/blocking#check-if-a-user-is-blocked-by-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -1812,17 +1859,13 @@ paths: x-stackQL-resource: blocking put: summary: Block a user from an organization - description: >- - Blocks the given user on behalf of the specified organization and - returns a 204. If the organization cannot block the given user a 422 is - returned. + description: Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. tags: - orgs operationId: orgs/block-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/blocking#block-a-user-from-an-organization + url: https://docs.github.com/rest/orgs/blocking#block-a-user-from-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -1845,8 +1888,7 @@ paths: operationId: orgs/unblock-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/blocking#unblock-a-user-from-an-organization + url: https://docs.github.com/rest/orgs/blocking#unblock-a-user-from-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -1862,17 +1904,13 @@ paths: /orgs/{org}/failed_invitations: get: summary: List failed organization invitations - description: >- - The return hash contains `failed_at` and `failed_reason` fields which - represent the time at which the invitation failed and the reason for the - failure. + description: The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. tags: - orgs operationId: orgs/list-failed-invitations externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#list-failed-organization-invitations + url: https://docs.github.com/rest/orgs/members#list-failed-organization-invitations parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/per-page' @@ -1903,19 +1941,13 @@ paths: /orgs/{org}/hooks: get: summary: List organization webhooks - description: >- + description: |- List webhooks for an organization. + The authenticated user must be an organization owner to use this endpoint. - The authenticated user must be an organization owner to use this - endpoint. - - - OAuth app tokens and personal access tokens (classic) need - `admin:org_hook` scope. OAuth apps cannot list, view, or edit - - webhooks that they did not create and users cannot list, view, or edit - webhooks that were created by OAuth apps. + OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. tags: - orgs operationId: orgs/list-webhooks @@ -1951,25 +1983,19 @@ paths: x-stackQL-resource: webhooks post: summary: Create an organization webhook - description: >- + description: |- Create a hook that posts payloads in JSON format. - You must be an organization owner to use this endpoint. - - OAuth app tokens and personal access tokens (classic) need - `admin:org_hook` scope. OAuth apps cannot list, view, or - - edit webhooks that they did not create and users cannot list, view, or - edit webhooks that were created by OAuth apps. + OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or + edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. tags: - orgs operationId: orgs/create-webhook externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/webhooks#create-an-organization-webhook + url: https://docs.github.com/rest/orgs/webhooks#create-an-organization-webhook parameters: - $ref: '#/components/parameters/org' requestBody: @@ -2004,20 +2030,14 @@ paths: - url events: type: array - description: >- - Determines what - [events](https://docs.github.com/webhooks/event-payloads) - the hook is triggered for. Set to `["*"]` to receive all - possible events. + description: Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `["*"]` to receive all possible events. default: - push items: type: string active: type: boolean - description: >- - Determines if notifications are sent when the webhook is - triggered. Set to `true` to send notifications. + description: Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. default: true required: - name @@ -2061,21 +2081,14 @@ paths: /orgs/{org}/hooks/{hook_id}: get: summary: Get an organization webhook - description: >- + description: |- Returns a webhook configured in an organization. To get only the webhook - - `config` properties, see "[Get a webhook configuration for an - organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization). - + `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization). You must be an organization owner to use this endpoint. - - OAuth app tokens and personal access tokens (classic) need - `admin:org_hook` scope. OAuth apps cannot list, view, or edit - - webhooks that they did not create and users cannot list, view, or edit - webhooks that were created by OAuth apps. + OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. tags: - orgs operationId: orgs/get-webhook @@ -2105,38 +2118,23 @@ paths: x-stackQL-resource: webhooks patch: summary: Update an organization webhook - description: >- - Updates a webhook configured in an organization. When you update a - webhook, - - the `secret` will be overwritten. If you previously had a `secret` set, - you must - - provide the same `secret` or set a new `secret` or the secret will be - removed. If - - you are only updating individual webhook `config` properties, use - "[Update a webhook - - configuration for an - organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)". - + description: |- + Updates a webhook configured in an organization. When you update a webhook, + the `secret` will be overwritten. If you previously had a `secret` set, you must + provide the same `secret` or set a new `secret` or the secret will be removed. If + you are only updating individual webhook `config` properties, use "[Update a webhook + configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)". You must be an organization owner to use this endpoint. - - OAuth app tokens and personal access tokens (classic) need - `admin:org_hook` scope. OAuth apps cannot list, view, or edit - - webhooks that they did not create and users cannot list, view, or edit - webhooks that were created by OAuth apps. + OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. tags: - orgs operationId: orgs/update-webhook externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/webhooks#update-an-organization-webhook + url: https://docs.github.com/rest/orgs/webhooks#update-an-organization-webhook parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/hook-id' @@ -2163,19 +2161,14 @@ paths: - url events: type: array - description: >- - Determines what - [events](https://docs.github.com/webhooks/event-payloads) - the hook is triggered for. + description: Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. default: - push items: type: string active: type: boolean - description: >- - Determines if notifications are sent when the webhook is - triggered. Set to `true` to send notifications. + description: Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. default: true name: type: string @@ -2208,26 +2201,19 @@ paths: x-stackQL-resource: webhooks delete: summary: Delete an organization webhook - description: >- + description: |- Delete a webhook for an organization. + The authenticated user must be an organization owner to use this endpoint. - The authenticated user must be an organization owner to use this - endpoint. - - - OAuth app tokens and personal access tokens (classic) need - `admin:org_hook` scope. OAuth apps cannot list, view, or edit - - webhooks that they did not create and users cannot list, view, or edit - webhooks that were created by OAuth apps. + OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. tags: - orgs operationId: orgs/delete-webhook externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/webhooks#delete-an-organization-webhook + url: https://docs.github.com/rest/orgs/webhooks#delete-an-organization-webhook parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/hook-id' @@ -2245,28 +2231,19 @@ paths: /orgs/{org}/hooks/{hook_id}/config: get: summary: Get a webhook configuration for an organization - description: >- - Returns the webhook configuration for an organization. To get more - information about the webhook, including the `active` state and - `events`, use "[Get an organization webhook - ](/rest/orgs/webhooks#get-an-organization-webhook)." - + description: |- + Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." You must be an organization owner to use this endpoint. - - OAuth app tokens and personal access tokens (classic) need - `admin:org_hook` scope. OAuth apps cannot list, view, or edit - - webhooks that they did not create and users cannot list, view, or edit - webhooks that were created by OAuth apps. + OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. tags: - orgs operationId: orgs/get-webhook-config-for-org externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization + url: https://docs.github.com/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/hook-id' @@ -2288,28 +2265,19 @@ paths: x-stackQL-resource: webhooks patch: summary: Update a webhook configuration for an organization - description: >- - Updates the webhook configuration for an organization. To update more - information about the webhook, including the `active` state and - `events`, use "[Update an organization webhook - ](/rest/orgs/webhooks#update-an-organization-webhook)." - + description: |- + Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." You must be an organization owner to use this endpoint. - - OAuth app tokens and personal access tokens (classic) need - `admin:org_hook` scope. OAuth apps cannot list, view, or edit - - webhooks that they did not create and users cannot list, view, or edit - webhooks that were created by OAuth apps. + OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. tags: - orgs operationId: orgs/update-webhook-config-for-org externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization + url: https://docs.github.com/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/hook-id' @@ -2355,26 +2323,19 @@ paths: /orgs/{org}/hooks/{hook_id}/deliveries: get: summary: List deliveries for an organization webhook - description: >- - Returns a list of webhook deliveries for a webhook configured in an - organization. - + description: |- + Returns a list of webhook deliveries for a webhook configured in an organization. You must be an organization owner to use this endpoint. - - OAuth app tokens and personal access tokens (classic) need - `admin:org_hook` scope. OAuth apps cannot list, view, or edit - - webhooks that they did not create and users cannot list, view, or edit - webhooks that were created by OAuth apps. + OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. tags: - orgs operationId: orgs/list-webhook-deliveries externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook + url: https://docs.github.com/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/hook-id' @@ -2406,25 +2367,19 @@ paths: /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}: get: summary: Get a webhook delivery for an organization webhook - description: >- + description: |- Returns a delivery for a webhook configured in an organization. - You must be an organization owner to use this endpoint. - - OAuth app tokens and personal access tokens (classic) need - `admin:org_hook` scope. OAuth apps cannot list, view, or edit - - webhooks that they did not create and users cannot list, view, or edit - webhooks that were created by OAuth apps. + OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. tags: - orgs operationId: orgs/get-webhook-delivery externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/webhooks#get-a-webhook-delivery-for-an-organization-webhook + url: https://docs.github.com/rest/orgs/webhooks#get-a-webhook-delivery-for-an-organization-webhook parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/hook-id' @@ -2452,25 +2407,19 @@ paths: /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts: post: summary: Redeliver a delivery for an organization webhook - description: >- + description: |- Redeliver a delivery for a webhook configured in an organization. - You must be an organization owner to use this endpoint. - - OAuth app tokens and personal access tokens (classic) need - `admin:org_hook` scope. OAuth apps cannot list, view, or edit - - webhooks that they did not create and users cannot list, view, or edit - webhooks that were created by OAuth apps. + OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. tags: - orgs operationId: orgs/redeliver-webhook-delivery externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/webhooks#redeliver-a-delivery-for-an-organization-webhook + url: https://docs.github.com/rest/orgs/webhooks#redeliver-a-delivery-for-an-organization-webhook parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/hook-id' @@ -2491,28 +2440,20 @@ paths: /orgs/{org}/hooks/{hook_id}/pings: post: summary: Ping an organization webhook - description: >- - This will trigger a [ping - event](https://docs.github.com/webhooks/#ping-event) - + description: |- + This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - You must be an organization owner to use this endpoint. - - OAuth app tokens and personal access tokens (classic) need - `admin:org_hook` scope. OAuth apps cannot list, view, or edit - - webhooks that they did not create and users cannot list, view, or edit - webhooks that were created by OAuth apps. + OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. tags: - orgs operationId: orgs/ping-webhook externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/webhooks#ping-an-organization-webhook + url: https://docs.github.com/rest/orgs/webhooks#ping-an-organization-webhook parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/hook-id' @@ -2530,16 +2471,16 @@ paths: /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}: get: summary: Get route stats by actor - description: >- - Get API request count statistics for an actor broken down by route - within a specified time frame. + description: |- + Get API request count statistics for an actor broken down by route within a specified time frame. + + Under normal conditions, you can expect API data to appear within 4–6 hours after making a request. During incidents or periods of unusually high volume, it may take longer to show up. tags: - orgs operationId: api-insights/get-route-stats-by-actor externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/api-insights#get-route-stats-by-actor + url: https://docs.github.com/rest/orgs/api-insights#get-route-stats-by-actor parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/api-insights-actor-type' @@ -2557,7 +2498,29 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/api-insights-route-stats' + type: array + items: + type: object + properties: + http_method: + description: The HTTP method + type: string + api_route: + description: The API path's route template + type: string + total_request_count: + description: The total number of requests within the queried time period + type: integer + format: int64 + rate_limited_request_count: + description: The total number of requests that were rate limited within the queried time period + type: integer + format: int64 + last_rate_limited_timestamp: + type: string + nullable: true + last_request_timestamp: + type: string examples: default: $ref: '#/components/examples/api-insights-route-stats' @@ -2569,9 +2532,10 @@ paths: /orgs/{org}/insights/api/subject-stats: get: summary: Get subject stats - description: >- - Get API request statistics for all subjects within an organization - within a specified time frame. Subjects can be users or GitHub Apps. + description: |- + Get API request statistics for all subjects within an organization within a specified time frame. Subjects can be users or GitHub Apps. + + Under normal conditions, you can expect API data to appear within 4–6 hours after making a request. During incidents or periods of unusually high volume, it may take longer to show up. tags: - orgs operationId: api-insights/get-subject-stats @@ -2593,7 +2557,26 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/api-insights-subject-stats' + type: array + items: + type: object + properties: + subject_type: + type: string + subject_name: + type: string + subject_id: + type: integer + format: int64 + total_request_count: + type: integer + rate_limited_request_count: + type: integer + last_rate_limited_timestamp: + type: string + nullable: true + last_request_timestamp: + type: string examples: default: $ref: '#/components/examples/api-insights-subject-stats' @@ -2605,9 +2588,10 @@ paths: /orgs/{org}/insights/api/summary-stats: get: summary: Get summary stats - description: >- - Get overall statistics of API requests made within an organization by - all users and apps within a specified time frame. + description: |- + Get overall statistics of API requests made within an organization by all users and apps within a specified time frame. + + Under normal conditions, you can expect API data to appear within 4–6 hours after making a request. During incidents or periods of unusually high volume, it may take longer to show up. tags: - orgs operationId: api-insights/get-summary-stats @@ -2636,16 +2620,16 @@ paths: /orgs/{org}/insights/api/summary-stats/users/{user_id}: get: summary: Get summary stats by user - description: >- - Get overall statistics of API requests within the organization for a - user. + description: |- + Get overall statistics of API requests within the organization for a user. + + Under normal conditions, you can expect API data to appear within 4–6 hours after making a request. During incidents or periods of unusually high volume, it may take longer to show up. tags: - orgs operationId: api-insights/get-summary-stats-by-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/api-insights#get-summary-stats-by-user + url: https://docs.github.com/rest/orgs/api-insights#get-summary-stats-by-user parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/api-insights-user-id' @@ -2669,17 +2653,16 @@ paths: /orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}: get: summary: Get summary stats by actor - description: >- - Get overall statistics of API requests within the organization made by a - specific actor. Actors can be GitHub App installations, OAuth apps or - other tokens on behalf of a user. + description: |- + Get overall statistics of API requests within the organization made by a specific actor. Actors can be GitHub App installations, OAuth apps or other tokens on behalf of a user. + + Under normal conditions, you can expect API data to appear within 4–6 hours after making a request. During incidents or periods of unusually high volume, it may take longer to show up. tags: - orgs operationId: api-insights/get-summary-stats-by-actor externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/api-insights#get-summary-stats-by-actor + url: https://docs.github.com/rest/orgs/api-insights#get-summary-stats-by-actor parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/api-insights-min-timestamp' @@ -2704,9 +2687,10 @@ paths: /orgs/{org}/insights/api/time-stats: get: summary: Get time stats - description: >- - Get the number of API requests and rate-limited requests made within an - organization over a specified time period. + description: |- + Get the number of API requests and rate-limited requests made within an organization over a specified time period. + + Under normal conditions, you can expect API data to appear within 4–6 hours after making a request. During incidents or periods of unusually high volume, it may take longer to show up. tags: - orgs operationId: api-insights/get-time-stats @@ -2724,7 +2708,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/api-insights-time-stats' + type: array + items: + type: object + properties: + timestamp: + type: string + total_request_count: + type: integer + format: int64 + rate_limited_request_count: + type: integer + format: int64 examples: default: $ref: '#/components/examples/api-insights-time-stats' @@ -2736,9 +2731,10 @@ paths: /orgs/{org}/insights/api/time-stats/users/{user_id}: get: summary: Get time stats by user - description: >- - Get the number of API requests and rate-limited requests made within an - organization by a specific user over a specified time period. + description: |- + Get the number of API requests and rate-limited requests made within an organization by a specific user over a specified time period. + + Under normal conditions, you can expect API data to appear within 4–6 hours after making a request. During incidents or periods of unusually high volume, it may take longer to show up. tags: - orgs operationId: api-insights/get-time-stats-by-user @@ -2757,7 +2753,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/api-insights-time-stats' + type: array + items: + type: object + properties: + timestamp: + type: string + total_request_count: + type: integer + format: int64 + rate_limited_request_count: + type: integer + format: int64 examples: default: $ref: '#/components/examples/api-insights-time-stats' @@ -2769,9 +2776,10 @@ paths: /orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}: get: summary: Get time stats by actor - description: >- - Get the number of API requests and rate-limited requests made within an - organization by a specific actor within a specified time period. + description: |- + Get the number of API requests and rate-limited requests made within an organization by a specific actor within a specified time period. + + Under normal conditions, you can expect API data to appear within 4–6 hours after making a request. During incidents or periods of unusually high volume, it may take longer to show up. tags: - orgs operationId: api-insights/get-time-stats-by-actor @@ -2791,7 +2799,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/api-insights-time-stats' + type: array + items: + type: object + properties: + timestamp: + type: string + total_request_count: + type: integer + format: int64 + rate_limited_request_count: + type: integer + format: int64 examples: default: $ref: '#/components/examples/api-insights-time-stats' @@ -2803,9 +2822,10 @@ paths: /orgs/{org}/insights/api/user-stats/{user_id}: get: summary: Get user stats - description: >- - Get API usage statistics within an organization for a user broken down - by the type of access. + description: |- + Get API usage statistics within an organization for a user broken down by the type of access. + + Under normal conditions, you can expect API data to appear within 4–6 hours after making a request. During incidents or periods of unusually high volume, it may take longer to show up. tags: - orgs operationId: api-insights/get-user-stats @@ -2828,7 +2848,34 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/api-insights-user-stats' + type: array + items: + type: object + properties: + actor_type: + type: string + actor_name: + type: string + actor_id: + type: integer + format: int64 + integration_id: + type: integer + format: int64 + nullable: true + oauth_application_id: + type: integer + format: int64 + nullable: true + total_request_count: + type: integer + rate_limited_request_count: + type: integer + last_rate_limited_timestamp: + type: string + nullable: true + last_request_timestamp: + type: string examples: default: $ref: '#/components/examples/api-insights-user-stats' @@ -2840,26 +2887,19 @@ paths: /orgs/{org}/installations: get: summary: List app installations for an organization - description: >- - Lists all GitHub Apps in an organization. The installation count - includes - + description: |- + Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. + The authenticated user must be an organization owner to use this endpoint. - The authenticated user must be an organization owner to use this - endpoint. - - - OAuth app tokens and personal access tokens (classic) need the - `admin:read` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:read` scope to use this endpoint. tags: - orgs operationId: orgs/list-app-installations externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/orgs#list-app-installations-for-an-organization + url: https://docs.github.com/rest/orgs/orgs#list-app-installations-for-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/per-page' @@ -2896,22 +2936,17 @@ paths: /orgs/{org}/invitations: get: summary: List pending organization invitations - description: >- + description: |- The return hash contains a `role` field which refers to the Organization - - Invitation role and will be one of the following values: - `direct_member`, `admin`, - + Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub - member, the `login` field in the return hash will be `null`. tags: - orgs operationId: orgs/list-pending-invitations externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#list-pending-organization-invitations + url: https://docs.github.com/rest/orgs/members#list-pending-organization-invitations parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/per-page' @@ -2965,27 +3000,17 @@ paths: x-stackQL-resource: members post: summary: Create an organization invitation - description: >- - Invite people to an organization by using their GitHub user ID or their - email address. In order to create invitations in an organization, the - authenticated user must be an organization owner. - - - This endpoint triggers - [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - Creating content too quickly using this endpoint may result in secondary - rate limiting. For more information, see "[Rate limits for the - API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + description: |- + Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. - and "[Best practices for using the REST - API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." tags: - orgs operationId: orgs/create-invitation externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#create-an-organization-invitation + url: https://docs.github.com/rest/orgs/members#create-an-organization-invitation parameters: - $ref: '#/components/parameters/org' requestBody: @@ -2997,15 +3022,10 @@ paths: properties: invitee_id: type: integer - description: >- - **Required unless you provide `email`**. GitHub user ID for - the person you are inviting. + description: '**Required unless you provide `email`**. GitHub user ID for the person you are inviting.' email: type: string - description: >- - **Required unless you provide `invitee_id`**. Email address - of the person you are inviting, which can be an existing - GitHub user. + description: '**Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user.' role: type: string description: |- @@ -3057,20 +3077,16 @@ paths: /orgs/{org}/invitations/{invitation_id}: delete: summary: Cancel an organization invitation - description: >- - Cancel an organization invitation. In order to cancel an organization - invitation, the authenticated user must be an organization owner. - + description: |- + Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. - This endpoint triggers - [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). tags: - orgs operationId: orgs/cancel-invitation externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#cancel-an-organization-invitation + url: https://docs.github.com/rest/orgs/members#cancel-an-organization-invitation parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/invitation-id' @@ -3091,17 +3107,13 @@ paths: /orgs/{org}/invitations/{invitation_id}/teams: get: summary: List organization invitation teams - description: >- - List all teams associated with an invitation. In order to see - invitations in an organization, the authenticated user must be an - organization owner. + description: List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. tags: - orgs operationId: orgs/list-invitation-teams externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#list-organization-invitation-teams + url: https://docs.github.com/rest/orgs/members#list-organization-invitation-teams parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/invitation-id' @@ -3133,17 +3145,13 @@ paths: /orgs/{org}/issue-fields: get: summary: List issue fields for an organization - description: >- - Lists all issue fields for an organization. OAuth app tokens and - personal access tokens (classic) need the read:org scope to use this - endpoint. + description: Lists all issue fields for an organization. OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint. tags: - orgs operationId: orgs/list-issue-fields externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/issue-fields#list-issue-fields-for-an-organization + url: https://docs.github.com/rest/orgs/issue-fields#list-issue-fields-for-an-organization parameters: - $ref: '#/components/parameters/org' responses: @@ -3168,26 +3176,19 @@ paths: x-stackQL-resource: issue_fields post: summary: Create issue field for an organization - description: >- + description: |- Creates a new issue field for an organization. + You can find out more about issue fields in [Managing issue fields in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/using-issues/managing-issue-fields-in-an-organization). - You can find out more about issue fields in [Managing issue fields in an - organization](https://docs.github.com/issues/tracking-your-work-with-issues/using-issues/managing-issue-fields-in-an-organization). - - - To use this endpoint, the authenticated user must be an administrator - for the organization. OAuth app tokens and - - personal access tokens (classic) need the `admin:org` scope to use this - endpoint. + To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/create-issue-field externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/issue-fields#create-issue-field-for-an-organization + url: https://docs.github.com/rest/orgs/issue-fields#create-issue-field-for-an-organization parameters: - $ref: '#/components/parameters/org' requestBody: @@ -3235,26 +3236,19 @@ paths: /orgs/{org}/issue-fields/{issue_field_id}: patch: summary: Update issue field for an organization - description: >- + description: |- Updates an issue field for an organization. + You can find out more about issue fields in [Managing issue fields in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/using-issues/managing-issue-fields-in-an-organization). - You can find out more about issue fields in [Managing issue fields in an - organization](https://docs.github.com/issues/tracking-your-work-with-issues/using-issues/managing-issue-fields-in-an-organization). - - - To use this endpoint, the authenticated user must be an administrator - for the organization. OAuth app tokens and - - personal access tokens (classic) need the `admin:org` scope to use this - endpoint. + To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/update-issue-field externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/issue-fields#update-issue-field-for-an-organization + url: https://docs.github.com/rest/orgs/issue-fields#update-issue-field-for-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/issue-field-id' @@ -3317,26 +3311,19 @@ paths: x-stackQL-resource: issue_fields delete: summary: Delete issue field for an organization - description: >- + description: |- Deletes an issue field for an organization. + You can find out more about issue fields in [Managing issue fields in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/using-issues/managing-issue-fields-in-an-organization). - You can find out more about issue fields in [Managing issue fields in an - organization](https://docs.github.com/issues/tracking-your-work-with-issues/using-issues/managing-issue-fields-in-an-organization). - - - To use this endpoint, the authenticated user must be an administrator - for the organization. OAuth app tokens and - - personal access tokens (classic) need the `admin:org` scope to use this - endpoint. + To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/delete-issue-field externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/issue-fields#delete-issue-field-for-an-organization + url: https://docs.github.com/rest/orgs/issue-fields#delete-issue-field-for-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/issue-field-id' @@ -3356,16 +3343,13 @@ paths: /orgs/{org}/issue-types: get: summary: List issue types for an organization - description: >- - Lists all issue types for an organization. OAuth app tokens and personal - access tokens (classic) need the read:org scope to use this endpoint. + description: Lists all issue types for an organization. OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint. tags: - orgs operationId: orgs/list-issue-types externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/issue-types#list-issue-types-for-an-organization + url: https://docs.github.com/rest/orgs/issue-types#list-issue-types-for-an-organization parameters: - $ref: '#/components/parameters/org' responses: @@ -3390,26 +3374,19 @@ paths: x-stackQL-resource: issue_types post: summary: Create issue type for an organization - description: >- + description: |- Create a new issue type for an organization. + You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). - You can find out more about issue types in [Managing issue types in an - organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). - - - To use this endpoint, the authenticated user must be an administrator - for the organization. OAuth app tokens and - - personal access tokens (classic) need the `admin:org` scope to use this - endpoint. + To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/create-issue-type externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/issue-types#create-issue-type-for-an-organization + url: https://docs.github.com/rest/orgs/issue-types#create-issue-type-for-an-organization parameters: - $ref: '#/components/parameters/org' requestBody: @@ -3448,26 +3425,19 @@ paths: /orgs/{org}/issue-types/{issue_type_id}: put: summary: Update issue type for an organization - description: >- + description: |- Updates an issue type for an organization. + You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). - You can find out more about issue types in [Managing issue types in an - organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). - - - To use this endpoint, the authenticated user must be an administrator - for the organization. OAuth app tokens and - - personal access tokens (classic) need the `admin:org` scope to use this - endpoint. + To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/update-issue-type externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/issue-types#update-issue-type-for-an-organization + url: https://docs.github.com/rest/orgs/issue-types#update-issue-type-for-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/issue-type-id' @@ -3506,26 +3476,19 @@ paths: x-stackQL-resource: issue_types delete: summary: Delete issue type for an organization - description: >- + description: |- Deletes an issue type for an organization. + You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). - You can find out more about issue types in [Managing issue types in an - organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). - - - To use this endpoint, the authenticated user must be an administrator - for the organization. OAuth app tokens and - - personal access tokens (classic) need the `admin:org` scope to use this - endpoint. + To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/delete-issue-type externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/issue-types#delete-issue-type-for-an-organization + url: https://docs.github.com/rest/orgs/issue-types#delete-issue-type-for-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/issue-type-id' @@ -3545,10 +3508,7 @@ paths: /orgs/{org}/members: get: summary: List organization members - description: >- - List all users who are members of an organization. If the authenticated - user is also a member of this organization then both concealed and - public members will be returned. + description: List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. tags: - orgs operationId: orgs/list-members @@ -3558,15 +3518,7 @@ paths: parameters: - $ref: '#/components/parameters/org' - name: filter - description: >- - Filter members returned in the list. `2fa_disabled` means that only - members without [two-factor - authentication](https://github.com/blog/1614-two-factor-authentication) - enabled will be returned. `2fa_insecure` means that only members - with [insecure 2FA - methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) - will be returned. These options are only available for organization - owners. + description: Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. `2fa_insecure` means that only members with [insecure 2FA methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) will be returned. These options are only available for organization owners. in: query required: false schema: @@ -3621,8 +3573,7 @@ paths: operationId: orgs/check-membership-for-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#check-organization-membership-for-a-user + url: https://docs.github.com/rest/orgs/members#check-organization-membership-for-a-user parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -3637,9 +3588,7 @@ paths: schema: type: string '404': - description: >- - Not Found if requester is an organization member and user is not a - member + description: Not Found if requester is an organization member and user is not a member x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -3648,24 +3597,17 @@ paths: x-stackQL-resource: members delete: summary: Remove an organization member - description: >- - Removing a user from this list will remove them from all teams and they - will no longer have any access to the organization's repositories. - + description: |- + Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. > [!NOTE] - - > If a user has both direct membership in the organization as well as - indirect membership via an enterprise team, only their direct membership - will be removed. Their indirect membership via an enterprise team - remains until the user is removed from the enterprise team. + > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team. tags: - orgs operationId: orgs/remove-member externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#remove-an-organization-member + url: https://docs.github.com/rest/orgs/members#remove-an-organization-member parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -3690,17 +3632,13 @@ paths: /orgs/{org}/memberships/{username}: get: summary: Get organization membership for a user - description: >- - In order to get a user's membership with an organization, the - authenticated user must be an organization member. The `state` parameter - in the response can be used to identify the user's membership status. + description: In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. tags: - orgs operationId: orgs/get-membership-for-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user + url: https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -3713,8 +3651,7 @@ paths: $ref: '#/components/schemas/org-membership' examples: response-if-user-has-an-active-admin-membership-with-organization: - $ref: >- - #/components/examples/org-membership-response-if-user-has-an-active-admin-membership-with-organization + $ref: '#/components/examples/org-membership-response-if-user-has-an-active-admin-membership-with-organization' '403': $ref: '#/components/responses/forbidden' '404': @@ -3727,38 +3664,22 @@ paths: x-stackQL-resource: members put: summary: Set organization membership for a user - description: >- - Only authenticated organization owners can add a member to the - organization or update the member's role. - + description: |- + Only authenticated organization owners can add a member to the organization or update the member's role. - * If the authenticated user is _adding_ a member to the organization, - the invited user will receive an email inviting them to the - organization. The user's [membership - status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) - will be `pending` until they accept the invitation. + * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. - * Authenticated users can _update_ a user's membership by passing the - `role` parameter. If the authenticated user changes a member's role to - `admin`, the affected user will receive an email notifying them that - they've been made an organization owner. If the authenticated user - changes an owner's role to `member`, no email will be sent. - + * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. **Rate limits** - - To prevent abuse, organization owners are limited to creating 50 - organization invitations for an organization within a 24 hour period. If - the organization is more than one month old or on a paid plan, the limit - is 500 invitations per 24 hour period. + To prevent abuse, organization owners are limited to creating 50 organization invitations for an organization within a 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. tags: - orgs operationId: orgs/set-membership-for-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#set-organization-membership-for-a-user + url: https://docs.github.com/rest/orgs/members#set-organization-membership-for-a-user parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -3771,9 +3692,8 @@ paths: properties: role: type: string - description: >- - The role to give the user in the organization. Can be one - of: + description: |- + The role to give the user in the organization. Can be one of: * `admin` - The user will become an owner of the organization. * `member` - The user will become a non-owner member of the organization. enum: @@ -3794,8 +3714,7 @@ paths: $ref: '#/components/schemas/org-membership' examples: response-if-user-already-had-membership-with-organization: - $ref: >- - #/components/examples/org-membership-response-if-user-has-an-active-admin-membership-with-organization + $ref: '#/components/examples/org-membership-response-if-user-has-an-active-admin-membership-with-organization' '403': $ref: '#/components/responses/forbidden' '422': @@ -3815,30 +3734,19 @@ paths: x-stackQL-resource: members delete: summary: Remove organization membership for a user - description: >- - In order to remove a user's membership with an organization, the - authenticated user must be an organization owner. - - - If the specified user is an active member of the organization, this will - remove them from the organization. If the specified user has been - invited to the organization, this will cancel their invitation. The - specified user will receive an email notification in both cases. + description: |- + In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. > [!NOTE] - - > If a user has both direct membership in the organization as well as - indirect membership via an enterprise team, only their direct membership - will be removed. Their indirect membership via an enterprise team - remains until the user is removed from the enterprise team. + > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team. tags: - orgs operationId: orgs/remove-membership-for-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#remove-organization-membership-for-a-user + url: https://docs.github.com/rest/orgs/members#remove-organization-membership-for-a-user parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -3858,33 +3766,21 @@ paths: /orgs/{org}/organization-roles: get: summary: Get all organization roles for an organization - description: >- - Lists the organization roles available in this organization. For more - information on organization roles, see "[Using organization - roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - + description: |- + Lists the organization roles available in this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." To use this endpoint, the authenticated user must be one of: - - An administrator for the organization. + - An organization member (or a member of a team) assigned a custom organization role that includes the **View organization roles** (`read_organization_custom_org_role`) permission. For more information, see "[Permissions for organization access](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles#permissions-for-organization-access)." - - An organization member (or a member of a team) assigned a custom - organization role that includes the **View organization roles** - (`read_organization_custom_org_role`) permission. For more information, - see "[Permissions for organization - access](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles#permissions-for-organization-access)." - - - OAuth app tokens and personal access tokens (classic) need the - `admin:org` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/list-org-roles externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/organization-roles#get-all-organization-roles-for-an-organization + url: https://docs.github.com/rest/orgs/organization-roles#get-all-organization-roles-for-an-organization parameters: - $ref: '#/components/parameters/org' responses: @@ -3897,14 +3793,10 @@ paths: properties: total_count: type: integer - description: >- - The total number of organization roles available to the - organization. + description: The total number of organization roles available to the organization. roles: type: array - description: >- - The list of organization roles available to the - organization. + description: The list of organization roles available to the organization. items: $ref: '#/components/schemas/organization-role' examples: @@ -3923,25 +3815,18 @@ paths: /orgs/{org}/organization-roles/teams/{team_slug}: delete: summary: Remove all organization roles for a team - description: >- - Removes all assigned organization roles from a team. For more - information on organization roles, see "[Using organization - roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - - - The authenticated user must be an administrator for the organization to - use this endpoint. + description: |- + Removes all assigned organization roles from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + The authenticated user must be an administrator for the organization to use this endpoint. - OAuth app tokens and personal access tokens (classic) need the - `admin:org` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/revoke-all-org-roles-team externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/organization-roles#remove-all-organization-roles-for-a-team + url: https://docs.github.com/rest/orgs/organization-roles#remove-all-organization-roles-for-a-team parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/team-slug' @@ -3957,25 +3842,18 @@ paths: /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}: put: summary: Assign an organization role to a team - description: >- - Assigns an organization role to a team in an organization. For more - information on organization roles, see "[Using organization - roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - - - The authenticated user must be an administrator for the organization to - use this endpoint. + description: |- + Assigns an organization role to a team in an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + The authenticated user must be an administrator for the organization to use this endpoint. - OAuth app tokens and personal access tokens (classic) need the - `admin:org` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/assign-team-to-org-role externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/organization-roles#assign-an-organization-role-to-a-team + url: https://docs.github.com/rest/orgs/organization-roles#assign-an-organization-role-to-a-team parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/team-slug' @@ -3986,9 +3864,7 @@ paths: '404': description: Response if the organization, team or role does not exist. '422': - description: >- - Response if the organization roles feature is not enabled for the - organization, or validation failed. + description: Response if the organization roles feature is not enabled for the organization, or validation failed. x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -3997,25 +3873,18 @@ paths: x-stackQL-resource: organization_roles delete: summary: Remove an organization role from a team - description: >- - Removes an organization role from a team. For more information on - organization roles, see "[Using organization - roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - - - The authenticated user must be an administrator for the organization to - use this endpoint. + description: |- + Removes an organization role from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + The authenticated user must be an administrator for the organization to use this endpoint. - OAuth app tokens and personal access tokens (classic) need the - `admin:org` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/revoke-org-role-team externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/organization-roles#remove-an-organization-role-from-a-team + url: https://docs.github.com/rest/orgs/organization-roles#remove-an-organization-role-from-a-team parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/team-slug' @@ -4032,25 +3901,18 @@ paths: /orgs/{org}/organization-roles/users/{username}: delete: summary: Remove all organization roles for a user - description: >- - Revokes all assigned organization roles from a user. For more - information on organization roles, see "[Using organization - roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - - - The authenticated user must be an administrator for the organization to - use this endpoint. + description: |- + Revokes all assigned organization roles from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + The authenticated user must be an administrator for the organization to use this endpoint. - OAuth app tokens and personal access tokens (classic) need the - `admin:org` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/revoke-all-org-roles-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/organization-roles#remove-all-organization-roles-for-a-user + url: https://docs.github.com/rest/orgs/organization-roles#remove-all-organization-roles-for-a-user parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -4066,25 +3928,18 @@ paths: /orgs/{org}/organization-roles/users/{username}/{role_id}: put: summary: Assign an organization role to a user - description: >- - Assigns an organization role to a member of an organization. For more - information on organization roles, see "[Using organization - roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - - - The authenticated user must be an administrator for the organization to - use this endpoint. + description: |- + Assigns an organization role to a member of an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + The authenticated user must be an administrator for the organization to use this endpoint. - OAuth app tokens and personal access tokens (classic) need the - `admin:org` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/assign-user-to-org-role externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/organization-roles#assign-an-organization-role-to-a-user + url: https://docs.github.com/rest/orgs/organization-roles#assign-an-organization-role-to-a-user parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -4095,10 +3950,7 @@ paths: '404': description: Response if the organization, user or role does not exist. '422': - description: >- - Response if the organization roles feature is not enabled enabled - for the organization, the validation failed, or the user is not an - organization member. + description: Response if the organization roles feature is not enabled enabled for the organization, the validation failed, or the user is not an organization member. x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -4107,25 +3959,18 @@ paths: x-stackQL-resource: organization_roles delete: summary: Remove an organization role from a user - description: >- - Remove an organization role from a user. For more information on - organization roles, see "[Using organization - roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - - - The authenticated user must be an administrator for the organization to - use this endpoint. + description: |- + Remove an organization role from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + The authenticated user must be an administrator for the organization to use this endpoint. - OAuth app tokens and personal access tokens (classic) need the - `admin:org` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/revoke-org-role-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/organization-roles#remove-an-organization-role-from-a-user + url: https://docs.github.com/rest/orgs/organization-roles#remove-an-organization-role-from-a-user parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -4142,33 +3987,21 @@ paths: /orgs/{org}/organization-roles/{role_id}: get: summary: Get an organization role - description: >- - Gets an organization role that is available to this organization. For - more information on organization roles, see "[Using organization - roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - + description: |- + Gets an organization role that is available to this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." To use this endpoint, the authenticated user must be one of: - - An administrator for the organization. + - An organization member (or a member of a team) assigned a custom organization role that includes the **View organization roles** (`read_organization_custom_org_role`) permission. For more information, see "[Permissions for organization access](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles#permissions-for-organization-access)." - - An organization member (or a member of a team) assigned a custom - organization role that includes the **View organization roles** - (`read_organization_custom_org_role`) permission. For more information, - see "[Permissions for organization - access](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles#permissions-for-organization-access)." - - - OAuth app tokens and personal access tokens (classic) need the - `admin:org` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/get-org-role externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/organization-roles#get-an-organization-role + url: https://docs.github.com/rest/orgs/organization-roles#get-an-organization-role parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/role-id' @@ -4195,24 +4028,18 @@ paths: /orgs/{org}/organization-roles/{role_id}/teams: get: summary: List teams that are assigned to an organization role - description: >- - Lists the teams that are assigned to an organization role. For more - information on organization roles, see "[Using organization - roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - + description: |- + Lists the teams that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." To use this endpoint, you must be an administrator for the organization. - - OAuth app tokens and personal access tokens (classic) need the - `admin:org` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/list-org-role-teams externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/organization-roles#list-teams-that-are-assigned-to-an-organization-role + url: https://docs.github.com/rest/orgs/organization-roles#list-teams-that-are-assigned-to-an-organization-role parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/role-id' @@ -4225,7 +4052,6 @@ paths: application/json: schema: type: array - description: List of teams assigned to the organization role items: $ref: '#/components/schemas/team-role-assignment' examples: @@ -4237,9 +4063,7 @@ paths: '404': description: Response if the organization or role does not exist. '422': - description: >- - Response if the organization roles feature is not enabled or - validation failed. + description: Response if the organization roles feature is not enabled or validation failed. x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -4249,24 +4073,18 @@ paths: /orgs/{org}/organization-roles/{role_id}/users: get: summary: List users that are assigned to an organization role - description: >- - Lists organization members that are assigned to an organization role. - For more information on organization roles, see "[Using organization - roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - + description: |- + Lists organization members that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." To use this endpoint, you must be an administrator for the organization. - - OAuth app tokens and personal access tokens (classic) need the - `admin:org` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/list-org-role-users externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/organization-roles#list-users-that-are-assigned-to-an-organization-role + url: https://docs.github.com/rest/orgs/organization-roles#list-users-that-are-assigned-to-an-organization-role parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/role-id' @@ -4279,7 +4097,6 @@ paths: application/json: schema: type: array - description: List of users assigned to the organization role items: $ref: '#/components/schemas/user-role-assignment' examples: @@ -4291,9 +4108,7 @@ paths: '404': description: Response if the organization or role does not exist. '422': - description: >- - Response if the organization roles feature is not enabled or - validation failed. + description: Response if the organization roles feature is not enabled or validation failed. x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -4309,19 +4124,11 @@ paths: operationId: orgs/list-outside-collaborators externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/outside-collaborators#list-outside-collaborators-for-an-organization + url: https://docs.github.com/rest/orgs/outside-collaborators#list-outside-collaborators-for-an-organization parameters: - $ref: '#/components/parameters/org' - name: filter - description: >- - Filter the list of outside collaborators. `2fa_disabled` means that - only outside collaborators without [two-factor - authentication](https://github.com/blog/1614-two-factor-authentication) - enabled will be returned. `2fa_insecure` means that only outside - collaborators with [insecure 2FA - methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) - will be returned. + description: Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. `2fa_insecure` means that only outside collaborators with [insecure 2FA methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) will be returned. in: query required: false schema: @@ -4357,24 +4164,13 @@ paths: /orgs/{org}/outside_collaborators/{username}: put: summary: Convert an organization member to outside collaborator - description: >- - When an organization member is converted to an outside collaborator, - they'll only have access to the repositories that their current team - membership allows. The user will no longer be a member of the - organization. For more information, see "[Converting an organization - member to an outside - collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". - Converting an organization member to an outside collaborator may be - restricted by enterprise administrators. For more information, see - "[Enforcing repository management policies in your - enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + description: When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." tags: - orgs operationId: orgs/convert-member-to-outside-collaborator externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/outside-collaborators#convert-an-organization-member-to-outside-collaborator + url: https://docs.github.com/rest/orgs/outside-collaborators#convert-an-organization-member-to-outside-collaborator parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -4387,10 +4183,7 @@ paths: properties: async: type: boolean - description: >- - When set to `true`, the request will be performed - asynchronously. Returns a 202 status code when the job is - successfully queued. + description: When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued. default: false examples: '202': @@ -4415,12 +4208,7 @@ paths: '204': description: User was converted '403': - description: >- - Forbidden if user is the last owner of the organization, not a - member of the organization, or if the enterprise enforces a policy - for inviting outside collaborators. For more information, see - "[Enforcing repository management policies in your - enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + description: Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." '404': $ref: '#/components/responses/not_found' x-github: @@ -4431,16 +4219,13 @@ paths: x-stackQL-resource: outside_collaborators delete: summary: Remove outside collaborator from an organization - description: >- - Removing a user from this list will remove them from all the - organization's repositories. + description: Removing a user from this list will remove them from all the organization's repositories. tags: - orgs operationId: orgs/remove-outside-collaborator externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/outside-collaborators#remove-outside-collaborator-from-an-organization + url: https://docs.github.com/rest/orgs/outside-collaborators#remove-outside-collaborator-from-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -4461,11 +4246,8 @@ paths: examples: response-if-user-is-a-member-of-the-organization: value: - message: >- - You cannot specify an organization member to remove as an - outside collaborator. - documentation_url: >- - https://docs.github.com/rest/orgs/outside-collaborators#remove-outside-collaborator-from-an-organization + message: You cannot specify an organization member to remove as an outside collaborator. + documentation_url: https://docs.github.com/rest/orgs/outside-collaborators#remove-outside-collaborator-from-an-organization x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -4474,13 +4256,9 @@ paths: x-stackQL-resource: outside_collaborators /orgs/{org}/personal-access-token-requests: get: - summary: >- - List requests to access organization resources with fine-grained - personal access tokens - description: >- - Lists requests from organization members to access organization - resources with a fine-grained personal access token. - + summary: List requests to access organization resources with fine-grained personal access tokens + description: |- + Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can use this endpoint. tags: @@ -4488,8 +4266,7 @@ paths: operationId: orgs/list-pat-grant-requests externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/personal-access-tokens#list-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens + url: https://docs.github.com/rest/orgs/personal-access-tokens#list-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/per-page' @@ -4510,8 +4287,7 @@ paths: schema: type: array items: - $ref: >- - #/components/schemas/organization-programmatic-access-grant-request + $ref: '#/components/schemas/organization-programmatic-access-grant-request' examples: default: $ref: '#/components/examples/org-pat-grant-request-paginated' @@ -4533,13 +4309,9 @@ paths: subcategory: personal-access-tokens x-stackQL-resource: personal_access_tokens post: - summary: >- - Review requests to access organization resources with fine-grained - personal access tokens - description: >- - Approves or denies multiple pending requests to access organization - resources via a fine-grained personal access token. - + summary: Review requests to access organization resources with fine-grained personal access tokens + description: |- + Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can use this endpoint. tags: @@ -4547,8 +4319,7 @@ paths: operationId: orgs/review-pat-grant-requests-in-bulk externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/personal-access-tokens#review-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens + url: https://docs.github.com/rest/orgs/personal-access-tokens#review-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens parameters: - $ref: '#/components/parameters/org' requestBody: @@ -4560,10 +4331,7 @@ paths: properties: pat_request_ids: type: array - description: >- - Unique identifiers of the requests for access via - fine-grained personal access token. Must be formed of - between 1 and 100 `pat_request_id` values. + description: Unique identifiers of the requests for access via fine-grained personal access token. Must be formed of between 1 and 100 `pat_request_id` values. items: type: integer minItems: 1 @@ -4576,9 +4344,7 @@ paths: - deny reason: type: string - description: >- - Reason for approving or denying the requests. Max 1024 - characters. + description: Reason for approving or denying the requests. Max 1024 characters. maxLength: 1024 nullable: true required: @@ -4611,13 +4377,9 @@ paths: x-stackQL-resource: personal_access_tokens /orgs/{org}/personal-access-token-requests/{pat_request_id}: post: - summary: >- - Review a request to access organization resources with a fine-grained - personal access token - description: >- - Approves or denies a pending request to access organization resources - via a fine-grained personal access token. - + summary: Review a request to access organization resources with a fine-grained personal access token + description: |- + Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can use this endpoint. tags: @@ -4625,15 +4387,12 @@ paths: operationId: orgs/review-pat-grant-request externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/personal-access-tokens#review-a-request-to-access-organization-resources-with-a-fine-grained-personal-access-token + url: https://docs.github.com/rest/orgs/personal-access-tokens#review-a-request-to-access-organization-resources-with-a-fine-grained-personal-access-token parameters: - $ref: '#/components/parameters/org' - name: pat_request_id in: path - description: >- - Unique identifier of the request for access via fine-grained - personal access token. + description: Unique identifier of the request for access via fine-grained personal access token. required: true schema: type: integer @@ -4652,9 +4411,7 @@ paths: - deny reason: type: string - description: >- - Reason for approving or denying the request. Max 1024 - characters. + description: Reason for approving or denying the request. Max 1024 characters. maxLength: 1024 nullable: true required: @@ -4684,13 +4441,9 @@ paths: x-stackQL-resource: personal_access_tokens /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories: get: - summary: >- - List repositories requested to be accessed by a fine-grained personal - access token - description: >- - Lists the repositories a fine-grained personal access token request is - requesting access to. - + summary: List repositories requested to be accessed by a fine-grained personal access token + description: |- + Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can use this endpoint. tags: @@ -4698,15 +4451,12 @@ paths: operationId: orgs/list-pat-grant-request-repositories externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-requested-to-be-accessed-by-a-fine-grained-personal-access-token + url: https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-requested-to-be-accessed-by-a-fine-grained-personal-access-token parameters: - $ref: '#/components/parameters/org' - name: pat_request_id in: path - description: >- - Unique identifier of the request for access via fine-grained - personal access token. + description: Unique identifier of the request for access via fine-grained personal access token. required: true schema: type: integer @@ -4741,13 +4491,9 @@ paths: x-stackQL-resource: personal_access_tokens /orgs/{org}/personal-access-tokens: get: - summary: >- - List fine-grained personal access tokens with access to organization - resources - description: >- - Lists approved fine-grained personal access tokens owned by organization - members that can access organization resources. - + summary: List fine-grained personal access tokens with access to organization resources + description: |- + Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can use this endpoint. tags: @@ -4755,8 +4501,7 @@ paths: operationId: orgs/list-pat-grants externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/personal-access-tokens#list-fine-grained-personal-access-tokens-with-access-to-organization-resources + url: https://docs.github.com/rest/orgs/personal-access-tokens#list-fine-grained-personal-access-tokens-with-access-to-organization-resources parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/per-page' @@ -4799,14 +4544,9 @@ paths: subcategory: personal-access-tokens x-stackQL-resource: personal_access_tokens post: - summary: >- - Update the access to organization resources via fine-grained personal - access tokens - description: >- - Updates the access organization members have to organization resources - via fine-grained personal access tokens. Limited to revoking a token's - existing access. - + summary: Update the access to organization resources via fine-grained personal access tokens + description: |- + Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can use this endpoint. tags: @@ -4814,8 +4554,7 @@ paths: operationId: orgs/update-pat-accesses externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-to-organization-resources-via-fine-grained-personal-access-tokens + url: https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-to-organization-resources-via-fine-grained-personal-access-tokens parameters: - $ref: '#/components/parameters/org' requestBody: @@ -4835,9 +4574,7 @@ paths: type: array items: type: integer - description: >- - Unique identifier of the fine-grained personal access - token. + description: Unique identifier of the fine-grained personal access token. minItems: 1 maxItems: 100 required: @@ -4870,14 +4607,9 @@ paths: x-stackQL-resource: personal_access_tokens /orgs/{org}/personal-access-tokens/{pat_id}: post: - summary: >- - Update the access a fine-grained personal access token has to - organization resources - description: >- - Updates the access an organization member has to organization resources - via a fine-grained personal access token. Limited to revoking the - token's existing access. Limited to revoking a token's existing access. - + summary: Update the access a fine-grained personal access token has to organization resources + description: |- + Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can use this endpoint. tags: @@ -4885,8 +4617,7 @@ paths: operationId: orgs/update-pat-access externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-a-fine-grained-personal-access-token-has-to-organization-resources + url: https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-a-fine-grained-personal-access-token-has-to-organization-resources parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/fine-grained-personal-access-token-id' @@ -4929,10 +4660,8 @@ paths: /orgs/{org}/personal-access-tokens/{pat_id}/repositories: get: summary: List repositories a fine-grained personal access token has access to - description: >- - Lists the repositories a fine-grained personal access token has access - to. - + description: |- + Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can use this endpoint. tags: @@ -4940,8 +4669,7 @@ paths: operationId: orgs/list-pat-grant-repositories externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-a-fine-grained-personal-access-token-has-access-to + url: https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-a-fine-grained-personal-access-token-has-access-to parameters: - $ref: '#/components/parameters/org' - name: pat_id @@ -4990,8 +4718,7 @@ paths: operationId: orgs/custom-properties-for-repos-get-organization-definitions externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/custom-properties#get-all-custom-properties-for-an-organization + url: https://docs.github.com/rest/orgs/custom-properties#get-all-custom-properties-for-an-organization parameters: - $ref: '#/components/parameters/org' responses: @@ -5018,33 +4745,22 @@ paths: x-stackQL-resource: custom_properties patch: summary: Create or update custom properties for an organization - description: >- - Creates new or updates existing custom properties defined for an - organization in a batch. - - - If the property already exists, the existing property will be replaced - with the new values. - - Missing optional values will fall back to default values, previous - values will be overwritten. - - E.g. if a property exists with `values_editable_by: org_and_repo_actors` - and it's updated without specifying `values_editable_by`, it will be - updated to default value `org_actors`. + description: |- + Creates new or updates existing custom properties defined for an organization in a batch. + If the property already exists, the existing property will be replaced with the new values. + Missing optional values will fall back to default values, previous values will be overwritten. + E.g. if a property exists with `values_editable_by: org_and_repo_actors` and it's updated without specifying `values_editable_by`, it will be updated to default value `org_actors`. To use this endpoint, the authenticated user must be one of: - An administrator for the organization. - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. tags: - orgs - operationId: >- - orgs/custom-properties-for-repos-create-or-update-organization-definitions + operationId: orgs/custom-properties-for-repos-create-or-update-organization-definitions externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/custom-properties#create-or-update-custom-properties-for-an-organization + url: https://docs.github.com/rest/orgs/custom-properties#create-or-update-custom-properties-for-an-organization parameters: - $ref: '#/components/parameters/org' requestBody: @@ -5115,8 +4831,7 @@ paths: operationId: orgs/custom-properties-for-repos-get-organization-definition externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/custom-properties#get-a-custom-property-for-an-organization + url: https://docs.github.com/rest/orgs/custom-properties#get-a-custom-property-for-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/custom-property-name' @@ -5142,25 +4857,18 @@ paths: x-stackQL-resource: custom_properties put: summary: Create or update a custom property for an organization - description: >- - Creates a new or updates an existing custom property that is defined for - an organization. - + description: |- + Creates a new or updates an existing custom property that is defined for an organization. To use this endpoint, the authenticated user must be one of: - - An administrator for the organization. - - - A user, or a user on a team, with the fine-grained permission of - `custom_properties_org_definitions_manager` in the organization. + - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. tags: - orgs - operationId: >- - orgs/custom-properties-for-repos-create-or-update-organization-definition + operationId: orgs/custom-properties-for-repos-create-or-update-organization-definition externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/custom-properties#create-or-update-a-custom-property-for-an-organization + url: https://docs.github.com/rest/orgs/custom-properties#create-or-update-a-custom-property-for-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/custom-property-name' @@ -5213,8 +4921,7 @@ paths: operationId: orgs/custom-properties-for-repos-delete-organization-definition externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/custom-properties#remove-a-custom-property-for-an-organization + url: https://docs.github.com/rest/orgs/custom-properties#remove-a-custom-property-for-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/custom-property-name' @@ -5234,33 +4941,21 @@ paths: /orgs/{org}/properties/values: get: summary: List custom property values for organization repositories - description: >- - Lists organization repositories with all of their custom property - values. - + description: |- + Lists organization repositories with all of their custom property values. Organization members can read these properties. tags: - orgs operationId: orgs/custom-properties-for-repos-get-organization-values externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/custom-properties#list-custom-property-values-for-organization-repositories + url: https://docs.github.com/rest/orgs/custom-properties#list-custom-property-values-for-organization-repositories parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' - name: repository_query - description: >- - Finds repositories in the organization with a query containing one - or more search keywords and qualifiers. Qualifiers allow you to - limit your search to specific areas of GitHub. The REST API supports - the same qualifiers as the web interface for GitHub. To learn more - about the format of the query, see [Constructing a search - query](https://docs.github.com/rest/search/search#constructing-a-search-query). - See "[Searching for - repositories](https://docs.github.com/articles/searching-for-repositories/)" - for a detailed list of qualifiers. + description: Finds repositories in the organization with a query containing one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. in: query required: false schema: @@ -5292,20 +4987,13 @@ paths: x-stackQL-resource: custom_properties patch: summary: Create or update custom property values for organization repositories - description: >- - Create new or update existing custom property values for repositories in - a batch that belong to an organization. - - Each target repository will have its custom property values updated to - match the values provided in the request. - + description: |- + Create new or update existing custom property values for repositories in a batch that belong to an organization. + Each target repository will have its custom property values updated to match the values provided in the request. A maximum of 30 repositories can be updated in a single request. - - Using a value of `null` for a custom property will remove or 'unset' the - property value from the repository. - + Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. To use this endpoint, the authenticated user must be one of: - An administrator for the organization. @@ -5315,8 +5003,7 @@ paths: operationId: orgs/custom-properties-for-repos-create-or-update-organization-values externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/custom-properties#create-or-update-custom-property-values-for-organization-repositories + url: https://docs.github.com/rest/orgs/custom-properties#create-or-update-custom-property-values-for-organization-repositories parameters: - $ref: '#/components/parameters/org' requestBody: @@ -5328,18 +5015,14 @@ paths: properties: repository_names: type: array - description: >- - The names of repositories that the custom property values - will be applied to. + description: The names of repositories that the custom property values will be applied to. items: type: string minItems: 1 maxItems: 30 properties: type: array - description: >- - List of custom property names and associated values to apply - to the repositories. + description: List of custom property names and associated values to apply to the repositories. items: $ref: '#/components/schemas/custom-property-value' required: @@ -5350,9 +5033,7 @@ paths: $ref: '#/components/examples/org-repo-update-custom-property-values' responses: '204': - description: >- - No Content when custom property values are successfully created or - updated + description: No Content when custom property values are successfully created or updated '403': $ref: '#/components/responses/forbidden' '404': @@ -5368,16 +5049,13 @@ paths: /orgs/{org}/public_members: get: summary: List public organization members - description: >- - Members of an organization can choose to have their membership - publicized or not. + description: Members of an organization can choose to have their membership publicized or not. tags: - orgs operationId: orgs/list-public-members externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#list-public-organization-members + url: https://docs.github.com/rest/orgs/members#list-public-organization-members parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/per-page' @@ -5412,8 +5090,7 @@ paths: operationId: orgs/check-public-membership-for-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#check-public-organization-membership-for-a-user + url: https://docs.github.com/rest/orgs/members#check-public-organization-membership-for-a-user parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -5430,21 +5107,16 @@ paths: x-stackQL-resource: members put: summary: Set public organization membership for the authenticated user - description: >- - The user can publicize their own membership. (A user cannot publicize - the membership for another user.) - + description: |- + The user can publicize their own membership. (A user cannot publicize the membership for another user.) - Note that you'll need to set `Content-Length` to zero when calling out - to this endpoint. For more information, see "[HTTP - method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." tags: - orgs operationId: orgs/set-public-membership-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#set-public-organization-membership-for-the-authenticated-user + url: https://docs.github.com/rest/orgs/members#set-public-organization-membership-for-the-authenticated-user parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -5461,16 +5133,13 @@ paths: x-stackQL-resource: members delete: summary: Remove public organization membership for the authenticated user - description: >- - Removes the public membership for the authenticated user from the - specified organization, unless public visibility is enforced by default. + description: Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. tags: - orgs operationId: orgs/remove-public-membership-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#remove-public-organization-membership-for-the-authenticated-user + url: https://docs.github.com/rest/orgs/members#remove-public-organization-membership-for-the-authenticated-user parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/username' @@ -5492,8 +5161,7 @@ paths: operationId: orgs/get-org-ruleset-history externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/rules#get-organization-ruleset-history + url: https://docs.github.com/rest/orgs/rules#get-organization-ruleset-history parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/per-page' @@ -5535,8 +5203,7 @@ paths: operationId: orgs/get-org-ruleset-version externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/rules#get-organization-ruleset-version + url: https://docs.github.com/rest/orgs/rules#get-organization-ruleset-version parameters: - $ref: '#/components/parameters/org' - name: ruleset_id @@ -5574,20 +5241,15 @@ paths: /orgs/{org}/security-managers: get: summary: List security manager teams - description: >- + description: |- > [!WARNING] - - > **Closing down notice:** This operation is closing down and will be - removed starting January 1, 2026. Please use the "[Organization - Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints - instead. + > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. tags: - orgs operationId: orgs/list-security-manager-teams externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams + url: https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams parameters: - $ref: '#/components/parameters/org' responses: @@ -5615,20 +5277,15 @@ paths: /orgs/{org}/security-managers/teams/{team_slug}: put: summary: Add a security manager team - description: >- + description: |- > [!WARNING] - - > **Closing down notice:** This operation is closing down and will be - removed starting January 1, 2026. Please use the "[Organization - Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints - instead. + > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. tags: - orgs operationId: orgs/add-security-manager-team externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team + url: https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/team-slug' @@ -5647,20 +5304,15 @@ paths: x-stackQL-resource: security_managers delete: summary: Remove a security manager team - description: >- + description: |- > [!WARNING] - - > **Closing down notice:** This operation is closing down and will be - removed starting January 1, 2026. Please use the "[Organization - Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints - instead. + > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. tags: - orgs operationId: orgs/remove-security-manager-team externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team + url: https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/team-slug' @@ -5680,19 +5332,16 @@ paths: /orgs/{org}/settings/immutable-releases: get: summary: Get immutable releases settings for an organization - description: >- + description: |- Gets the immutable releases policy for repositories in an organization. - - OAuth tokens and personal access tokens (classic) need the `admin:org` - scope to use this endpoint. + OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/get-immutable-releases-settings externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/orgs#get-immutable-releases-settings-for-an-organization + url: https://docs.github.com/rest/orgs/orgs#get-immutable-releases-settings-for-an-organization parameters: - $ref: '#/components/parameters/org' responses: @@ -5714,19 +5363,16 @@ paths: x-stackQL-resource: orgs put: summary: Set immutable releases settings for an organization - description: >- + description: |- Sets the immutable releases policy for repositories in an organization. - - OAuth tokens and personal access tokens (classic) need the `admin:org` - scope to use this endpoint. + OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/set-immutable-releases-settings externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/orgs#set-immutable-releases-settings-for-an-organization + url: https://docs.github.com/rest/orgs/orgs#set-immutable-releases-settings-for-an-organization parameters: - $ref: '#/components/parameters/org' responses: @@ -5741,9 +5387,7 @@ paths: properties: enforced_repositories: type: string - description: >- - The policy that controls how immutable releases are enforced - in the organization. + description: The policy that controls how immutable releases are enforced in the organization. enum: - all - none @@ -5751,18 +5395,7 @@ paths: example: all selected_repository_ids: type: array - description: >- - An array of repository ids for which immutable releases - enforcement should be applied. You can only provide a list - of repository ids when the `enforced_repositories` is set to - `selected`. You can add and remove individual repositories - using the [Enable a selected repository for immutable - releases in an - organization](https://docs.github.com/rest/orgs/orgs#enable-a-selected-repository-for-immutable-releases-in-an-organization) - and [Disable a selected repository for immutable releases in - an - organization](https://docs.github.com/rest/orgs/orgs#disable-a-selected-repository-for-immutable-releases-in-an-organization) - endpoints. + description: An array of repository ids for which immutable releases enforcement should be applied. You can only provide a list of repository ids when the `enforced_repositories` is set to `selected`. You can add and remove individual repositories using the [Enable a selected repository for immutable releases in an organization](https://docs.github.com/rest/orgs/orgs#enable-a-selected-repository-for-immutable-releases-in-an-organization) and [Disable a selected repository for immutable releases in an organization](https://docs.github.com/rest/orgs/orgs#disable-a-selected-repository-for-immutable-releases-in-an-organization) endpoints. items: type: integer required: @@ -5780,20 +5413,16 @@ paths: /orgs/{org}/settings/immutable-releases/repositories: get: summary: List selected repositories for immutable releases enforcement - description: >- - List all of the repositories that have been selected for immutable - releases enforcement in an organization. - + description: |- + List all of the repositories that have been selected for immutable releases enforcement in an organization. - OAuth tokens and personal access tokens (classic) need the `admin:org` - scope to use this endpoint. + OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/get-immutable-releases-settings-repositories externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/orgs#list-selected-repositories-for-immutable-releases-enforcement + url: https://docs.github.com/rest/orgs/orgs#list-selected-repositories-for-immutable-releases-enforcement parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/page' @@ -5826,22 +5455,16 @@ paths: x-stackQL-resource: orgs put: summary: Set selected repositories for immutable releases enforcement - description: >- - Replaces all repositories that have been selected for immutable releases - enforcement in an organization. To use this endpoint, the organization - immutable releases policy for `enforced_repositories` must be configured - to `selected`. - + description: |- + Replaces all repositories that have been selected for immutable releases enforcement in an organization. To use this endpoint, the organization immutable releases policy for `enforced_repositories` must be configured to `selected`. - OAuth tokens and personal access tokens (classic) need the `admin:org` - scope to use this endpoint. + OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. tags: - orgs operationId: orgs/set-immutable-releases-settings-repositories externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/orgs#set-selected-repositories-for-immutable-releases-enforcement + url: https://docs.github.com/rest/orgs/orgs#set-selected-repositories-for-immutable-releases-enforcement parameters: - $ref: '#/components/parameters/org' requestBody: @@ -5853,18 +5476,7 @@ paths: properties: selected_repository_ids: type: array - description: >- - An array of repository ids for which immutable releases - enforcement should be applied. You can only provide a list - of repository ids when the `enforced_repositories` is set to - `selected`. You can add and remove individual repositories - using the [Enable a selected repository for immutable - releases in an - organization](https://docs.github.com/rest/orgs/orgs#enable-a-selected-repository-for-immutable-releases-in-an-organization) - and [Disable a selected repository for immutable releases in - an - organization](https://docs.github.com/rest/orgs/orgs#disable-a-selected-repository-for-immutable-releases-in-an-organization) - endpoints. + description: An array of repository ids for which immutable releases enforcement should be applied. You can only provide a list of repository ids when the `enforced_repositories` is set to `selected`. You can add and remove individual repositories using the [Enable a selected repository for immutable releases in an organization](https://docs.github.com/rest/orgs/orgs#enable-a-selected-repository-for-immutable-releases-in-an-organization) and [Disable a selected repository for immutable releases in an organization](https://docs.github.com/rest/orgs/orgs#disable-a-selected-repository-for-immutable-releases-in-an-organization) endpoints. items: type: integer required: @@ -5886,22 +5498,16 @@ paths: /orgs/{org}/settings/immutable-releases/repositories/{repository_id}: put: summary: Enable a selected repository for immutable releases in an organization - description: >- - Adds a repository to the list of selected repositories that are enforced - for immutable releases in an organization. To use this endpoint, the - organization immutable releases policy for `enforced_repositories` must - be configured to `selected`. - + description: |- + Adds a repository to the list of selected repositories that are enforced for immutable releases in an organization. To use this endpoint, the organization immutable releases policy for `enforced_repositories` must be configured to `selected`. - OAuth tokens and personal access tokens (classic) need the `admin:org` - scope to use this endpoint. + OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. operationId: orgs/enable-selected-repository-immutable-releases-organization tags: - orgs externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/orgs#enable-a-selected-repository-for-immutable-releases-in-an-organization + url: https://docs.github.com/rest/orgs/orgs#enable-a-selected-repository-for-immutable-releases-in-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/repository-id' @@ -5916,22 +5522,16 @@ paths: x-stackQL-resource: orgs delete: summary: Disable a selected repository for immutable releases in an organization - description: >- - Removes a repository from the list of selected repositories that are - enforced for immutable releases in an organization. To use this - endpoint, the organization immutable releases policy for - `enforced_repositories` must be configured to `selected`. - + description: |- + Removes a repository from the list of selected repositories that are enforced for immutable releases in an organization. To use this endpoint, the organization immutable releases policy for `enforced_repositories` must be configured to `selected`. - OAuth tokens and personal access tokens (classic) need the `admin:org` - scope to use this endpoint. + OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. operationId: orgs/disable-selected-repository-immutable-releases-organization tags: - orgs externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/orgs#disable-a-selected-repository-for-immutable-releases-in-an-organization + url: https://docs.github.com/rest/orgs/orgs#disable-a-selected-repository-for-immutable-releases-in-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/repository-id' @@ -5947,36 +5547,21 @@ paths: /orgs/{org}/{security_product}/{enablement}: post: summary: Enable or disable a security feature for an organization - description: >- + description: |- > [!WARNING] + > **Closing down notice:** The ability to enable or disable a security feature for all eligible repositories in an organization is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. For more information, see the [changelog](https://github.blog/changelog/2024-07-22-deprecation-of-api-endpoint-to-enable-or-disable-a-security-feature-for-an-organization/). - > **Closing down notice:** The ability to enable or disable a security - feature for all eligible repositories in an organization is closing - down. Please use [code security - configurations](https://docs.github.com/rest/code-security/configurations) - instead. For more information, see the - [changelog](https://github.blog/changelog/2024-07-22-deprecation-of-api-endpoint-to-enable-or-disable-a-security-feature-for-an-organization/). - + Enables or disables the specified security feature for all eligible repositories in an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - Enables or disables the specified security feature for all eligible - repositories in an organization. For more information, see "[Managing - security managers in your - organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. - - The authenticated user must be an organization owner or be member of a - team with the security manager role to use this endpoint. - - - OAuth app tokens and personal access tokens (classic) need the - `admin:org`, `write:org`, or `repo` scopes to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. tags: - orgs operationId: orgs/enable-or-disable-security-product-on-all-org-repos externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/orgs#enable-or-disable-a-security-feature-for-an-organization + url: https://docs.github.com/rest/orgs/orgs#enable-or-disable-a-security-feature-for-an-organization parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/security-product' @@ -5988,16 +5573,9 @@ paths: schema: properties: query_suite: - description: >- - CodeQL query suite to be used. If you specify the - `query_suite` parameter, the default setup will be - configured with this query suite only on all repositories - that didn't have default setup already configured. It will - not change the query suite on repositories that already have - default setup configured. - - If you don't specify any `query_suite` in your request, the - preferred query suite of the organization will be applied. + description: |- + CodeQL query suite to be used. If you specify the `query_suite` parameter, the default setup will be configured with this query suite only on all repositories that didn't have default setup already configured. It will not change the query suite on repositories that already have default setup configured. + If you don't specify any `query_suite` in your request, the preferred query suite of the organization will be applied. type: string enum: - default @@ -6010,9 +5588,7 @@ paths: '204': description: Action started '422': - description: >- - The action could not be taken due to an in progress enablement, or a - policy is preventing enablement + description: The action could not be taken due to an in progress enablement, or a policy is preventing enablement x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -6032,13 +5608,10 @@ paths: operationId: orgs/list-memberships-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#list-organization-memberships-for-the-authenticated-user + url: https://docs.github.com/rest/orgs/members#list-organization-memberships-for-the-authenticated-user parameters: - name: state - description: >- - Indicates the state of the memberships to return. If not specified, - the API returns both active and pending memberships. + description: Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. in: query required: false schema: @@ -6080,19 +5653,13 @@ paths: /user/memberships/orgs/{org}: get: summary: Get an organization membership for the authenticated user - description: >- - If the authenticated user is an active or pending member of the - organization, this endpoint will return the user's membership. If the - authenticated user is not affiliated with the organization, a `404` is - returned. This endpoint will return a `403` if the request is made by a - GitHub App that is blocked by the organization. + description: If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. tags: - orgs operationId: orgs/get-membership-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#get-an-organization-membership-for-the-authenticated-user + url: https://docs.github.com/rest/orgs/members#get-an-organization-membership-for-the-authenticated-user parameters: - $ref: '#/components/parameters/org' responses: @@ -6117,16 +5684,13 @@ paths: x-stackQL-resource: members patch: summary: Update an organization membership for the authenticated user - description: >- - Converts the authenticated user to an active member of the organization, - if that user has a pending invitation from the organization. + description: Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. tags: - orgs operationId: orgs/update-membership-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/members#update-an-organization-membership-for-the-authenticated-user + url: https://docs.github.com/rest/orgs/members#update-an-organization-membership-for-the-authenticated-user parameters: - $ref: '#/components/parameters/org' requestBody: @@ -6138,9 +5702,7 @@ paths: properties: state: type: string - description: >- - The state that the membership should be in. Only `"active"` - will be accepted. + description: The state that the membership should be in. Only `"active"` will be accepted. enum: - active required: @@ -6151,7 +5713,16 @@ paths: state: active responses: '200': - description: Response + description: The user's organization invitation was accepted synchronously. + content: + application/json: + schema: + $ref: '#/components/schemas/org-membership' + examples: + default: + $ref: '#/components/examples/org-membership-2' + '202': + description: The acceptance of the user's organization invitation is being processed asynchronously. content: application/json: schema: @@ -6174,30 +5745,19 @@ paths: /user/orgs: get: summary: List organizations for the authenticated user - description: >- + description: |- List organizations for the authenticated user. - - For OAuth app tokens and personal access tokens (classic), this endpoint - only lists organizations that your authorization allows you to operate - on in some way (e.g., you can list teams with `read:org` scope, you can - publicize your organization membership with `user` scope, etc.). - Therefore, this API requires at least `user` or `read:org` scope for - OAuth app tokens and personal access tokens (classic). Requests with - insufficient scope will receive a `403 Forbidden` response. - + For OAuth app tokens and personal access tokens (classic), this endpoint only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope for OAuth app tokens and personal access tokens (classic). Requests with insufficient scope will receive a `403 Forbidden` response. > [!NOTE] - - > Requests using a fine-grained access token will receive a `200 - Success` response with an empty list. + > Requests using a fine-grained access token will receive a `200 Success` response with an empty list. tags: - orgs operationId: orgs/list-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user + url: https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' @@ -6231,18 +5791,10 @@ paths: /users/{username}/orgs: get: summary: List organizations for a user - description: >- - List [public organization - memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) - for the specified user. - - - This method only lists _public_ memberships, regardless of - authentication. If you need to fetch all of the organization memberships - (public and private) for the authenticated user, use the [List - organizations for the authenticated - user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) - API instead. + description: |- + List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + + This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. tags: - orgs operationId: orgs/list-for-user @@ -6274,19 +5826,258 @@ paths: category: orgs subcategory: orgs x-stackQL-resource: orgs -components: - schemas: - organization-simple: - title: Organization Simple - description: A GitHub organization. - type: object - properties: - login: - type: string - example: github - id: - type: integer - example: 1 + /graphql?resource=saml_identities: + post: + operationId: graphql/orgs/saml_identities/list + summary: SAML Identities + description: External identities (SAML and SCIM) linked to organization members when the organization uses SAML single sign-on. Backed by the GitHub GraphQL API (`organization.samlIdentityProvider.externalIdentities`). Requires organization owner access and an organization with SAML SSO configured. + x-stackQL-graphQL: + url: https://api.github.com/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.organization.samlIdentityProvider.externalIdentities.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.organization.samlIdentityProvider.externalIdentities.pageInfo.endCursor + terminateOnJsonPath: $.data.organization.samlIdentityProvider.externalIdentities.pageInfo.hasNextPage + query: | + query { + organization(login: "{{ .org }}") { + samlIdentityProvider { + externalIdentities(first: 100{{ .cursor }}) { + pageInfo { endCursor hasNextPage } + nodes { + id + guid + saml_identity: samlIdentity { + name_id: nameId + username + emails { value primary } + } + scim_identity: scimIdentity { + username + emails { value primary } + } + user { login id } + } + } + } + } + } + x-stackql-protocol: graphql + externalDocs: + description: GitHub GraphQL API documentation + url: https://docs.github.com/graphql + parameters: + - name: org + in: query + required: true + schema: + type: string + description: The organization name. + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + organization: + type: object + properties: + samlIdentityProvider: + type: object + properties: + externalIdentities: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: The GraphQL node ID of the external identity. + guid: + type: string + description: The GUID for this identity. + saml_identity: + type: object + description: The SAML identity (`name_id`, `username`, `emails[]`). + properties: + name_id: + type: string + username: + type: string + emails: + type: array + items: + type: object + properties: + value: + type: string + primary: + type: boolean + scim_identity: + type: object + description: The SCIM identity (`username`, `emails[]`). + properties: + username: + type: string + emails: + type: array + items: + type: object + properties: + value: + type: string + primary: + type: boolean + user: + type: object + description: The linked GitHub user, null for unlinked identities (`login`, `id`). + properties: + login: + type: string + id: + type: string + pageInfo: + type: object + properties: + endCursor: + type: string + hasNextPage: + type: boolean + /graphql?resource=sponsorships: + post: + operationId: graphql/orgs/sponsorships/list + summary: Sponsorships + description: GitHub Sponsors sponsorships where the org is the maintainer being sponsored. Backed by the GitHub GraphQL API (`organization.sponsorshipsAsMaintainer`). Private sponsorships are only visible to the sponsored account. + x-stackQL-graphQL: + url: https://api.github.com/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.organization.sponsorshipsAsMaintainer.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.organization.sponsorshipsAsMaintainer.pageInfo.endCursor + terminateOnJsonPath: $.data.organization.sponsorshipsAsMaintainer.pageInfo.hasNextPage + query: | + query { + organization(login: "{{ .org }}") { + sponsorshipsAsMaintainer(first: 100, includePrivate: true{{ .cursor }}) { + pageInfo { endCursor hasNextPage } + nodes { + id + created_at: createdAt + is_one_time_payment: isOneTimePayment + is_active: isActive + privacy_level: privacyLevel + tier { + name + monthly_price_in_dollars: monthlyPriceInDollars + monthly_price_in_cents: monthlyPriceInCents + is_one_time: isOneTime + } + sponsor_entity: sponsorEntity { + ... on User { login name } + ... on Organization { login name } + } + } + } + } + } + x-stackql-protocol: graphql + externalDocs: + description: GitHub GraphQL API documentation + url: https://docs.github.com/graphql + parameters: + - name: org + in: query + required: true + schema: + type: string + description: The organization name. + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + organization: + type: object + properties: + sponsorshipsAsMaintainer: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: The GraphQL node ID of the sponsorship. + created_at: + type: string + format: date-time + is_one_time_payment: + type: boolean + is_active: + type: boolean + privacy_level: + type: string + description: PUBLIC or PRIVATE. + tier: + type: object + description: The sponsorship tier (`name`, `monthly_price_in_dollars`, `monthly_price_in_cents`, `is_one_time`). + properties: + name: + type: string + monthly_price_in_dollars: + type: integer + monthly_price_in_cents: + type: integer + is_one_time: + type: boolean + sponsor_entity: + type: object + description: The sponsoring user or organization (`login`, `name`). + properties: + login: + type: string + name: + type: string + pageInfo: + type: object + properties: + endCursor: + type: string + hasNextPage: + type: boolean +components: + schemas: + organization-simple: + title: Organization Simple + description: A GitHub organization. + type: object + properties: + login: + type: string + example: github + id: + type: integer + example: 1 node_id: type: string example: MDEyOk9yZ2FuaXphdGlvbjE= @@ -6446,12 +6237,10 @@ components: type: integer example: 8 nullable: true - description: >- + description: |- The number of collaborators on private repositories. - - This field may be null if the number of private repositories is over - 50,000. + This field may be null if the number of private repositories is over 50,000. billing_email: type: string format: email @@ -6545,112 +6334,72 @@ components: advanced_security_enabled_for_new_repositories: type: boolean example: false - description: >- - **Endpoint closing down notice.** Please use [code security - configurations](https://docs.github.com/rest/code-security/configurations) - instead. - - - Whether GitHub Advanced Security is enabled for new repositories and - repositories transferred to this organization. + description: |- + **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. - This field is only visible to organization owners or members of a - team with the security manager role. + This field is only visible to organization owners or members of a team with the security manager role. deprecated: true dependabot_alerts_enabled_for_new_repositories: type: boolean example: false - description: >- - **Endpoint closing down notice.** Please use [code security - configurations](https://docs.github.com/rest/code-security/configurations) - instead. - - - Whether Dependabot alerts are automatically enabled for new - repositories and repositories transferred to this organization. + description: |- + **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. - This field is only visible to organization owners or members of a - team with the security manager role. + This field is only visible to organization owners or members of a team with the security manager role. deprecated: true dependabot_security_updates_enabled_for_new_repositories: type: boolean example: false - description: >- - **Endpoint closing down notice.** Please use [code security - configurations](https://docs.github.com/rest/code-security/configurations) - instead. - - - Whether Dependabot security updates are automatically enabled for - new repositories and repositories transferred to this organization. + description: |- + **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. - This field is only visible to organization owners or members of a - team with the security manager role. + This field is only visible to organization owners or members of a team with the security manager role. deprecated: true dependency_graph_enabled_for_new_repositories: type: boolean example: false - description: >- - **Endpoint closing down notice.** Please use [code security - configurations](https://docs.github.com/rest/code-security/configurations) - instead. - - - Whether dependency graph is automatically enabled for new - repositories and repositories transferred to this organization. + description: |- + **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. - This field is only visible to organization owners or members of a - team with the security manager role. + This field is only visible to organization owners or members of a team with the security manager role. deprecated: true secret_scanning_enabled_for_new_repositories: type: boolean example: false - description: >- - **Endpoint closing down notice.** Please use [code security - configurations](https://docs.github.com/rest/code-security/configurations) - instead. - - - Whether secret scanning is automatically enabled for new - repositories and repositories transferred to this organization. + description: |- + **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. - This field is only visible to organization owners or members of a - team with the security manager role. + This field is only visible to organization owners or members of a team with the security manager role. deprecated: true secret_scanning_push_protection_enabled_for_new_repositories: type: boolean example: false - description: >- - **Endpoint closing down notice.** Please use [code security - configurations](https://docs.github.com/rest/code-security/configurations) - instead. - - - Whether secret scanning push protection is automatically enabled for - new repositories and repositories transferred to this organization. + description: |- + **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. - This field is only visible to organization owners or members of a - team with the security manager role. + This field is only visible to organization owners or members of a team with the security manager role. deprecated: true secret_scanning_push_protection_custom_link_enabled: type: boolean example: false - description: >- - Whether a custom link is shown to contributors who are blocked from - pushing a secret by push protection. + description: Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. secret_scanning_push_protection_custom_link: type: string example: https://github.com/test-org/test-repo/blob/main/README.md nullable: true - description: >- - An optional URL string to display to contributors who are blocked - from pushing a secret. + description: An optional URL string to display to contributors who are blocked from pushing a secret. created_at: type: string format: date-time @@ -6665,9 +6414,7 @@ components: deploy_keys_enabled_for_repositories: type: boolean example: false - description: >- - Controls whether or not deploy keys may be added and used for - repositories in the organization. + description: Controls whether or not deploy keys may be added and used for repositories in the organization. required: - login - url @@ -6792,9 +6539,7 @@ components: type: string attestation_id: type: integer - description: >- - The ID of the provenance attestation associated with the deployment - record. + description: The ID of the provenance attestation associated with the deployment record. nullable: true basic-error: title: Basic Error @@ -7031,25 +6776,15 @@ components: format: uri webhook-config-content-type: type: string - description: >- - The media type used to serialize the payloads. Supported values include - `json` and `form`. The default is `form`. + description: The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. example: '"json"' webhook-config-secret: type: string - description: >- - If provided, the `secret` will be used as the `key` to generate the HMAC - hex digest value for [delivery signature - headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). + description: If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). example: '"********"' webhook-config-insecure-ssl: type: string - description: >- - Determines whether the SSL certificate of the host for `url` will be - verified when delivering payloads. Supported values include `0` - (verification is performed) and `1` (verification is not performed). The - default is `0`. **We strongly recommend not setting this to `1` as you - are subject to man-in-the-middle and other attacks.** + description: Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.** example: '"0"' webhook-config: title: Webhook Configuration @@ -7075,9 +6810,7 @@ components: format: int64 example: 42 guid: - description: >- - Unique identifier for the event (shared with all deliveries for all - webhooks that subscribe to this event). + description: Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). type: string example: 58474f00-b361-11eb-836d-0e4f3503ccbe delivered_at: @@ -7150,9 +6883,7 @@ components: type: integer example: 42 guid: - description: >- - Unique identifier for the event (shared with all deliveries for all - webhooks that subscribe to this event). + description: Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). type: string example: 58474f00-b361-11eb-836d-0e4f3503ccbe delivered_at: @@ -7269,9 +7000,7 @@ components: type: integer format: int64 rate_limited_request_count: - description: >- - The total number of requests that were rate limited within the - queried time period + description: The total number of requests that were rate limited within the queried time period type: integer format: int64 last_rate_limited_timestamp: @@ -7312,9 +7041,7 @@ components: type: integer format: int64 rate_limited_request_count: - description: >- - The total number of requests that were rate limited within the - queried time period + description: The total number of requests that were rate limited within the queried time period type: integer format: int64 api-insights-time-stats: @@ -7500,9 +7227,7 @@ components: - created_at - updated_at repository_selection: - description: >- - Describe whether all repositories have been selected or there's a - selection involved + description: Describe whether all repositories have been selected or there's a selection involved type: string enum: - all @@ -7590,9 +7315,7 @@ components: - suspended_at team: title: Team - description: >- - Groups of organization members that gives permissions on specified - repositories. + description: Groups of organization members that gives permissions on specified repositories. type: object properties: id: @@ -7649,6 +7372,17 @@ components: enum: - enterprise - organization + access_source: + description: |- + How the team's access to the repository was granted. This property is only + present when the team is returned in a repository context, such as + `GET /repos/{owner}/{repo}/teams`. + type: string + enum: + - direct + - organization + - enterprise + example: direct organization_id: type: integer description: Unique identifier of the organization to which this team belongs @@ -7674,9 +7408,7 @@ components: - type issue-field: title: Issue Field - description: >- - A custom attribute defined at the organization level for attaching - structured data to issues. + description: A custom attribute defined at the organization level for attaching structured data to issues. type: object nullable: true properties: @@ -7700,18 +7432,16 @@ components: - text - date - single_select + - multi_select - number visibility: type: string - description: >- - The visibility of the issue field. Can be - `organization_members_only` (visible only within the organization) - or `all` (visible to all users who can see issues). + description: The visibility of the issue field. Can be `organization_members_only` (visible only within the organization) or `all` (visible to all users who can see issues). enum: - organization_members_only - all options: - description: Available options for single select fields. + description: Available options for single select and multi select fields. type: array items: type: object @@ -7785,22 +7515,16 @@ components: - text - date - single_select + - multi_select - number visibility: - description: >- - The visibility of the issue field. Can be - `organization_members_only` (visible only within the organization) - or `all` (visible to all users who can see issues). Only used when - the visibility settings feature is enabled. Defaults to - `organization_members_only`. + description: The visibility of the issue field. Can be `organization_members_only` (visible only within the organization) or `all` (visible to all users who can see issues). Only used when the visibility settings feature is enabled. Defaults to `organization_members_only`. type: string enum: - organization_members_only - all options: - description: >- - Options for single select fields. Required when data_type is - 'single_select'. + description: Options for select fields. Required when data_type is 'single_select' or 'multi_select'. type: array items: type: object @@ -7846,23 +7570,20 @@ components: type: string nullable: true visibility: - description: >- - The visibility of the issue field. Can be - `organization_members_only` (visible only within the organization) - or `all` (visible to all users who can see issues). Only used when - the visibility settings feature is enabled. + description: The visibility of the issue field. Can be `organization_members_only` (visible only within the organization) or `all` (visible to all users who can see issues). Only used when the visibility settings feature is enabled. type: string enum: - organization_members_only - all options: - description: >- - Options for single select fields. Only applicable when updating - single_select fields. + description: Options for select fields. Only applicable when updating single_select or multi_select fields. When provided, this array **replaces** the entire existing set of options rather than adding to or updating individual options. To retain or update an existing option, include it in the array with its `id`. Options sent without an `id` are treated as new options and may cause existing options to be deleted and recreated. type: array items: type: object properties: + id: + description: The id of an existing option to retain or update. Omit this when creating a new option. + type: integer name: description: Name of the option. type: string @@ -7891,7 +7612,7 @@ components: - priority issue-type: title: Issue Type - description: The type of issue. + description: The type assigned to the issue. This is only present for issues in repositories where issue types are supported. type: object nullable: true properties: @@ -8006,9 +7727,7 @@ components: example: https://api.github.com/orgs/octocat/memberships/defunkt state: type: string - description: >- - The state of the member in the organization. The `pending` state - indicates the user has not yet accepted an invitation. + description: The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. example: active enum: - active @@ -8027,10 +7746,8 @@ components: example: true enterprise_teams_providing_indirect_membership: type: array - description: >- - The slugs of the enterprise teams providing the user with indirect - membership in the organization. - + description: |- + The slugs of the enterprise teams providing the user with indirect membership in the organization. A limit of 100 enterprise team slugs is returned. maxItems: 100 items: @@ -8073,9 +7790,7 @@ components: description: The name of the role. type: string description: - description: >- - A short description about who this role is for or what permissions - it grants. + description: A short description about who this role is for or what permissions it grants. type: string nullable: true base_role: @@ -8125,9 +7840,7 @@ components: properties: assignment: type: string - description: >- - Determines if the team has a direct, indirect, or mixed relationship - to a role + description: Determines if the team has a direct, indirect, or mixed relationship to a role enum: - direct - indirect @@ -8217,9 +7930,7 @@ components: properties: assignment: type: string - description: >- - Determines if the user has a direct, indirect, or mixed relationship - to a role + description: Determines if the user has a direct, indirect, or mixed relationship to a role enum: - direct - indirect @@ -8325,17 +8036,12 @@ components: - url organization-programmatic-access-grant-request: title: Simple Organization Programmatic Access Grant Request - description: >- - Minimal representation of an organization programmatic access grant - request for enumerations + description: Minimal representation of an organization programmatic access grant request for enumerations type: object properties: id: type: integer - description: >- - Unique identifier of the request for access via fine-grained - personal access token. The `pat_request_id` used to review PAT - requests. + description: Unique identifier of the request for access via fine-grained personal access token. The `pat_request_id` used to review PAT requests. reason: type: string nullable: true @@ -8351,10 +8057,7 @@ components: description: Type of repository selection requested. repositories_url: type: string - description: >- - URL to the list of repositories requested to be accessed via - fine-grained personal access token. Should only be followed when - `repository_selection` is `subset`. + description: URL to the list of repositories requested to be accessed via fine-grained personal access token. Should only be followed when `repository_selection` is `subset`. permissions: type: object description: Permissions requested, categorized by type of permission. @@ -8376,32 +8079,21 @@ components: description: Date and time when the request for access was created. token_id: type: integer - description: >- - Unique identifier of the user's token. This field can also be found - in audit log events and the organization's settings for their PAT - grants. + description: Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. token_name: type: string - description: >- - The name given to the user's token. This field can also be found in - an organization's settings page for Active Tokens. + description: The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. token_expired: type: boolean - description: >- - Whether the associated fine-grained personal access token has - expired. + description: Whether the associated fine-grained personal access token has expired. token_expires_at: type: string nullable: true - description: >- - Date and time when the associated fine-grained personal access token - expires. + description: Date and time when the associated fine-grained personal access token expires. token_last_used_at: type: string nullable: true - description: >- - Date and time when the associated fine-grained personal access token - was last used for authentication. + description: Date and time when the associated fine-grained personal access token was last used for authentication. required: - id - reason @@ -8453,8 +8145,7 @@ components: example: https://api.github.com/repos/octocat/Hello-World archive_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + example: http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: type: string example: http://api.github.com/repos/octocat/Hello-World/assignees{/user} @@ -8466,8 +8157,7 @@ components: example: http://api.github.com/repos/octocat/Hello-World/branches{/branch} collaborators_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + example: http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: type: string example: http://api.github.com/repos/octocat/Hello-World/comments{/number} @@ -8476,8 +8166,7 @@ components: example: http://api.github.com/repos/octocat/Hello-World/commits{/sha} compare_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + example: http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: type: string example: http://api.github.com/repos/octocat/Hello-World/contents/{+path} @@ -8514,12 +8203,10 @@ components: type: string issue_comment_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + example: http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} issue_events_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/issues/events{/number} + example: http://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: type: string example: http://api.github.com/repos/octocat/Hello-World/issues{/number} @@ -8542,8 +8229,7 @@ components: example: http://api.github.com/repos/octocat/Hello-World/milestones{/number} notifications_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + example: http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: type: string example: http://api.github.com/repos/octocat/Hello-World/pulls{/number} @@ -8602,9 +8288,7 @@ components: watchers_count: type: integer size: - description: >- - The size of the repository, in kilobytes. Size is calculated hourly. - When a repository is initially created, the size is 0. + description: The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. type: integer default_branch: type: string @@ -8631,9 +8315,7 @@ components: has_pull_requests: type: boolean pull_request_creation_policy: - description: >- - The policy controlling who can create pull requests: all or - collaborators_only. + description: 'The policy controlling who can create pull requests: all or collaborators_only.' type: string enum: - all @@ -8718,10 +8400,7 @@ components: $ref: '#/components/schemas/security-and-analysis' custom_properties: type: object - description: >- - The custom properties that were defined for the repository. The keys - are the custom property names, and the values are the corresponding - custom property values. + description: The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. additionalProperties: true required: - archive_url @@ -8779,17 +8458,12 @@ components: version: '2026-03-10' organization-programmatic-access-grant: title: Organization Programmatic Access Grant - description: >- - Minimal representation of an organization programmatic access grant for - enumerations + description: Minimal representation of an organization programmatic access grant for enumerations type: object properties: id: type: integer - description: >- - Unique identifier of the fine-grained personal access token grant. - The `pat_id` used to get details about an approved fine-grained - personal access token. + description: Unique identifier of the fine-grained personal access token grant. The `pat_id` used to get details about an approved fine-grained personal access token. owner: $ref: '#/components/schemas/simple-user' repository_selection: @@ -8801,10 +8475,7 @@ components: description: Type of repository selection requested. repositories_url: type: string - description: >- - URL to the list of repositories the fine-grained personal access - token can access. Only follow when `repository_selection` is - `subset`. + description: URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`. permissions: type: object description: Permissions requested, categorized by type of permission. @@ -8823,37 +8494,24 @@ components: type: string access_granted_at: type: string - description: >- - Date and time when the fine-grained personal access token was - approved to access the organization. + description: Date and time when the fine-grained personal access token was approved to access the organization. token_id: type: integer - description: >- - Unique identifier of the user's token. This field can also be found - in audit log events and the organization's settings for their PAT - grants. + description: Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. token_name: type: string - description: >- - The name given to the user's token. This field can also be found in - an organization's settings page for Active Tokens. + description: The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. token_expired: type: boolean - description: >- - Whether the associated fine-grained personal access token has - expired. + description: Whether the associated fine-grained personal access token has expired. token_expires_at: type: string nullable: true - description: >- - Date and time when the associated fine-grained personal access token - expires. + description: Date and time when the associated fine-grained personal access token expires. token_last_used_at: type: string nullable: true - description: >- - Date and time when the associated fine-grained personal access token - was last used for authentication. + description: Date and time when the associated fine-grained personal access token was last used for authentication. required: - id - owner @@ -8877,9 +8535,7 @@ components: url: type: string format: uri - description: >- - The URL that can be used to fetch, update, or delete info about this - property via the API. + description: The URL that can be used to fetch, update, or delete info about this property via the API. source_type: type: string description: The source type of the property @@ -9074,9 +8730,7 @@ components: description: The state of the ruleset version (opaque JSON object) team-simple: title: Team Simple - description: >- - Groups of organization members that gives permissions on specified - repositories. + description: Groups of organization members that gives permissions on specified repositories. type: object properties: id: @@ -9163,9 +8817,7 @@ components: properties: enforced_repositories: type: string - description: >- - The policy that controls how immutable releases are enforced in the - organization. + description: The policy that controls how immutable releases are enforced in the organization. enum: - all - none @@ -9173,10 +8825,7 @@ components: example: all selected_repositories_url: type: string - description: >- - The API URL to use to get or set the selected repositories for - immutable releases enforcement, when `enforced_repositories` is set - to `selected`. + description: The API URL to use to get or set the selected repositories for immutable releases enforcement, when `enforced_repositories` is set to `selected`. required: - enforced_repositories scim-error: @@ -9260,439 +8909,334 @@ components: app-permissions: title: App Permissions type: object - description: The permissions granted to the user access token. + description: The permissions granted to the fine-grained access token. properties: actions: type: string - description: >- - The level of permission to grant the access token for GitHub Actions - workflows, workflow runs, and artifacts. + description: The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. enum: - read - write administration: type: string - description: >- - The level of permission to grant the access token for repository - creation, deletion, settings, teams, and collaborators creation. + description: The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. enum: - read - write artifact_metadata: type: string - description: >- - The level of permission to grant the access token to create and - retrieve build artifact metadata records. + description: The level of permission to grant the access token to create and retrieve build artifact metadata records. enum: - read - write attestations: type: string - description: >- - The level of permission to create and retrieve the access token for - repository attestations. + description: The level of permission to create and retrieve the access token for repository attestations. enum: - read - write checks: type: string - description: >- - The level of permission to grant the access token for checks on - code. + description: The level of permission to grant the access token for checks on code. + enum: + - read + - write + code_quality: + type: string + description: The level of permission to grant the access token to view and manage code quality data. enum: - read - write codespaces: type: string - description: >- - The level of permission to grant the access token to create, edit, - delete, and list Codespaces. + description: The level of permission to grant the access token to create, edit, delete, and list Codespaces. enum: - read - write contents: type: string - description: >- - The level of permission to grant the access token for repository - contents, commits, branches, downloads, releases, and merges. + description: The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. enum: - read - write dependabot_secrets: type: string - description: >- - The level of permission to grant the access token to manage - Dependabot secrets. + description: The level of permission to grant the access token to manage Dependabot secrets. enum: - read - write deployments: type: string - description: >- - The level of permission to grant the access token for deployments - and deployment statuses. + description: The level of permission to grant the access token for deployments and deployment statuses. enum: - read - write discussions: type: string - description: >- - The level of permission to grant the access token for discussions - and related comments and labels. + description: The level of permission to grant the access token for discussions and related comments and labels. enum: - read - write environments: type: string - description: >- - The level of permission to grant the access token for managing - repository environments. + description: The level of permission to grant the access token for managing repository environments. enum: - read - write issues: type: string - description: >- - The level of permission to grant the access token for issues and - related comments, assignees, labels, and milestones. + description: The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. enum: - read - write merge_queues: type: string - description: >- - The level of permission to grant the access token to manage the - merge queues for a repository. + description: The level of permission to grant the access token to manage the merge queues for a repository. enum: - read - write metadata: type: string - description: >- - The level of permission to grant the access token to search - repositories, list collaborators, and access repository metadata. + description: The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. enum: - read - write packages: type: string - description: >- - The level of permission to grant the access token for packages - published to GitHub Packages. + description: The level of permission to grant the access token for packages published to GitHub Packages. enum: - read - write pages: type: string - description: >- - The level of permission to grant the access token to retrieve Pages - statuses, configuration, and builds, as well as create new builds. + description: The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. enum: - read - write pull_requests: type: string - description: >- - The level of permission to grant the access token for pull requests - and related comments, assignees, labels, milestones, and merges. + description: The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. enum: - read - write repository_custom_properties: type: string - description: >- - The level of permission to grant the access token to view and edit - custom properties for a repository, when allowed by the property. + description: The level of permission to grant the access token to view and edit custom properties for a repository, when allowed by the property. enum: - read - write repository_hooks: type: string - description: >- - The level of permission to grant the access token to manage the - post-receive hooks for a repository. + description: The level of permission to grant the access token to manage the post-receive hooks for a repository. enum: - read - write repository_projects: type: string - description: >- - The level of permission to grant the access token to manage - repository projects, columns, and cards. + description: The level of permission to grant the access token to manage repository projects, columns, and cards. enum: - read - write - admin secret_scanning_alerts: type: string - description: >- - The level of permission to grant the access token to view and manage - secret scanning alerts. + description: The level of permission to grant the access token to view and manage secret scanning alerts. enum: - read - write secrets: type: string - description: >- - The level of permission to grant the access token to manage - repository secrets. + description: The level of permission to grant the access token to manage repository secrets. enum: - read - write security_events: type: string - description: >- - The level of permission to grant the access token to view and manage - security events like code scanning alerts. + description: The level of permission to grant the access token to view and manage security events like code scanning alerts. enum: - read - write single_file: type: string - description: >- - The level of permission to grant the access token to manage just a - single file. + description: The level of permission to grant the access token to manage just a single file. enum: - read - write statuses: type: string - description: >- - The level of permission to grant the access token for commit - statuses. + description: The level of permission to grant the access token for commit statuses. enum: - read - write vulnerability_alerts: type: string - description: >- - The level of permission to grant the access token to manage - Dependabot alerts. + description: The level of permission to grant the access token to manage Dependabot alerts. enum: - read - write workflows: type: string - description: >- - The level of permission to grant the access token to update GitHub - Actions workflow files. + description: The level of permission to grant the access token to update GitHub Actions workflow files. enum: - write custom_properties_for_organizations: type: string - description: >- - The level of permission to grant the access token to view and edit - custom properties for an organization, when allowed by the property. + description: The level of permission to grant the access token to view and edit custom properties for an organization, when allowed by the property. enum: - read - write members: type: string - description: >- - The level of permission to grant the access token for organization - teams and members. + description: The level of permission to grant the access token for organization teams and members. enum: - read - write organization_administration: type: string - description: >- - The level of permission to grant the access token to manage access - to an organization. + description: The level of permission to grant the access token to manage access to an organization. enum: - read - write organization_custom_roles: type: string - description: >- - The level of permission to grant the access token for custom - repository roles management. + description: The level of permission to grant the access token for custom repository roles management. enum: - read - write organization_custom_org_roles: type: string - description: >- - The level of permission to grant the access token for custom - organization roles management. + description: The level of permission to grant the access token for custom organization roles management. enum: - read - write organization_custom_properties: type: string - description: >- - The level of permission to grant the access token for repository - custom properties management at the organization level. + description: The level of permission to grant the access token for repository custom properties management at the organization level. enum: - read - write - admin organization_copilot_seat_management: type: string - description: >- - The level of permission to grant the access token for managing - access to GitHub Copilot for members of an organization with a - Copilot Business subscription. This property is in public preview - and is subject to change. + description: The level of permission to grant the access token for managing access to GitHub Copilot for members of an organization with a Copilot Business subscription. This property is in public preview and is subject to change. enum: + - read - write organization_copilot_agent_settings: type: string - description: >- - The level of permission to grant the access token to view and manage - Copilot coding agent settings for an organization. + description: The level of permission to grant the access token to view and manage Copilot cloud agent settings for an organization. enum: - read - write organization_announcement_banners: type: string - description: >- - The level of permission to grant the access token to view and manage - announcement banners for an organization. + description: The level of permission to grant the access token to view and manage announcement banners for an organization. enum: - read - write organization_events: type: string - description: >- - The level of permission to grant the access token to view events - triggered by an activity in an organization. + description: The level of permission to grant the access token to view events triggered by an activity in an organization. enum: - read organization_hooks: type: string - description: >- - The level of permission to grant the access token to manage the - post-receive hooks for an organization. + description: The level of permission to grant the access token to manage the post-receive hooks for an organization. enum: - read - write organization_personal_access_tokens: type: string - description: >- - The level of permission to grant the access token for viewing and - managing fine-grained personal access token requests to an - organization. + description: The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization. enum: - read - write organization_personal_access_token_requests: type: string - description: >- - The level of permission to grant the access token for viewing and - managing fine-grained personal access tokens that have been approved - by an organization. + description: The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. enum: - read - write organization_plan: type: string - description: >- - The level of permission to grant the access token for viewing an - organization's plan. + description: The level of permission to grant the access token for viewing an organization's plan. enum: - read organization_projects: type: string - description: >- - The level of permission to grant the access token to manage - organization projects and projects public preview (where available). + description: The level of permission to grant the access token to manage organization projects and projects public preview (where available). enum: - read - write - admin organization_packages: type: string - description: >- - The level of permission to grant the access token for organization - packages published to GitHub Packages. + description: The level of permission to grant the access token for organization packages published to GitHub Packages. enum: - read - write organization_secrets: type: string - description: >- - The level of permission to grant the access token to manage - organization secrets. + description: The level of permission to grant the access token to manage organization secrets. enum: - read - write organization_self_hosted_runners: type: string - description: >- - The level of permission to grant the access token to view and manage - GitHub Actions self-hosted runners available to an organization. + description: The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. enum: - read - write organization_user_blocking: type: string - description: >- - The level of permission to grant the access token to view and manage - users blocked by the organization. + description: The level of permission to grant the access token to view and manage users blocked by the organization. enum: - read - write email_addresses: type: string - description: >- - The level of permission to grant the access token to manage the - email addresses belonging to a user. + description: The level of permission to grant the access token to manage the email addresses belonging to a user. enum: - read - write followers: type: string - description: >- - The level of permission to grant the access token to manage the - followers belonging to a user. + description: The level of permission to grant the access token to manage the followers belonging to a user. enum: - read - write git_ssh_keys: type: string - description: >- - The level of permission to grant the access token to manage git SSH - keys. + description: The level of permission to grant the access token to manage git SSH keys. enum: - read - write gpg_keys: type: string - description: >- - The level of permission to grant the access token to view and manage - GPG keys belonging to a user. + description: The level of permission to grant the access token to view and manage GPG keys belonging to a user. enum: - read - write interaction_limits: type: string - description: >- - The level of permission to grant the access token to view and manage - interaction limits on a repository. + description: The level of permission to grant the access token to view and manage interaction limits on a repository. enum: - read - write profile: type: string - description: >- - The level of permission to grant the access token to manage the - profile settings belonging to a user. + description: The level of permission to grant the access token to manage the profile settings belonging to a user. enum: - write starring: type: string - description: >- - The level of permission to grant the access token to list and manage - repositories a user is starring. + description: The level of permission to grant the access token to list and manage repositories a user is starring. enum: - read - write enterprise_custom_properties_for_organizations: type: string - description: >- - The level of permission to grant the access token for organization - custom properties management at the enterprise level. + description: The level of permission to grant the access token for organization custom properties management at the enterprise level. enum: - read - write @@ -9804,9 +9348,7 @@ components: nullable: true nullable-team-simple: title: Team Simple - description: >- - Groups of organization members that gives permissions on specified - repositories. + description: Groups of organization members that gives permissions on specified repositories. type: object properties: id: @@ -9904,107 +9446,52 @@ components: example: https://api.github.com/codes_of_conduct/contributor_covenant body: type: string - example: > + example: | # Contributor Covenant Code of Conduct - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we - as contributors and maintainers pledge to making participation in - our project and our community a harassment-free experience for - everyone, regardless of age, body size, disability, ethnicity, - gender identity and expression, level of experience, nationality, - personal appearance, race, religion, or sexual identity and - orientation. - + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards - - Examples of behavior that contributes to creating a positive - environment include: - + Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual - attention or advances - - * Trolling, insulting/derogatory comments, and personal or political - attacks - + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment - - * Publishing others' private information, such as a physical or - electronic address, without explicit permission - - * Other conduct which could reasonably be considered inappropriate - in a professional setting - + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of - acceptable behavior and are expected to take appropriate and fair - corrective action in response + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. - Project maintainers have the right and responsibility to remove, - edit, or reject comments, commits, code, wiki edits, issues, and - other contributions that are not aligned to this Code of Conduct, or - to ban temporarily or permanently any contributor for other - behaviors that they deem inappropriate, threatening, offensive, or - harmful. - + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope - - This Code of Conduct applies both within project spaces and in - public spaces when an individual is representing the project or its - community. Examples of representing a project or community include - using an official project e-mail address, + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - Instances of abusive, harassing, or otherwise unacceptable behavior - may be reported by contacting the project team at [EMAIL]. The - project team will review and investigate all complaints, and will - respond in a way that it deems appropriate to the circumstances. The - project team is obligated to maintain confidentiality with regard to - the reporter of an incident. Further details of specific enforcement - policies may be posted separately. - - - Project maintainers who do not follow or enforce the Code of Conduct - in good faith may face temporary or permanent repercussions as - determined by other members of the project's leadership. - + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution - - This Code of Conduct is adapted from the [Contributor - Covenant](http://contributor-covenant.org), version 1.4, available - at - [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/). + This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/). html_url: type: string format: uri @@ -10019,12 +9506,10 @@ components: type: object properties: advanced_security: - description: > + description: | Enable or disable GitHub Advanced Security for the repository. - - For standalone Code Scanning or Secret Protection products, this - parameter cannot be used. + For standalone Code Scanning or Secret Protection products, this parameter cannot be used. type: object properties: status: @@ -10045,9 +9530,7 @@ components: type: object properties: status: - description: >- - The enablement status of Dependabot security updates for the - repository. + description: The enablement status of Dependabot security updates for the repository. type: string enum: - enabled @@ -10197,19 +9680,14 @@ components: parameters: since-org: name: since - description: >- - An organization ID. Only return organizations with an ID greater than - this ID. + description: An organization ID. Only return organizations with an ID greater than this ID. in: query required: false schema: type: integer per-page: name: per_page - description: >- - The number of results per page (max 100). For more information, see - "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query schema: type: integer @@ -10233,34 +9711,21 @@ components: pattern: ^sha256:[a-f0-9]{64}$ pagination-before: name: before - description: >- - A cursor, as given in the [Link - header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). - If specified, the query only searches for results before this cursor. - For more information, see "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query required: false schema: type: string pagination-after: name: after - description: >- - A cursor, as given in the [Link - header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). - If specified, the query only searches for results after this cursor. For - more information, see "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query required: false schema: type: string page: name: page - description: >- - The page number of the results to fetch. For more information, see - "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query schema: type: integer @@ -10274,31 +9739,21 @@ components: type: string hook-id: name: hook_id - description: >- - The unique identifier of the hook. You can find this value in the - `X-GitHub-Hook-ID` header of a webhook delivery. + description: The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. in: path required: true schema: type: integer cursor: name: cursor - description: >- - Used for pagination: the starting delivery from which the page of - deliveries is fetched. Refer to the `link` header for the next and - previous page cursors. + description: 'Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors.' in: query required: false schema: type: string webhook-delivery-status: name: status - description: >- - Returns webhook deliveries filtered by delivery outcome classification - based on `status_code` range. A `status` of `success` returns deliveries - with a `status_code` in the 200-399 range (inclusive). A `status` of - `failure` returns deliveries with a `status_code` in the 400-599 range - (inclusive). + description: Returns webhook deliveries filtered by delivery outcome classification based on `status_code` range. A `status` of `success` returns deliveries with a `status_code` in the 200-399 range (inclusive). A `status` of `failure` returns deliveries with a `status_code` in the 400-599 range (inclusive). in: query required: false schema: @@ -10334,21 +9789,14 @@ components: type: integer api-insights-min-timestamp: name: min_timestamp - description: >- - The minimum timestamp to query for stats. This is a timestamp in [ISO - 8601](https://en.wikipedia.org/wiki/ISO_8601) format: - `YYYY-MM-DDTHH:MM:SSZ`. + description: 'The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.' in: query required: true schema: type: string api-insights-max-timestamp: name: max_timestamp - description: >- - The maximum timestamp to query for stats. Defaults to the time 30 days - ago. This is a timestamp in [ISO - 8601](https://en.wikipedia.org/wiki/ISO_8601) format: - `YYYY-MM-DDTHH:MM:SSZ`. + description: 'The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.' in: query required: false schema: @@ -10384,9 +9832,7 @@ components: api-insights-api-route-substring: name: api_route_substring in: query - description: >- - Providing a substring will filter results where the API route contains - the substring. This is a case-insensitive search. + description: Providing a substring will filter results where the API route contains the substring. This is a case-insensitive search. required: false schema: type: string @@ -10409,9 +9855,7 @@ components: api-insights-subject-name-substring: name: subject_name_substring in: query - description: >- - Providing a substring will filter results where the subject name - contains the substring. This is a case-insensitive search. + description: Providing a substring will filter results where the subject name contains the substring. This is a case-insensitive search. required: false schema: type: string @@ -10424,9 +9868,7 @@ components: type: string api-insights-timestamp-increment: name: timestamp_increment - description: >- - The increment of time used to breakdown the query results (5m, 10m, 1h, - etc.) + description: The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) in: query required: true schema: @@ -10434,9 +9876,7 @@ components: api-insights-actor-name-substring: name: actor_name_substring in: query - description: >- - Providing a substring will filter results where the actor name contains - the substring. This is a case-insensitive search. + description: Providing a substring will filter results where the actor name contains the substring. This is a case-insensitive search. required: false schema: type: string @@ -10514,11 +9954,7 @@ components: example: issues_read personal-access-token-before: name: last_used_before - description: >- - Only show fine-grained personal access tokens used before the given - time. This is a timestamp in [ISO - 8601](https://en.wikipedia.org/wiki/ISO_8601) format: - `YYYY-MM-DDTHH:MM:SSZ`. + description: 'Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.' in: query required: false schema: @@ -10526,11 +9962,7 @@ components: format: date-time personal-access-token-after: name: last_used_after - description: >- - Only show fine-grained personal access tokens used after the given time. - This is a timestamp in [ISO - 8601](https://en.wikipedia.org/wiki/ISO_8601) format: - `YYYY-MM-DDTHH:MM:SSZ`. + description: 'Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.' in: query required: false schema: @@ -10586,15 +10018,11 @@ components: org-security-product-enablement: name: enablement in: path - description: >- + description: |- The action to take. - - `enable_all` means to enable the specified security feature for all - repositories in the organization. - - `disable_all` means to disable the specified security feature for all - repositories in the organization. + `enable_all` means to enable the specified security feature for all repositories in the organization. + `disable_all` means to disable the specified security feature for all repositories in the organization. required: true schema: type: string @@ -10700,8 +10128,7 @@ components: total_count: 1 deployment_records: - id: 123 - digest: >- - sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 + digest: sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 logical_environment: prod physical_environment: pacific-east cluster: moda-1 @@ -10738,8 +10165,7 @@ components: version: 0.0.1 integratedTime: '1716998992' inclusionPromise: - signedEntryTimestamp: >- - MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL + signedEntryTimestamp: MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL inclusionProof: logIndex: '93750549' rootHash: KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60= @@ -10759,24 +10185,16 @@ components: - sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ= - 98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8= checkpoint: - envelope: >- - rekor.sigstore.dev - - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— - rekor.sigstore.dev - wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n - canonicalizedBody: >- - eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= + envelope: rekor.sigstore.dev - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— rekor.sigstore.dev wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n + canonicalizedBody: eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= timestampVerificationData: {} certificate: - rawBytes: >- - MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== + rawBytes: MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== dsseEnvelope: - payload: >- - eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 + payload: eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 payloadType: application/vnd.in-toto+json signatures: - - sig: >- - MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== + - sig: MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== repository_id: 1 - bundle: mediaType: application/vnd.dev.sigstore.bundle.v0.3+json @@ -10790,8 +10208,7 @@ components: version: 0.0.1 integratedTime: '1716998992' inclusionPromise: - signedEntryTimestamp: >- - MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL + signedEntryTimestamp: MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL inclusionProof: logIndex: '93750549' rootHash: KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60= @@ -10811,24 +10228,16 @@ components: - sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ= - 98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8= checkpoint: - envelope: >- - rekor.sigstore.dev - - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— - rekor.sigstore.dev - wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n - canonicalizedBody: >- - eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= + envelope: rekor.sigstore.dev - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— rekor.sigstore.dev wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n + canonicalizedBody: eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= timestampVerificationData: {} certificate: - rawBytes: >- - MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== + rawBytes: MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== dsseEnvelope: - payload: >- - eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 + payload: eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 payloadType: application/vnd.in-toto+json signatures: - - sig: >- - MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== + - sig: MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== repository_id: 1 list-attestation-repositories: value: @@ -10839,110 +10248,12 @@ components: list-attestations: value: attestations: - - bundle: - mediaType: application/vnd.dev.sigstore.bundle.v0.3+json - verificationMaterial: - tlogEntries: - - logIndex: '97913980' - logId: - keyId: wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0= - kindVersion: - kind: dsse - version: 0.0.1 - integratedTime: '1716998992' - inclusionPromise: - signedEntryTimestamp: >- - MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL - inclusionProof: - logIndex: '93750549' - rootHash: KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60= - treeSize: '93750551' - hashes: - - 8LI21mzwxnUSo0fuZeFsUrz2ujZ4QAL+oGeTG+5toZg= - - nCb369rcIytNhGwWoqBv+eV49X3ZKpo/HJGKm9V+dck= - - hnNQ9mUdSwYCfdV21pd87NucrdRRNZATowlaRR1hJ4A= - - MBhhK33vlD4Tq/JKgAaXUI4VjmosWKe6+7RNpQ2ncNM= - - XKWUE3stvGV1OHsIGiCGfn047Ok6uD4mFkh7BaicaEc= - - Tgve40VPFfuei+0nhupdGpfPPR+hPpZjxgTiDT8WNoY= - - wV+S/7tLtYGzkLaSb6UDqexNyhMvumHK/RpTNvEZuLU= - - uwaWufty6sn6XqO1Tb9M3Vz6sBKPu0HT36mStxJNd7s= - - jUfeMOXQP0XF1JAnCEETVbfRKMUwCzrVUzYi8vnDMVs= - - xQKjzJAwwdlQG/YUYBKPXxbCmhMYKo1wnv+6vDuKWhQ= - - cX3Agx+hP66t1ZLbX/yHbfjU46/3m/VAmWyG/fhxAVc= - - sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ= - - 98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8= - checkpoint: - envelope: >- - rekor.sigstore.dev - - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— - rekor.sigstore.dev - wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n - canonicalizedBody: >- - eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= - timestampVerificationData: {} - certificate: - rawBytes: >- - MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== - dsseEnvelope: - payload: >- - eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 - payloadType: application/vnd.in-toto+json - signatures: - - sig: >- - MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== - repository_id: 1 - - bundle: - mediaType: application/vnd.dev.sigstore.bundle.v0.3+json - verificationMaterial: - tlogEntries: - - logIndex: '97913980' - logId: - keyId: wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0= - kindVersion: - kind: dsse - version: 0.0.1 - integratedTime: '1716998992' - inclusionPromise: - signedEntryTimestamp: >- - MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL - inclusionProof: - logIndex: '93750549' - rootHash: KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60= - treeSize: '93750551' - hashes: - - 8LI21mzwxnUSo0fuZeFsUrz2ujZ4QAL+oGeTG+5toZg= - - nCb369rcIytNhGwWoqBv+eV49X3ZKpo/HJGKm9V+dck= - - hnNQ9mUdSwYCfdV21pd87NucrdRRNZATowlaRR1hJ4A= - - MBhhK33vlD4Tq/JKgAaXUI4VjmosWKe6+7RNpQ2ncNM= - - XKWUE3stvGV1OHsIGiCGfn047Ok6uD4mFkh7BaicaEc= - - Tgve40VPFfuei+0nhupdGpfPPR+hPpZjxgTiDT8WNoY= - - wV+S/7tLtYGzkLaSb6UDqexNyhMvumHK/RpTNvEZuLU= - - uwaWufty6sn6XqO1Tb9M3Vz6sBKPu0HT36mStxJNd7s= - - jUfeMOXQP0XF1JAnCEETVbfRKMUwCzrVUzYi8vnDMVs= - - xQKjzJAwwdlQG/YUYBKPXxbCmhMYKo1wnv+6vDuKWhQ= - - cX3Agx+hP66t1ZLbX/yHbfjU46/3m/VAmWyG/fhxAVc= - - sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ= - - 98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8= - checkpoint: - envelope: >- - rekor.sigstore.dev - - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— - rekor.sigstore.dev - wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n - canonicalizedBody: >- - eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= - timestampVerificationData: {} - certificate: - rawBytes: >- - MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== - dsseEnvelope: - payload: >- - eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 - payloadType: application/vnd.in-toto+json - signatures: - - sig: >- - MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== - repository_id: 1 + - repository_id: 1 + bundle_url: https://tmastaging.blob.core.windows.net/attestations/1/2024/11/08/4.json.sn?se=2024-11-09T17%3A13%3A43Z&sig=jPSbbJnIEshUyCjBLU5Ykq0uuGc5UYxTZE1%2FhdBNMXk%3D&sp=r&spr=https%2Chttp&sr=b&st=2024-11-08T17%3A13%3A43Z&sv=2024-08-04 + initiator: user + - repository_id: 1 + bundle_url: https://tmastaging.blob.core.windows.net/attestations/1/2024/11/08/5.json.sn?se=2024-11-09T17%3A13%3A43Z&sig=jPSbbJnIEshUyCjBLU5Ykq0uuGc5UYxTZE1%2FhdBNMXk%3D&sp=r&spr=https%2Chttp&sr=b&st=2024-11-08T17%3A13%3A43Z&sv=2024-08-04 + initiator: user simple-user-items: value: - login: octocat @@ -11034,8 +10345,7 @@ components: id: 1 url: https://api.github.com/orgs/octocat/hooks/1 ping_url: https://api.github.com/orgs/octocat/hooks/1/pings - deliveries_url: >- - https://api.github.com/repos/octocat/Hello-World/hooks/12345678/deliveries + deliveries_url: https://api.github.com/repos/octocat/Hello-World/hooks/12345678/deliveries name: web events: - pull_request @@ -11193,8 +10503,7 @@ components: repository_selection: selected access_tokens_url: https://api.github.com/app/installations/25381/access_tokens repositories_url: https://api.github.com/installation/repositories - html_url: >- - https://github.com/organizations/octo-org/settings/installations/25381 + html_url: https://github.com/organizations/octo-org/settings/installations/25381 app_id: 2218 target_id: 6811672 target_type: Organization @@ -11287,6 +10596,23 @@ components: color: green created_at: '2024-12-11T14:39:09Z' updated_at: '2024-12-11T14:39:09Z' + - id: 3 + node_id: IFMS_kwDNAd3NAZt + name: Categories + description: Issue categories + data_type: multi_select + options: + - id: 4 + name: Frontend + color: blue + - id: 5 + name: Backend + color: green + - id: 6 + name: Infrastructure + color: purple + created_at: '2024-12-11T14:39:09Z' + updated_at: '2024-12-11T14:39:09Z' issue-field: value: id: 512 @@ -11491,8 +10817,7 @@ components: type: User site_admin: false repository_selection: all - repositories_url: >- - https://api.github.com/organizations/652551/personal-access-token-requests/25381/repositories + repositories_url: https://api.github.com/organizations/652551/personal-access-token-requests/25381/repositories permissions: organization: members: read @@ -11534,17 +10859,14 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments @@ -11555,18 +10877,15 @@ components: git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -11645,8 +10964,7 @@ components: type: User site_admin: false repository_selection: all - repositories_url: >- - https://api.github.com/organizations/652551/personal-access-tokens/25381/repositories + repositories_url: https://api.github.com/organizations/652551/personal-access-tokens/25381/repositories permissions: organization: members: read @@ -11821,17 +11139,14 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments @@ -11842,19 +11157,15 @@ components: git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges - milestones_url: >- - https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -12032,69 +11343,146 @@ components: site_admin: false headers: link: - example: >- - ; rel="next", - ; rel="last" + example: ; rel="next", ; rel="last" schema: type: string x-stackQL-resources: - orgs: - id: github.orgs.orgs - name: orgs - title: Orgs + api_insights_route_stats: + id: github.orgs.api_insights_route_stats + name: api_insights_route_stats + title: Api Insights Route Stats methods: - list: + get_route_stats_by_actor: operation: - $ref: '#/paths/~1organizations/get' + $ref: '#/paths/~1orgs~1{org}~1insights~1api~1route-stats~1{actor_type}~1{actor_id}/get' response: mediaType: application/json openAPIDocKey: '200' - get: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/api_insights_route_stats/methods/get_route_stats_by_actor' + insert: [] + update: [] + delete: [] + replace: [] + api_insights_subject_stats: + id: github.orgs.api_insights_subject_stats + name: api_insights_subject_stats + title: Api Insights Subject Stats + methods: + get_subject_stats: operation: - $ref: '#/paths/~1orgs~1{org}/get' + $ref: '#/paths/~1orgs~1{org}~1insights~1api~1subject-stats/get' response: mediaType: application/json openAPIDocKey: '200' - update: - config: - requestBodyTranslate: - algorithm: naive + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/api_insights_subject_stats/methods/get_subject_stats' + insert: [] + update: [] + delete: [] + replace: [] + api_insights_summary_stats: + id: github.orgs.api_insights_summary_stats + name: api_insights_summary_stats + title: Api Insights Summary Stats + methods: + get_summary_stats: operation: - $ref: '#/paths/~1orgs~1{org}/patch' + $ref: '#/paths/~1orgs~1{org}~1insights~1api~1summary-stats/get' response: mediaType: application/json openAPIDocKey: '200' - delete: + get_summary_stats_by_user: operation: - $ref: '#/paths/~1orgs~1{org}/delete' + $ref: '#/paths/~1orgs~1{org}~1insights~1api~1summary-stats~1users~1{user_id}/get' response: mediaType: application/json - openAPIDocKey: '202' - enable_or_disable_security_product_on_all_org_repos: - config: - requestBodyTranslate: - algorithm: naive + openAPIDocKey: '200' + get_summary_stats_by_actor: operation: - $ref: '#/paths/~1orgs~1{org}~1{security_product}~1{enablement}/post' + $ref: '#/paths/~1orgs~1{org}~1insights~1api~1summary-stats~1{actor_type}~1{actor_id}/get' response: mediaType: application/json - openAPIDocKey: '204' - list_for_user: + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/api_insights_summary_stats/methods/get_summary_stats_by_actor' + - $ref: '#/components/x-stackQL-resources/api_insights_summary_stats/methods/get_summary_stats_by_user' + - $ref: '#/components/x-stackQL-resources/api_insights_summary_stats/methods/get_summary_stats' + insert: [] + update: [] + delete: [] + replace: [] + api_insights_time_stats: + id: github.orgs.api_insights_time_stats + name: api_insights_time_stats + title: Api Insights Time Stats + methods: + get_time_stats: operation: - $ref: '#/paths/~1users~1{username}~1orgs/get' + $ref: '#/paths/~1orgs~1{org}~1insights~1api~1time-stats/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_time_stats_by_user: + operation: + $ref: '#/paths/~1orgs~1{org}~1insights~1api~1time-stats~1users~1{user_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_time_stats_by_actor: + operation: + $ref: '#/paths/~1orgs~1{org}~1insights~1api~1time-stats~1{actor_type}~1{actor_id}/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/orgs/methods/get' - - $ref: '#/components/x-stackQL-resources/orgs/methods/list_for_user' - - $ref: '#/components/x-stackQL-resources/orgs/methods/list' + - $ref: '#/components/x-stackQL-resources/api_insights_time_stats/methods/get_time_stats_by_actor' + - $ref: '#/components/x-stackQL-resources/api_insights_time_stats/methods/get_time_stats_by_user' + - $ref: '#/components/x-stackQL-resources/api_insights_time_stats/methods/get_time_stats' insert: [] - update: - - $ref: '#/components/x-stackQL-resources/orgs/methods/update' - delete: - - $ref: '#/components/x-stackQL-resources/orgs/methods/delete' + update: [] + delete: [] + replace: [] + api_insights_user_stats: + id: github.orgs.api_insights_user_stats + name: api_insights_user_stats + title: Api Insights User Stats + methods: + get_user_stats: + operation: + $ref: '#/paths/~1orgs~1{org}~1insights~1api~1user-stats~1{user_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/api_insights_user_stats/methods/get_user_stats' + insert: [] + update: [] + delete: [] + replace: [] + app_installations: + id: github.orgs.app_installations + name: app_installations + title: App Installations + methods: + list_app_installations: + operation: + $ref: '#/paths/~1orgs~1{org}~1installations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.installations + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/app_installations/methods/list_app_installations' + insert: [] + update: [] + delete: [] replace: [] artifact_deployment_records: id: github.orgs.artifact_deployment_records @@ -12115,28 +11503,23 @@ components: requestBodyTranslate: algorithm: naive operation: - $ref: >- - #/paths/~1orgs~1{org}~1artifacts~1metadata~1deployment-record~1cluster~1{cluster}/post + $ref: '#/paths/~1orgs~1{org}~1artifacts~1metadata~1deployment-record~1cluster~1{cluster}/post' response: mediaType: application/json openAPIDocKey: '200' list_artifact_deployment_records: operation: - $ref: >- - #/paths/~1orgs~1{org}~1artifacts~1{subject_digest}~1metadata~1deployment-records/get + $ref: '#/paths/~1orgs~1{org}~1artifacts~1{subject_digest}~1metadata~1deployment-records/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.deployment_records sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/artifact_deployment_records/methods/list_artifact_deployment_records + - $ref: '#/components/x-stackQL-resources/artifact_deployment_records/methods/list_artifact_deployment_records' insert: - - $ref: >- - #/components/x-stackQL-resources/artifact_deployment_records/methods/set_cluster_deployment_records - - $ref: >- - #/components/x-stackQL-resources/artifact_deployment_records/methods/create_artifact_deployment_record + - $ref: '#/components/x-stackQL-resources/artifact_deployment_records/methods/set_cluster_deployment_records' + - $ref: '#/components/x-stackQL-resources/artifact_deployment_records/methods/create_artifact_deployment_record' update: [] delete: [] replace: [] @@ -12156,25 +11539,40 @@ components: openAPIDocKey: '200' list_artifact_storage_records: operation: - $ref: >- - #/paths/~1orgs~1{org}~1artifacts~1{subject_digest}~1metadata~1storage-records/get + $ref: '#/paths/~1orgs~1{org}~1artifacts~1{subject_digest}~1metadata~1storage-records/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.storage_records sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/artifact_storage_records/methods/list_artifact_storage_records + - $ref: '#/components/x-stackQL-resources/artifact_storage_records/methods/list_artifact_storage_records' insert: - - $ref: >- - #/components/x-stackQL-resources/artifact_storage_records/methods/create_artifact_storage_record + - $ref: '#/components/x-stackQL-resources/artifact_storage_records/methods/create_artifact_storage_record' update: [] delete: [] replace: [] - attestations: - id: github.orgs.attestations - name: attestations + attestation_repositories: + id: github.orgs.attestation_repositories + name: attestation_repositories + title: Attestation Repositories + methods: + list_attestation_repositories: + operation: + $ref: '#/paths/~1orgs~1{org}~1attestations~1repositories/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/attestation_repositories/methods/list_attestation_repositories' + insert: [] + update: [] + delete: [] + replace: [] + attestations: + id: github.orgs.attestations + name: attestations title: Attestations methods: list_attestations_bulk: @@ -12197,8 +11595,7 @@ components: openAPIDocKey: '200' delete_attestations_by_subject_digest: operation: - $ref: >- - #/paths/~1orgs~1{org}~1attestations~1digest~1{subject_digest}/delete + $ref: '#/paths/~1orgs~1{org}~1attestations~1digest~1{subject_digest}/delete' response: mediaType: application/json openAPIDocKey: '200' @@ -12217,34 +11614,12 @@ components: objectKey: $.attestations sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/attestations/methods/list_attestations + - $ref: '#/components/x-stackQL-resources/attestations/methods/list_attestations' insert: [] update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/attestations/methods/delete_attestations_by_subject_digest - - $ref: >- - #/components/x-stackQL-resources/attestations/methods/delete_attestations_by_id - replace: [] - attestation_repositories: - id: github.orgs.attestation_repositories - name: attestation_repositories - title: Attestation Repositories - methods: - list_attestation_repositories: - operation: - $ref: '#/paths/~1orgs~1{org}~1attestations~1repositories/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/attestation_repositories/methods/list_attestation_repositories - insert: [] - update: [] - delete: [] + - $ref: '#/components/x-stackQL-resources/attestations/methods/delete_attestations_by_subject_digest' + - $ref: '#/components/x-stackQL-resources/attestations/methods/delete_attestations_by_id' replace: [] blocking: id: github.orgs.blocking @@ -12277,422 +11652,304 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/blocking/methods/list_blocked_users + - $ref: '#/components/x-stackQL-resources/blocking/methods/list_blocked_users' insert: [] update: [] delete: [] replace: [] - failed_invitations: - id: github.orgs.failed_invitations - name: failed_invitations - title: Failed Invitations + cluster_deployment_records_jobs: + id: github.orgs.cluster_deployment_records_jobs + name: cluster_deployment_records_jobs + title: Cluster Deployment Records Jobs methods: - list_failed_invitations: + create_cluster_deployment_records_job: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1orgs~1{org}~1failed_invitations/get' + $ref: '#/paths/~1orgs~1{org}~1artifacts~1metadata~1deployment-record~1cluster~1{cluster}~1jobs/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_cluster_deployment_records_job: + operation: + $ref: '#/paths/~1orgs~1{org}~1artifacts~1metadata~1deployment-record~1cluster~1{cluster}~1jobs~1{job_id}/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/failed_invitations/methods/list_failed_invitations - insert: [] + - $ref: '#/components/x-stackQL-resources/cluster_deployment_records_jobs/methods/get_cluster_deployment_records_job' + insert: + - $ref: '#/components/x-stackQL-resources/cluster_deployment_records_jobs/methods/create_cluster_deployment_records_job' update: [] delete: [] replace: [] - webhooks: - id: github.orgs.webhooks - name: webhooks - title: Webhooks + custom_properties: + id: github.orgs.custom_properties + name: custom_properties + title: Custom Properties methods: - list_webhooks: + custom_properties_for_repos_get_organization_definitions: operation: - $ref: '#/paths/~1orgs~1{org}~1hooks/get' + $ref: '#/paths/~1orgs~1{org}~1properties~1schema/get' response: mediaType: application/json openAPIDocKey: '200' - create_webhook: + custom_properties_for_repos_create_or_update_organization_definitions: config: requestBodyTranslate: algorithm: naive operation: - $ref: '#/paths/~1orgs~1{org}~1hooks/post' + $ref: '#/paths/~1orgs~1{org}~1properties~1schema/patch' response: mediaType: application/json - openAPIDocKey: '201' - get_webhook: + openAPIDocKey: '200' + custom_properties_for_repos_get_organization_definition: operation: - $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}/get' + $ref: '#/paths/~1orgs~1{org}~1properties~1schema~1{custom_property_name}/get' response: mediaType: application/json openAPIDocKey: '200' - update_webhook: + custom_properties_for_repos_create_or_update_organization_definition: config: requestBodyTranslate: algorithm: naive operation: - $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}/patch' + $ref: '#/paths/~1orgs~1{org}~1properties~1schema~1{custom_property_name}/put' response: mediaType: application/json openAPIDocKey: '200' - delete_webhook: - operation: - $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - ping_webhook: + custom_properties_for_repos_delete_organization_definition: operation: - $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}~1pings/post' + $ref: '#/paths/~1orgs~1{org}~1properties~1schema~1{custom_property_name}/delete' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/webhooks/methods/get_webhook' - - $ref: '#/components/x-stackQL-resources/webhooks/methods/list_webhooks' - insert: - - $ref: '#/components/x-stackQL-resources/webhooks/methods/create_webhook' + - $ref: '#/components/x-stackQL-resources/custom_properties/methods/custom_properties_for_repos_get_organization_definition' + - $ref: '#/components/x-stackQL-resources/custom_properties/methods/custom_properties_for_repos_get_organization_definitions' + insert: [] update: - - $ref: '#/components/x-stackQL-resources/webhooks/methods/update_webhook' + - $ref: '#/components/x-stackQL-resources/custom_properties/methods/custom_properties_for_repos_create_or_update_organization_definitions' delete: - - $ref: '#/components/x-stackQL-resources/webhooks/methods/delete_webhook' - replace: [] - webhook_config: - id: github.orgs.webhook_config - name: webhook_config - title: Webhook Config + - $ref: '#/components/x-stackQL-resources/custom_properties/methods/custom_properties_for_repos_delete_organization_definition' + replace: + - $ref: '#/components/x-stackQL-resources/custom_properties/methods/custom_properties_for_repos_create_or_update_organization_definition' + custom_property_values: + id: github.orgs.custom_property_values + name: custom_property_values + title: Custom Property Values methods: - get_webhook_config_for_org: + custom_properties_for_repos_get_organization_values: operation: - $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}~1config/get' + $ref: '#/paths/~1orgs~1{org}~1properties~1values/get' response: mediaType: application/json openAPIDocKey: '200' - update_webhook_config_for_org: + custom_properties_for_repos_create_or_update_organization_values: config: requestBodyTranslate: algorithm: naive operation: - $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}~1config/patch' + $ref: '#/paths/~1orgs~1{org}~1properties~1values/patch' response: mediaType: application/json - openAPIDocKey: '200' + openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/webhook_config/methods/get_webhook_config_for_org + - $ref: '#/components/x-stackQL-resources/custom_property_values/methods/custom_properties_for_repos_get_organization_values' insert: [] update: - - $ref: >- - #/components/x-stackQL-resources/webhook_config/methods/update_webhook_config_for_org + - $ref: '#/components/x-stackQL-resources/custom_property_values/methods/custom_properties_for_repos_create_or_update_organization_values' delete: [] replace: [] - webhook_deliveries: - id: github.orgs.webhook_deliveries - name: webhook_deliveries - title: Webhook Deliveries + failed_invitations: + id: github.orgs.failed_invitations + name: failed_invitations + title: Failed Invitations methods: - list_webhook_deliveries: + list_failed_invitations: operation: - $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}~1deliveries/get' + $ref: '#/paths/~1orgs~1{org}~1failed_invitations/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/webhook_deliveries/methods/list_webhook_deliveries + - $ref: '#/components/x-stackQL-resources/failed_invitations/methods/list_failed_invitations' insert: [] update: [] delete: [] replace: [] - webhook_delivery: - id: github.orgs.webhook_delivery - name: webhook_delivery - title: Webhook Delivery + immutable_releases_repos: + id: github.orgs.immutable_releases_repos + name: immutable_releases_repos + title: Immutable Releases Repos methods: - get_webhook_delivery: + get_immutable_releases_settings_repositories: operation: - $ref: >- - #/paths/~1orgs~1{org}~1hooks~1{hook_id}~1deliveries~1{delivery_id}/get + $ref: '#/paths/~1orgs~1{org}~1settings~1immutable-releases~1repositories/get' response: mediaType: application/json openAPIDocKey: '200' - redeliver_webhook_delivery: + set_immutable_releases_settings_repositories: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1orgs~1{org}~1hooks~1{hook_id}~1deliveries~1{delivery_id}~1attempts/post + $ref: '#/paths/~1orgs~1{org}~1settings~1immutable-releases~1repositories/put' response: mediaType: application/json - openAPIDocKey: '202' + openAPIDocKey: '204' + enable_selected_repository_immutable_releases_organization: + operation: + $ref: '#/paths/~1orgs~1{org}~1settings~1immutable-releases~1repositories~1{repository_id}/put' + response: + mediaType: application/json + openAPIDocKey: '204' + disable_selected_repository_immutable_releases_organization: + operation: + $ref: '#/paths/~1orgs~1{org}~1settings~1immutable-releases~1repositories~1{repository_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/webhook_delivery/methods/get_webhook_delivery + - $ref: '#/components/x-stackQL-resources/immutable_releases_repos/methods/get_immutable_releases_settings_repositories' insert: [] update: [] - delete: [] - replace: [] - api_insights_route_stats: - id: github.orgs.api_insights_route_stats - name: api_insights_route_stats - title: Api Insights Route Stats + delete: + - $ref: '#/components/x-stackQL-resources/immutable_releases_repos/methods/disable_selected_repository_immutable_releases_organization' + replace: + - $ref: '#/components/x-stackQL-resources/immutable_releases_repos/methods/enable_selected_repository_immutable_releases_organization' + - $ref: '#/components/x-stackQL-resources/immutable_releases_repos/methods/set_immutable_releases_settings_repositories' + immutable_releases_settings: + id: github.orgs.immutable_releases_settings + name: immutable_releases_settings + title: Immutable Releases Settings methods: - get_route_stats_by_actor: + get_immutable_releases_settings: operation: - $ref: >- - #/paths/~1orgs~1{org}~1insights~1api~1route-stats~1{actor_type}~1{actor_id}/get + $ref: '#/paths/~1orgs~1{org}~1settings~1immutable-releases/get' response: mediaType: application/json openAPIDocKey: '200' + set_immutable_releases_settings: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1orgs~1{org}~1settings~1immutable-releases/put' + response: + mediaType: application/json + openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/api_insights_route_stats/methods/get_route_stats_by_actor + - $ref: '#/components/x-stackQL-resources/immutable_releases_settings/methods/get_immutable_releases_settings' insert: [] update: [] delete: [] - replace: [] - api_insights_subject_stats: - id: github.orgs.api_insights_subject_stats - name: api_insights_subject_stats - title: Api Insights Subject Stats + replace: + - $ref: '#/components/x-stackQL-resources/immutable_releases_settings/methods/set_immutable_releases_settings' + invitation_teams: + id: github.orgs.invitation_teams + name: invitation_teams + title: Invitation Teams methods: - get_subject_stats: + list_invitation_teams: operation: - $ref: '#/paths/~1orgs~1{org}~1insights~1api~1subject-stats/get' + $ref: '#/paths/~1orgs~1{org}~1invitations~1{invitation_id}~1teams/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/api_insights_subject_stats/methods/get_subject_stats + - $ref: '#/components/x-stackQL-resources/invitation_teams/methods/list_invitation_teams' insert: [] update: [] delete: [] replace: [] - api_insights_summary_stats: - id: github.orgs.api_insights_summary_stats - name: api_insights_summary_stats - title: Api Insights Summary Stats + invitations: + id: github.orgs.invitations + name: invitations + title: Invitations methods: - get_summary_stats: + list_pending_invitations: operation: - $ref: '#/paths/~1orgs~1{org}~1insights~1api~1summary-stats/get' + $ref: '#/paths/~1orgs~1{org}~1invitations/get' response: mediaType: application/json openAPIDocKey: '200' - get_summary_stats_by_user: + create_invitation: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1orgs~1{org}~1insights~1api~1summary-stats~1users~1{user_id}/get + $ref: '#/paths/~1orgs~1{org}~1invitations/post' response: mediaType: application/json - openAPIDocKey: '200' - get_summary_stats_by_actor: + openAPIDocKey: '201' + cancel_invitation: operation: - $ref: >- - #/paths/~1orgs~1{org}~1insights~1api~1summary-stats~1{actor_type}~1{actor_id}/get + $ref: '#/paths/~1orgs~1{org}~1invitations~1{invitation_id}/delete' response: mediaType: application/json - openAPIDocKey: '200' + openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/api_insights_summary_stats/methods/get_summary_stats_by_actor - - $ref: >- - #/components/x-stackQL-resources/api_insights_summary_stats/methods/get_summary_stats_by_user - - $ref: >- - #/components/x-stackQL-resources/api_insights_summary_stats/methods/get_summary_stats - insert: [] + - $ref: '#/components/x-stackQL-resources/invitations/methods/list_pending_invitations' + insert: + - $ref: '#/components/x-stackQL-resources/invitations/methods/create_invitation' update: [] - delete: [] + delete: + - $ref: '#/components/x-stackQL-resources/invitations/methods/cancel_invitation' replace: [] - api_insights_time_stats: - id: github.orgs.api_insights_time_stats - name: api_insights_time_stats - title: Api Insights Time Stats + issue_fields: + id: github.orgs.issue_fields + name: issue_fields + title: Issue Fields methods: - get_time_stats: + list_issue_fields: operation: - $ref: '#/paths/~1orgs~1{org}~1insights~1api~1time-stats/get' + $ref: '#/paths/~1orgs~1{org}~1issue-fields/get' response: mediaType: application/json openAPIDocKey: '200' - get_time_stats_by_user: + create_issue_field: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1orgs~1{org}~1insights~1api~1time-stats~1users~1{user_id}/get + $ref: '#/paths/~1orgs~1{org}~1issue-fields/post' response: mediaType: application/json openAPIDocKey: '200' - get_time_stats_by_actor: + update_issue_field: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1orgs~1{org}~1insights~1api~1time-stats~1{actor_type}~1{actor_id}/get + $ref: '#/paths/~1orgs~1{org}~1issue-fields~1{issue_field_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + delete_issue_field: + operation: + $ref: '#/paths/~1orgs~1{org}~1issue-fields~1{issue_field_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/api_insights_time_stats/methods/get_time_stats_by_actor - - $ref: >- - #/components/x-stackQL-resources/api_insights_time_stats/methods/get_time_stats_by_user - - $ref: >- - #/components/x-stackQL-resources/api_insights_time_stats/methods/get_time_stats - insert: [] - update: [] - delete: [] - replace: [] - api_insights_user_stats: - id: github.orgs.api_insights_user_stats - name: api_insights_user_stats - title: Api Insights User Stats - methods: - get_user_stats: - operation: - $ref: '#/paths/~1orgs~1{org}~1insights~1api~1user-stats~1{user_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/api_insights_user_stats/methods/get_user_stats - insert: [] - update: [] - delete: [] - replace: [] - app_installations: - id: github.orgs.app_installations - name: app_installations - title: App Installations - methods: - list_app_installations: - operation: - $ref: '#/paths/~1orgs~1{org}~1installations/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.installations - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/app_installations/methods/list_app_installations - insert: [] - update: [] - delete: [] - replace: [] - invitations: - id: github.orgs.invitations - name: invitations - title: Invitations - methods: - list_pending_invitations: - operation: - $ref: '#/paths/~1orgs~1{org}~1invitations/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create_invitation: - config: - requestBodyTranslate: - algorithm: naive - operation: - $ref: '#/paths/~1orgs~1{org}~1invitations/post' - response: - mediaType: application/json - openAPIDocKey: '201' - cancel_invitation: - operation: - $ref: '#/paths/~1orgs~1{org}~1invitations~1{invitation_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/invitations/methods/list_pending_invitations - insert: - - $ref: >- - #/components/x-stackQL-resources/invitations/methods/create_invitation - update: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/invitations/methods/cancel_invitation - replace: [] - invitation_teams: - id: github.orgs.invitation_teams - name: invitation_teams - title: Invitation Teams - methods: - list_invitation_teams: - operation: - $ref: '#/paths/~1orgs~1{org}~1invitations~1{invitation_id}~1teams/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/invitation_teams/methods/list_invitation_teams - insert: [] - update: [] - delete: [] - replace: [] - issue_fields: - id: github.orgs.issue_fields - name: issue_fields - title: Issue Fields - methods: - list_issue_fields: - operation: - $ref: '#/paths/~1orgs~1{org}~1issue-fields/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create_issue_field: - config: - requestBodyTranslate: - algorithm: naive - operation: - $ref: '#/paths/~1orgs~1{org}~1issue-fields/post' - response: - mediaType: application/json - openAPIDocKey: '200' - update_issue_field: - config: - requestBodyTranslate: - algorithm: naive - operation: - $ref: '#/paths/~1orgs~1{org}~1issue-fields~1{issue_field_id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_issue_field: - operation: - $ref: '#/paths/~1orgs~1{org}~1issue-fields~1{issue_field_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/issue_fields/methods/list_issue_fields - insert: - - $ref: >- - #/components/x-stackQL-resources/issue_fields/methods/create_issue_field - update: - - $ref: >- - #/components/x-stackQL-resources/issue_fields/methods/update_issue_field - delete: - - $ref: >- - #/components/x-stackQL-resources/issue_fields/methods/delete_issue_field + - $ref: '#/components/x-stackQL-resources/issue_fields/methods/list_issue_fields' + insert: + - $ref: '#/components/x-stackQL-resources/issue_fields/methods/create_issue_field' + update: + - $ref: '#/components/x-stackQL-resources/issue_fields/methods/update_issue_field' + delete: + - $ref: '#/components/x-stackQL-resources/issue_fields/methods/delete_issue_field' replace: [] issue_types: id: github.orgs.issue_types @@ -12731,18 +11988,14 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/issue_types/methods/list_issue_types + - $ref: '#/components/x-stackQL-resources/issue_types/methods/list_issue_types' insert: - - $ref: >- - #/components/x-stackQL-resources/issue_types/methods/create_issue_type + - $ref: '#/components/x-stackQL-resources/issue_types/methods/create_issue_type' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/issue_types/methods/delete_issue_type + - $ref: '#/components/x-stackQL-resources/issue_types/methods/delete_issue_type' replace: - - $ref: >- - #/components/x-stackQL-resources/issue_types/methods/update_issue_type + - $ref: '#/components/x-stackQL-resources/issue_types/methods/update_issue_type' members: id: github.orgs.members name: members @@ -12823,140 +12076,92 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/memberships/methods/get_membership_for_user - - $ref: >- - #/components/x-stackQL-resources/memberships/methods/get_membership_for_authenticated_user - - $ref: >- - #/components/x-stackQL-resources/memberships/methods/list_memberships_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/memberships/methods/get_membership_for_user' + - $ref: '#/components/x-stackQL-resources/memberships/methods/get_membership_for_authenticated_user' + - $ref: '#/components/x-stackQL-resources/memberships/methods/list_memberships_for_authenticated_user' insert: [] update: - - $ref: >- - #/components/x-stackQL-resources/memberships/methods/update_membership_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/memberships/methods/update_membership_for_authenticated_user' delete: - - $ref: >- - #/components/x-stackQL-resources/memberships/methods/remove_membership_for_user + - $ref: '#/components/x-stackQL-resources/memberships/methods/remove_membership_for_user' replace: - - $ref: >- - #/components/x-stackQL-resources/memberships/methods/set_membership_for_user - roles: - id: github.orgs.roles - name: roles - title: Roles + - $ref: '#/components/x-stackQL-resources/memberships/methods/set_membership_for_user' + orgs: + id: github.orgs.orgs + name: orgs + title: Orgs methods: - list_org_roles: + list: operation: - $ref: '#/paths/~1orgs~1{org}~1organization-roles/get' + $ref: '#/paths/~1organizations/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.roles - get_org_role: + get: operation: - $ref: '#/paths/~1orgs~1{org}~1organization-roles~1{role_id}/get' + $ref: '#/paths/~1orgs~1{org}/get' response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/roles/methods/get_org_role' - - $ref: '#/components/x-stackQL-resources/roles/methods/list_org_roles' - insert: [] - update: [] - delete: [] - replace: [] - role_team_assignments: - id: github.orgs.role_team_assignments - name: role_team_assignments - title: Role Team Assignments - methods: - revoke_all_org_roles_team: + update: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1orgs~1{org}~1organization-roles~1teams~1{team_slug}/delete + $ref: '#/paths/~1orgs~1{org}/patch' response: mediaType: application/json - openAPIDocKey: '204' - assign_team_to_org_role: + openAPIDocKey: '200' + delete: operation: - $ref: >- - #/paths/~1orgs~1{org}~1organization-roles~1teams~1{team_slug}~1{role_id}/put + $ref: '#/paths/~1orgs~1{org}/delete' response: mediaType: application/json - openAPIDocKey: '204' - revoke_org_role_team: + openAPIDocKey: '202' + enable_or_disable_security_product_on_all_org_repos: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1orgs~1{org}~1organization-roles~1teams~1{team_slug}~1{role_id}/delete + $ref: '#/paths/~1orgs~1{org}~1{security_product}~1{enablement}/post' response: mediaType: application/json openAPIDocKey: '204' - list_org_role_teams: + list_for_user: operation: - $ref: '#/paths/~1orgs~1{org}~1organization-roles~1{role_id}~1teams/get' + $ref: '#/paths/~1users~1{username}~1orgs/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/role_team_assignments/methods/list_org_role_teams + - $ref: '#/components/x-stackQL-resources/orgs/methods/get' + - $ref: '#/components/x-stackQL-resources/orgs/methods/list_for_user' + - $ref: '#/components/x-stackQL-resources/orgs/methods/list' insert: [] - update: [] + update: + - $ref: '#/components/x-stackQL-resources/orgs/methods/update' delete: - - $ref: >- - #/components/x-stackQL-resources/role_team_assignments/methods/revoke_org_role_team - - $ref: >- - #/components/x-stackQL-resources/role_team_assignments/methods/revoke_all_org_roles_team - replace: - - $ref: >- - #/components/x-stackQL-resources/role_team_assignments/methods/assign_team_to_org_role - role_user_assignments: - id: github.orgs.role_user_assignments - name: role_user_assignments - title: Role User Assignments + - $ref: '#/components/x-stackQL-resources/orgs/methods/delete' + replace: [] + orgs_for_user: + id: github.orgs.orgs_for_user + name: orgs_for_user + title: Orgs For User methods: - revoke_all_org_roles_user: - operation: - $ref: >- - #/paths/~1orgs~1{org}~1organization-roles~1users~1{username}/delete - response: - mediaType: application/json - openAPIDocKey: '204' - assign_user_to_org_role: - operation: - $ref: >- - #/paths/~1orgs~1{org}~1organization-roles~1users~1{username}~1{role_id}/put - response: - mediaType: application/json - openAPIDocKey: '204' - revoke_org_role_user: - operation: - $ref: >- - #/paths/~1orgs~1{org}~1organization-roles~1users~1{username}~1{role_id}/delete - response: - mediaType: application/json - openAPIDocKey: '204' - list_org_role_users: + list_for_authenticated_user: operation: - $ref: '#/paths/~1orgs~1{org}~1organization-roles~1{role_id}~1users/get' + $ref: '#/paths/~1user~1orgs/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/role_user_assignments/methods/list_org_role_users + - $ref: '#/components/x-stackQL-resources/orgs_for_user/methods/list_for_authenticated_user' insert: [] update: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/role_user_assignments/methods/revoke_org_role_user - - $ref: >- - #/components/x-stackQL-resources/role_user_assignments/methods/revoke_all_org_roles_user - replace: - - $ref: >- - #/components/x-stackQL-resources/role_user_assignments/methods/assign_user_to_org_role + delete: [] + replace: [] outside_collaborators: id: github.orgs.outside_collaborators name: outside_collaborators @@ -12985,13 +12190,11 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/outside_collaborators/methods/list_outside_collaborators + - $ref: '#/components/x-stackQL-resources/outside_collaborators/methods/list_outside_collaborators' insert: [] update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/outside_collaborators/methods/remove_outside_collaborator + - $ref: '#/components/x-stackQL-resources/outside_collaborators/methods/remove_outside_collaborator' replace: [] pat_grant_requests: id: github.orgs.pat_grant_requests @@ -13018,35 +12221,13 @@ components: requestBodyTranslate: algorithm: naive operation: - $ref: >- - #/paths/~1orgs~1{org}~1personal-access-token-requests~1{pat_request_id}/post + $ref: '#/paths/~1orgs~1{org}~1personal-access-token-requests~1{pat_request_id}/post' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/pat_grant_requests/methods/list_pat_grant_requests - insert: [] - update: [] - delete: [] - replace: [] - repos_for_pat_grant_requests: - id: github.orgs.repos_for_pat_grant_requests - name: repos_for_pat_grant_requests - title: Repos For Pat Grant Requests - methods: - list_pat_grant_request_repositories: - operation: - $ref: >- - #/paths/~1orgs~1{org}~1personal-access-token-requests~1{pat_request_id}~1repositories/get - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/repos_for_pat_grant_requests/methods/list_pat_grant_request_repositories + - $ref: '#/components/x-stackQL-resources/pat_grant_requests/methods/list_pat_grant_requests' insert: [] update: [] delete: [] @@ -13082,163 +12263,189 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/pat_grants/methods/list_pat_grants + - $ref: '#/components/x-stackQL-resources/pat_grants/methods/list_pat_grants' insert: [] update: [] delete: [] replace: [] - repos_for_pat_grants: - id: github.orgs.repos_for_pat_grants - name: repos_for_pat_grants - title: Repos For Pat Grants + public_members: + id: github.orgs.public_members + name: public_members + title: Public Members methods: - list_pat_grant_repositories: + list_public_members: operation: - $ref: >- - #/paths/~1orgs~1{org}~1personal-access-tokens~1{pat_id}~1repositories/get + $ref: '#/paths/~1orgs~1{org}~1public_members/get' response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/repos_for_pat_grants/methods/list_pat_grant_repositories - insert: [] - update: [] - delete: [] - replace: [] - custom_properties: - id: github.orgs.custom_properties - name: custom_properties - title: Custom Properties - methods: - custom_properties_for_repos_get_organization_definitions: + check_public_membership_for_user: operation: - $ref: '#/paths/~1orgs~1{org}~1properties~1schema/get' - response: - mediaType: application/json - openAPIDocKey: '200' - custom_properties_for_repos_create_or_update_organization_definitions: - config: - requestBodyTranslate: - algorithm: naive - operation: - $ref: '#/paths/~1orgs~1{org}~1properties~1schema/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - custom_properties_for_repos_get_organization_definition: - operation: - $ref: >- - #/paths/~1orgs~1{org}~1properties~1schema~1{custom_property_name}/get + $ref: '#/paths/~1orgs~1{org}~1public_members~1{username}/get' response: mediaType: application/json - openAPIDocKey: '200' - custom_properties_for_repos_create_or_update_organization_definition: - config: - requestBodyTranslate: - algorithm: naive + openAPIDocKey: '204' + set_public_membership_for_authenticated_user: operation: - $ref: >- - #/paths/~1orgs~1{org}~1properties~1schema~1{custom_property_name}/put + $ref: '#/paths/~1orgs~1{org}~1public_members~1{username}/put' response: mediaType: application/json - openAPIDocKey: '200' - custom_properties_for_repos_delete_organization_definition: + openAPIDocKey: '204' + remove_public_membership_for_authenticated_user: operation: - $ref: >- - #/paths/~1orgs~1{org}~1properties~1schema~1{custom_property_name}/delete + $ref: '#/paths/~1orgs~1{org}~1public_members~1{username}/delete' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/custom_properties/methods/custom_properties_for_repos_get_organization_definition - - $ref: >- - #/components/x-stackQL-resources/custom_properties/methods/custom_properties_for_repos_get_organization_definitions + - $ref: '#/components/x-stackQL-resources/public_members/methods/list_public_members' insert: [] - update: - - $ref: >- - #/components/x-stackQL-resources/custom_properties/methods/custom_properties_for_repos_create_or_update_organization_definitions + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/custom_properties/methods/custom_properties_for_repos_delete_organization_definition + - $ref: '#/components/x-stackQL-resources/public_members/methods/remove_public_membership_for_authenticated_user' replace: - - $ref: >- - #/components/x-stackQL-resources/custom_properties/methods/custom_properties_for_repos_create_or_update_organization_definition - custom_property_values: - id: github.orgs.custom_property_values - name: custom_property_values - title: Custom Property Values + - $ref: '#/components/x-stackQL-resources/public_members/methods/set_public_membership_for_authenticated_user' + repos_for_pat_grant_requests: + id: github.orgs.repos_for_pat_grant_requests + name: repos_for_pat_grant_requests + title: Repos For Pat Grant Requests methods: - custom_properties_for_repos_get_organization_values: + list_pat_grant_request_repositories: operation: - $ref: '#/paths/~1orgs~1{org}~1properties~1values/get' + $ref: '#/paths/~1orgs~1{org}~1personal-access-token-requests~1{pat_request_id}~1repositories/get' response: mediaType: application/json openAPIDocKey: '200' - custom_properties_for_repos_create_or_update_organization_values: - config: - requestBodyTranslate: - algorithm: naive + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/repos_for_pat_grant_requests/methods/list_pat_grant_request_repositories' + insert: [] + update: [] + delete: [] + replace: [] + repos_for_pat_grants: + id: github.orgs.repos_for_pat_grants + name: repos_for_pat_grants + title: Repos For Pat Grants + methods: + list_pat_grant_repositories: operation: - $ref: '#/paths/~1orgs~1{org}~1properties~1values/patch' + $ref: '#/paths/~1orgs~1{org}~1personal-access-tokens~1{pat_id}~1repositories/get' response: mediaType: application/json - openAPIDocKey: '204' + openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/custom_property_values/methods/custom_properties_for_repos_get_organization_values + - $ref: '#/components/x-stackQL-resources/repos_for_pat_grants/methods/list_pat_grant_repositories' insert: [] - update: - - $ref: >- - #/components/x-stackQL-resources/custom_property_values/methods/custom_properties_for_repos_create_or_update_organization_values + update: [] delete: [] replace: [] - public_members: - id: github.orgs.public_members - name: public_members - title: Public Members + role_team_assignments: + id: github.orgs.role_team_assignments + name: role_team_assignments + title: Role Team Assignments methods: - list_public_members: + revoke_all_org_roles_team: operation: - $ref: '#/paths/~1orgs~1{org}~1public_members/get' + $ref: '#/paths/~1orgs~1{org}~1organization-roles~1teams~1{team_slug}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + assign_team_to_org_role: + operation: + $ref: '#/paths/~1orgs~1{org}~1organization-roles~1teams~1{team_slug}~1{role_id}/put' + response: + mediaType: application/json + openAPIDocKey: '204' + revoke_org_role_team: + operation: + $ref: '#/paths/~1orgs~1{org}~1organization-roles~1teams~1{team_slug}~1{role_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + list_org_role_teams: + operation: + $ref: '#/paths/~1orgs~1{org}~1organization-roles~1{role_id}~1teams/get' response: mediaType: application/json openAPIDocKey: '200' - check_public_membership_for_user: + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/role_team_assignments/methods/list_org_role_teams' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/role_team_assignments/methods/revoke_org_role_team' + - $ref: '#/components/x-stackQL-resources/role_team_assignments/methods/revoke_all_org_roles_team' + replace: + - $ref: '#/components/x-stackQL-resources/role_team_assignments/methods/assign_team_to_org_role' + role_user_assignments: + id: github.orgs.role_user_assignments + name: role_user_assignments + title: Role User Assignments + methods: + revoke_all_org_roles_user: operation: - $ref: '#/paths/~1orgs~1{org}~1public_members~1{username}/get' + $ref: '#/paths/~1orgs~1{org}~1organization-roles~1users~1{username}/delete' response: mediaType: application/json openAPIDocKey: '204' - set_public_membership_for_authenticated_user: + assign_user_to_org_role: operation: - $ref: '#/paths/~1orgs~1{org}~1public_members~1{username}/put' + $ref: '#/paths/~1orgs~1{org}~1organization-roles~1users~1{username}~1{role_id}/put' response: mediaType: application/json openAPIDocKey: '204' - remove_public_membership_for_authenticated_user: + revoke_org_role_user: operation: - $ref: '#/paths/~1orgs~1{org}~1public_members~1{username}/delete' + $ref: '#/paths/~1orgs~1{org}~1organization-roles~1users~1{username}~1{role_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + list_org_role_users: + operation: + $ref: '#/paths/~1orgs~1{org}~1organization-roles~1{role_id}~1users/get' + response: + mediaType: application/json + openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/public_members/methods/list_public_members + - $ref: '#/components/x-stackQL-resources/role_user_assignments/methods/list_org_role_users' insert: [] update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/public_members/methods/remove_public_membership_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/role_user_assignments/methods/revoke_org_role_user' + - $ref: '#/components/x-stackQL-resources/role_user_assignments/methods/revoke_all_org_roles_user' replace: - - $ref: >- - #/components/x-stackQL-resources/public_members/methods/set_public_membership_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/role_user_assignments/methods/assign_user_to_org_role' + roles: + id: github.orgs.roles + name: roles + title: Roles + methods: + list_org_roles: + operation: + $ref: '#/paths/~1orgs~1{org}~1organization-roles/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.roles + get_org_role: + operation: + $ref: '#/paths/~1orgs~1{org}~1organization-roles~1{role_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/roles/methods/get_org_role' + - $ref: '#/components/x-stackQL-resources/roles/methods/list_org_roles' + insert: [] + update: [] + delete: [] + replace: [] ruleset_history: id: github.orgs.ruleset_history name: ruleset_history @@ -13252,17 +12459,34 @@ components: openAPIDocKey: '200' get_org_ruleset_version: operation: - $ref: >- - #/paths/~1orgs~1{org}~1rulesets~1{ruleset_id}~1history~1{version_id}/get + $ref: '#/paths/~1orgs~1{org}~1rulesets~1{ruleset_id}~1history~1{version_id}/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/ruleset_history/methods/get_org_ruleset_version - - $ref: >- - #/components/x-stackQL-resources/ruleset_history/methods/get_org_ruleset_history + - $ref: '#/components/x-stackQL-resources/ruleset_history/methods/get_org_ruleset_version' + - $ref: '#/components/x-stackQL-resources/ruleset_history/methods/get_org_ruleset_history' + insert: [] + update: [] + delete: [] + replace: [] + saml_identities: + id: github.orgs.saml_identities + name: saml_identities + title: SAML Identities + methods: + list: + operation: + $ref: '#/paths/~1graphql?resource=saml_identities/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.organization.samlIdentityProvider.externalIdentities.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/saml_identities/methods/list' insert: [] update: [] delete: [] @@ -13286,121 +12510,174 @@ components: openAPIDocKey: '204' remove_security_manager_team: operation: - $ref: >- - #/paths/~1orgs~1{org}~1security-managers~1teams~1{team_slug}/delete + $ref: '#/paths/~1orgs~1{org}~1security-managers~1teams~1{team_slug}/delete' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/security_managers/methods/list_security_manager_teams + - $ref: '#/components/x-stackQL-resources/security_managers/methods/list_security_manager_teams' insert: - - $ref: >- - #/components/x-stackQL-resources/security_managers/methods/add_security_manager_team + - $ref: '#/components/x-stackQL-resources/security_managers/methods/add_security_manager_team' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/security_managers/methods/remove_security_manager_team + - $ref: '#/components/x-stackQL-resources/security_managers/methods/remove_security_manager_team' replace: [] - immutable_releases_settings: - id: github.orgs.immutable_releases_settings - name: immutable_releases_settings - title: Immutable Releases Settings + sponsorships: + id: github.orgs.sponsorships + name: sponsorships + title: Sponsorships methods: - get_immutable_releases_settings: + list: operation: - $ref: '#/paths/~1orgs~1{org}~1settings~1immutable-releases/get' + $ref: '#/paths/~1graphql?resource=sponsorships/post' response: mediaType: application/json openAPIDocKey: '200' - set_immutable_releases_settings: + objectKey: $.data.organization.sponsorshipsAsMaintainer.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/sponsorships/methods/list' + insert: [] + update: [] + delete: [] + replace: [] + webhook_config: + id: github.orgs.webhook_config + name: webhook_config + title: Webhook Config + methods: + get_webhook_config_for_org: + operation: + $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}~1config/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_webhook_config_for_org: config: requestBodyTranslate: algorithm: naive operation: - $ref: '#/paths/~1orgs~1{org}~1settings~1immutable-releases/put' + $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}~1config/patch' response: mediaType: application/json - openAPIDocKey: '204' + openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/immutable_releases_settings/methods/get_immutable_releases_settings + - $ref: '#/components/x-stackQL-resources/webhook_config/methods/get_webhook_config_for_org' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/webhook_config/methods/update_webhook_config_for_org' + delete: [] + replace: [] + webhook_deliveries: + id: github.orgs.webhook_deliveries + name: webhook_deliveries + title: Webhook Deliveries + methods: + list_webhook_deliveries: + operation: + $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}~1deliveries/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/webhook_deliveries/methods/list_webhook_deliveries' insert: [] update: [] delete: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/immutable_releases_settings/methods/set_immutable_releases_settings - immutable_releases_repos: - id: github.orgs.immutable_releases_repos - name: immutable_releases_repos - title: Immutable Releases Repos + replace: [] + webhook_delivery: + id: github.orgs.webhook_delivery + name: webhook_delivery + title: Webhook Delivery methods: - get_immutable_releases_settings_repositories: + get_webhook_delivery: operation: - $ref: >- - #/paths/~1orgs~1{org}~1settings~1immutable-releases~1repositories/get + $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}~1deliveries~1{delivery_id}/get' response: mediaType: application/json openAPIDocKey: '200' - set_immutable_releases_settings_repositories: + redeliver_webhook_delivery: + operation: + $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}~1deliveries~1{delivery_id}~1attempts/post' + response: + mediaType: application/json + openAPIDocKey: '202' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/webhook_delivery/methods/get_webhook_delivery' + insert: [] + update: [] + delete: [] + replace: [] + webhooks: + id: github.orgs.webhooks + name: webhooks + title: Webhooks + methods: + list_webhooks: + operation: + $ref: '#/paths/~1orgs~1{org}~1hooks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_webhook: config: requestBodyTranslate: algorithm: naive operation: - $ref: >- - #/paths/~1orgs~1{org}~1settings~1immutable-releases~1repositories/put + $ref: '#/paths/~1orgs~1{org}~1hooks/post' response: mediaType: application/json - openAPIDocKey: '204' - enable_selected_repository_immutable_releases_organization: + openAPIDocKey: '201' + get_webhook: operation: - $ref: >- - #/paths/~1orgs~1{org}~1settings~1immutable-releases~1repositories~1{repository_id}/put + $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}/get' response: mediaType: application/json - openAPIDocKey: '204' - disable_selected_repository_immutable_releases_organization: + openAPIDocKey: '200' + update_webhook: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1orgs~1{org}~1settings~1immutable-releases~1repositories~1{repository_id}/delete + $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_webhook: + operation: + $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/immutable_releases_repos/methods/get_immutable_releases_settings_repositories - insert: [] - update: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/immutable_releases_repos/methods/disable_selected_repository_immutable_releases_organization - replace: - - $ref: >- - #/components/x-stackQL-resources/immutable_releases_repos/methods/enable_selected_repository_immutable_releases_organization - - $ref: >- - #/components/x-stackQL-resources/immutable_releases_repos/methods/set_immutable_releases_settings_repositories - orgs_for_user: - id: github.orgs.orgs_for_user - name: orgs_for_user - title: Orgs For User - methods: - list_for_authenticated_user: + ping_webhook: operation: - $ref: '#/paths/~1user~1orgs/get' + $ref: '#/paths/~1orgs~1{org}~1hooks~1{hook_id}~1pings/post' response: mediaType: application/json - openAPIDocKey: '200' + openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/orgs_for_user/methods/list_for_authenticated_user - insert: [] - update: [] - delete: [] + - $ref: '#/components/x-stackQL-resources/webhooks/methods/get_webhook' + - $ref: '#/components/x-stackQL-resources/webhooks/methods/list_webhooks' + insert: + - $ref: '#/components/x-stackQL-resources/webhooks/methods/create_webhook' + update: + - $ref: '#/components/x-stackQL-resources/webhooks/methods/update_webhook' + delete: + - $ref: '#/components/x-stackQL-resources/webhooks/methods/delete_webhook' replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/packages.yaml b/providers/src/github/v00.00.00000/services/packages.yaml index 7a4e9347..13052df7 100644 --- a/providers/src/github/v00.00.00000/services/packages.yaml +++ b/providers/src/github/v00.00.00000/services/packages.yaml @@ -3033,3 +3033,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/private_registries.yaml b/providers/src/github/v00.00.00000/services/private_registries.yaml index c4c32b69..e67faa63 100644 --- a/providers/src/github/v00.00.00000/services/private_registries.yaml +++ b/providers/src/github/v00.00.00000/services/private_registries.yaml @@ -72,8 +72,9 @@ paths: For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - For OIDC-based registries (`oidc_azure`, `oidc_aws`, or `oidc_jfrog`), - the `encrypted_value` and `key_id` fields should be omitted. + For OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, + `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` + fields should be omitted. OAuth app tokens and personal access tokens (classic) need the @@ -181,7 +182,8 @@ paths: description: >- The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, - or `oidc_jfrog` for OIDC authentication. + `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp` for OIDC + authentication. type: string enum: - token @@ -189,6 +191,8 @@ paths: - oidc_azure - oidc_aws - oidc_jfrog + - oidc_cloudsmith + - oidc_gcp tenant_id: description: >- The tenant ID of the Azure AD application. Required when @@ -227,14 +231,43 @@ paths: type: string audience: description: >- - The OIDC audience. Optional for `oidc_aws` and `oidc_jfrog` - auth types. + The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, + and `oidc_gcp`, and required for `oidc_cloudsmith` auth + types. type: string identity_mapping_name: description: >- The JFrog identity mapping name. Optional for `oidc_jfrog` auth type. type: string + namespace: + description: >- + The Cloudsmith organization namespace. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + service_slug: + description: >- + The Cloudsmith service account slug. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + api_host: + description: >- + The Cloudsmith API host. Optional for `oidc_cloudsmith` auth + type. If omitted, `api.cloudsmith.io` is used by default. + type: string + workload_identity_provider: + description: >- + The full resource name of the GCP Workload Identity Provider + (e.g. + `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. + type: string + service_account: + description: >- + The GCP service account email to impersonate. Optional for + `oidc_gcp` auth type. If omitted, the federated token is + used directly (direct WIF). + type: string required: - registry_type - url @@ -275,6 +308,30 @@ paths: visibility: all tenant_id: 12345678-1234-1234-1234-123456789012 client_id: abcdef01-2345-6789-abcd-ef0123456789 + org-private-registry-with-oidc-cloudsmith: + summary: >- + Example of an OIDC private registry configuration using + Cloudsmith + value: + registry_type: npm_registry + url: https://npm.cloudsmith.io/my-org/my-repo/ + auth_type: oidc_cloudsmith + visibility: all + namespace: my-org + service_slug: my-service-account + audience: https://github.com/my-org + org-private-registry-with-oidc-gcp: + summary: >- + Example of an OIDC private registry configuration using Google + Cloud Artifact Registry + value: + registry_type: docker_registry + url: https://us-docker.pkg.dev/my-project/my-repo + auth_type: oidc_gcp + visibility: all + workload_identity_provider: >- + projects/123456789/locations/global/workloadIdentityPools/github-pool/providers/github-provider + service_account: dependabot@my-project.iam.gserviceaccount.com responses: '201': description: The organization private registry configuration @@ -402,8 +459,9 @@ paths: For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - For OIDC-based registries (`oidc_azure`, `oidc_aws`, or `oidc_jfrog`), - the `encrypted_value` and `key_id` fields should be omitted. + For OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, + `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` + fields should be omitted. OAuth app tokens and personal access tokens (classic) need the @@ -514,6 +572,8 @@ paths: - oidc_azure - oidc_aws - oidc_jfrog + - oidc_cloudsmith + - oidc_gcp tenant_id: description: >- The tenant ID of the Azure AD application. Required when @@ -552,14 +612,43 @@ paths: type: string audience: description: >- - The OIDC audience. Optional for `oidc_aws` and `oidc_jfrog` - auth types. + The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, + and `oidc_gcp`, and required for `oidc_cloudsmith` auth + types. type: string identity_mapping_name: description: >- The JFrog identity mapping name. Optional for `oidc_jfrog` auth type. type: string + namespace: + description: >- + The Cloudsmith organization namespace. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + service_slug: + description: >- + The Cloudsmith service account slug. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + api_host: + description: >- + The Cloudsmith API host. Optional for `oidc_cloudsmith` auth + type. If omitted, `api.cloudsmith.io` is used by default. + type: string + workload_identity_provider: + description: >- + The full resource name of the GCP Workload Identity Provider + (e.g. + `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. + type: string + service_account: + description: >- + The GCP service account email to impersonate. Optional for + `oidc_gcp` auth type. If omitted, the federated token is + used directly (direct WIF). + type: string examples: secret-based-update: summary: Update a secret-based private registry @@ -658,6 +747,8 @@ components: - oidc_azure - oidc_aws - oidc_jfrog + - oidc_cloudsmith + - oidc_gcp type: string url: description: The URL of the private registry. @@ -717,6 +808,25 @@ components: identity_mapping_name: description: The JFrog identity mapping name. type: string + namespace: + description: The Cloudsmith organization namespace. + type: string + service_slug: + description: The Cloudsmith service account slug. + type: string + api_host: + description: The Cloudsmith API host. + type: string + workload_identity_provider: + description: >- + The full resource name of the GCP Workload Identity Provider (e.g. + `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: >- + The GCP service account email to impersonate. If omitted, the + federated token is used directly (direct WIF). + type: string created_at: type: string format: date-time @@ -765,6 +875,8 @@ components: - oidc_azure - oidc_aws - oidc_jfrog + - oidc_cloudsmith + - oidc_gcp type: string url: description: The URL of the private registry. @@ -831,6 +943,25 @@ components: identity_mapping_name: description: The JFrog identity mapping name. type: string + namespace: + description: The Cloudsmith organization namespace. + type: string + service_slug: + description: The Cloudsmith service account slug. + type: string + api_host: + description: The Cloudsmith API host. + type: string + workload_identity_provider: + description: >- + The full resource name of the GCP Workload Identity Provider (e.g. + `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: >- + The GCP service account email to impersonate. If omitted, the + federated token is used directly (direct WIF). + type: string created_at: type: string format: date-time @@ -1096,3 +1227,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/projects.yaml b/providers/src/github/v00.00.00000/services/projects.yaml index cbe0ec38..35dcb902 100644 --- a/providers/src/github/v00.00.00000/services/projects.yaml +++ b/providers/src/github/v00.00.00000/services/projects.yaml @@ -793,6 +793,52 @@ paths: - 123 - 456 - 789 + sort_by: + type: array + description: >- + Sorting configuration for the view. Each element is a + two-element array of `[field_id, direction]` where + `direction` is `"asc"` or `"desc"`. Supports multiple sort + criteria applied in order. + items: + type: array + minItems: 2 + maxItems: 2 + items: + oneOf: + - type: integer + - type: string + example: + - - 123 + - asc + - - 456 + - desc + group_by: + type: array + description: >- + The field IDs to group items by (horizontal grouping). + Supports a single field. The field must support grouping; + fields such as `Title`, `Reviewers`, `Linked pull requests`, + `Sub-issues progress`, `Tracked by`, and `Tracks` cannot be + grouped on. + items: + type: integer + maxItems: 1 + example: + - 123 + vertical_group_by: + type: array + description: >- + The field IDs to use as columns in `board` layout (vertical + grouping). Supports a single field. The field must support + grouping; fields such as `Title`, `Reviewers`, `Linked pull + requests`, `Sub-issues progress`, `Tracked by`, and `Tracks` + cannot be grouped on. + items: + type: integer + maxItems: 1 + example: + - 456 required: - name - layout @@ -1054,6 +1100,52 @@ paths: - 123 - 456 - 789 + sort_by: + type: array + description: >- + Sorting configuration for the view. Each element is a + two-element array of `[field_id, direction]` where + `direction` is `"asc"` or `"desc"`. Supports multiple sort + criteria applied in order. + items: + type: array + minItems: 2 + maxItems: 2 + items: + oneOf: + - type: integer + - type: string + example: + - - 123 + - asc + - - 456 + - desc + group_by: + type: array + description: >- + The field IDs to group items by (horizontal grouping). + Supports a single field. The field must support grouping; + fields such as `Title`, `Reviewers`, `Linked pull requests`, + `Sub-issues progress`, `Tracked by`, and `Tracks` cannot be + grouped on. + items: + type: integer + maxItems: 1 + example: + - 123 + vertical_group_by: + type: array + description: >- + The field IDs to use as columns in `board` layout (vertical + grouping). Supports a single field. The field must support + grouping; fields such as `Title`, `Reviewers`, `Linked pull + requests`, `Sub-issues progress`, `Tracked by`, and `Tracks` + cannot be grouped on. + items: + type: integer + maxItems: 1 + example: + - 456 required: - name - layout @@ -2247,6 +2339,8 @@ components: - self auto_merge: $ref: '#/components/schemas/auto-merge' + stack: + $ref: '#/components/schemas/pull-request-stack' required: - assignee - closed_at @@ -2463,6 +2557,9 @@ components: projects-v2-field-iteration-configuration: type: object description: The configuration for iteration fields. + required: + - start_date + - duration properties: start_date: type: string @@ -2479,6 +2576,10 @@ components: items: type: object additionalProperties: false + required: + - title + - start_date + - duration properties: title: type: string @@ -3471,6 +3572,8 @@ components: $ref: '#/components/schemas/author-association' auto_merge: $ref: '#/components/schemas/auto-merge' + stack: + $ref: '#/components/schemas/pull-request-stack' draft: description: Indicates whether or not the pull request is a draft. example: false @@ -3825,7 +3928,9 @@ components: nullable: true issue-type: title: Issue Type - description: The type of issue. + description: >- + The type assigned to the issue. This is only present for issues in + repositories where issue types are supported. type: object nullable: true properties: @@ -4808,6 +4913,8 @@ components: $ref: '#/components/schemas/reaction-rollup' pin: $ref: '#/components/schemas/nullable-pinned-issue-comment' + minimized: + $ref: '#/components/schemas/nullable-issue-comment-minimized' required: - id - node_id @@ -4845,6 +4952,10 @@ components: type: integer format: int64 example: 1 + issue_field_name: + description: The human-readable name of the issue field. + type: string + example: Priority node_id: type: string example: IFT_GDKND @@ -4854,6 +4965,7 @@ components: enum: - text - single_select + - multi_select - number - date example: text @@ -4886,6 +4998,30 @@ components: - name - color nullable: true + multi_select_options: + description: Details about the selected options + type: array + items: + type: object + properties: + id: + description: Unique identifier for the option. + type: integer + format: int64 + example: 1 + name: + description: The name of the option + type: string + example: High + color: + description: The color of the option + type: string + example: red + required: + - id + - name + - color + nullable: true required: - issue_field_id - node_id @@ -4952,6 +5088,20 @@ components: enum: - enterprise - organization + access_source: + description: >- + How the team's access to the repository was granted. This property + is only + + present when the team is returned in a repository context, such as + + `GET /repos/{owner}/{repo}/teams`. + type: string + enum: + - direct + - organization + - enterprise + example: direct organization_id: type: integer description: Unique identifier of the organization to which this team belongs @@ -5010,6 +5160,40 @@ components: - commit_title - commit_message nullable: true + pull-request-stack: + title: Pull Request Stack + description: The stack information associated with a pull request. + type: object + properties: + base: + type: object + properties: + ref: + type: string + description: The base ref of the stack this pull request belongs to. + sha: + type: string + description: The base SHA of the stack this pull request belongs to. + required: + - ref + - sha + size: + type: integer + description: The total number of pull requests in the stack. + position: + type: integer + description: >- + The one-based position of this pull request within the stack, where + 1 is the bottom of the stack. + id: + type: integer + description: The ID of the stack that this pull request belongs to. + number: + type: integer + description: The number of the stack that this pull request belongs to. + required: + - base + nullable: true nullable-license-simple: title: License Simple description: License Simple @@ -5113,6 +5297,19 @@ components: - pinned_at - pinned_by nullable: true + nullable-issue-comment-minimized: + title: Minimized Issue Comment + description: Details about why an issue comment was minimized. + type: object + properties: + reason: + description: The reason the comment was minimized. + type: string + nullable: true + example: low-quality + required: + - reason + nullable: true nullable-team-simple: title: Team Simple description: >- @@ -5590,17 +5787,13 @@ components: name: Sprint data_type: iteration iteration_configuration: - start_day: 1 + start_date: '2022-07-01' duration: 14 iterations: - - title: - raw: Sprint 1 - html: Sprint 1 + - title: Sprint 1 start_date: '2022-07-01' duration: 14 - - title: - raw: Sprint 2 - html: Sprint 2 + - title: Sprint 2 start_date: '2022-07-15' duration: 14 projects-v2-field-text: @@ -6814,3 +7007,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/pulls.yaml b/providers/src/github/v00.00.00000/services/pulls.yaml index 6b70ef9f..e54ff175 100644 --- a/providers/src/github/v00.00.00000/services/pulls.yaml +++ b/providers/src/github/v00.00.00000/services/pulls.yaml @@ -7,42 +7,21 @@ paths: /repos/{owner}/{repo}/pulls: get: summary: List pull requests - description: >- + description: |- Lists pull requests in a specified repository. - Draft pull requests are available in public repositories with GitHub - - Free and GitHub Free for organizations, GitHub Pro, and legacy - per-repository billing - - plans, and in public and private repositories with GitHub Team and - GitHub Enterprise - - Cloud. For more information, see [GitHub's - products](https://docs.github.com/github/getting-started-with-github/githubs-products) - + Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing + plans, and in public and private repositories with GitHub Team and GitHub Enterprise + Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github.raw+json`**: Returns the raw markdown body. - Response will include `body`. This is the default if you do not pass any - specific media type. - - - **`application/vnd.github.text+json`**: Returns a text only - representation of the markdown body. Response will include `body_text`. - - - **`application/vnd.github.html+json`**: Returns HTML rendered from the - body's markdown. Response will include `body_html`. - - - **`application/vnd.github.full+json`**: Returns raw, text, and HTML - representations. Response will include `body`, `body_text`, and - `body_html`. + - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/list @@ -64,10 +43,7 @@ paths: - all default: open - name: head - description: >- - Filter pulls by head user or head organization and branch name in - the format of `user:ref-name` or `organization:ref-name`. For - example: `github:new-script-format` or `octocat:test-branch`. + description: 'Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`.' in: query required: false schema: @@ -79,11 +55,7 @@ paths: schema: type: string - name: sort - description: >- - What to sort results by. `popularity` will sort by the number of - comments. `long-running` will sort by date created and will limit - the results to pull requests that have been open for more than a - month and have had activity within the past month. + description: What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. in: query required: false schema: @@ -95,9 +67,7 @@ paths: - long-running default: created - name: direction - description: >- - The direction of the sort. Default: `desc` when sort is `created` or - sort is not specified, otherwise `asc`. + description: 'The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`.' in: query required: false schema: @@ -134,49 +104,19 @@ paths: x-stackQL-resource: pulls post: summary: Create a pull request - description: >- - Draft pull requests are available in public repositories with GitHub - Free and GitHub Free for organizations, GitHub Pro, and legacy - per-repository billing plans, and in public and private repositories - with GitHub Team and GitHub Enterprise Cloud. For more information, see - [GitHub's - products](https://docs.github.com/github/getting-started-with-github/githubs-products) - in the GitHub Help documentation. - - - To open or update a pull request in a public repository, you must have - write access to the head or the source branch. For organization-owned - repositories, you must be a member of the organization that owns the - repository to open or update a pull request. - - - This endpoint triggers - [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - Creating content too quickly using this endpoint may result in secondary - rate limiting. For more information, see "[Rate limits for the - API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - and "[Best practices for using the REST - API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + description: |- + Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - **`application/vnd.github.raw+json`**: Returns the raw markdown body. - Response will include `body`. This is the default if you do not pass any - specific media type. - - - **`application/vnd.github.text+json`**: Returns a text only - representation of the markdown body. Response will include `body_text`. - - - **`application/vnd.github.html+json`**: Returns HTML rendered from the - body's markdown. Response will include `body_html`. - - - **`application/vnd.github.full+json`**: Returns raw, text, and HTML - representations. Response will include `body`, `body_text`, and - `body_html`. + - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/create @@ -195,56 +135,32 @@ paths: properties: title: type: string - description: >- - The title of the new pull request. Required unless `issue` - is specified. + description: The title of the new pull request. Required unless `issue` is specified. head: type: string - description: >- - The name of the branch where your changes are implemented. - For cross-repository pull requests in the same network, - namespace `head` with a user like this: `username:branch`. + description: 'The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`.' head_repo: type: string - description: >- - The name of the repository where the changes in the pull - request were made. This field is required for - cross-repository pull requests if both repositories are - owned by the same organization. + description: The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization. format: repo.nwo example: octo-org/octo-repo base: type: string - description: >- - The name of the branch you want the changes pulled into. - This should be an existing branch on the current repository. - You cannot submit a pull request to one repository that - requests a merge to a base of another repository. + description: The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. body: type: string description: The contents of the pull request. maintainer_can_modify: type: boolean - description: >- - Indicates whether [maintainers can - modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) - the pull request. + description: Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. draft: type: boolean - description: >- - Indicates whether the pull request is a draft. See "[Draft - Pull - Requests](https://docs.github.com/articles/about-pull-requests#draft-pull-requests)" - in the GitHub Help documentation to learn more. + description: Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. issue: type: integer format: int64 example: 1 - description: >- - An issue in the repository to convert to a pull request. The - issue title, body, and comments will become the title, body, - and comments on the new pull request. Required unless - `title` is specified. + description: An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified. required: - head - base @@ -284,38 +200,22 @@ paths: /repos/{owner}/{repo}/pulls/comments: get: summary: List review comments in a repository - description: >- + description: |- Lists review comments for all pull requests in a repository. By default, - review comments are in ascending order by ID. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. - - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. - - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. - - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/list-review-comments-for-repo externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/comments#list-review-comments-in-a-repository + url: https://docs.github.com/rest/pulls/comments#list-review-comments-in-a-repository parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -364,36 +264,21 @@ paths: /repos/{owner}/{repo}/pulls/comments/{comment_id}: get: summary: Get a review comment for a pull request - description: >- + description: |- Provides details for a specified review comment. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. - - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. - - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. - - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/get-review-comment externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request + url: https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -418,36 +303,21 @@ paths: x-stackQL-resource: comments patch: summary: Update a review comment for a pull request - description: >- + description: |- Edits the content of a specified review comment. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. - - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. - - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. - - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/update-review-comment externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/comments#update-a-review-comment-for-a-pull-request + url: https://docs.github.com/rest/pulls/comments#update-a-review-comment-for-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -492,8 +362,7 @@ paths: operationId: pulls/delete-review-comment externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/comments#delete-a-review-comment-for-a-pull-request + url: https://docs.github.com/rest/pulls/comments#delete-a-review-comment-for-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -512,91 +381,30 @@ paths: /repos/{owner}/{repo}/pulls/{pull_number}: get: summary: Get a pull request - description: >- - Draft pull requests are available in public repositories with GitHub - Free and GitHub Free for organizations, GitHub Pro, and legacy - per-repository billing plans, and in public and private repositories - with GitHub Team and GitHub Enterprise Cloud. For more information, see - [GitHub's - products](https://docs.github.com/github/getting-started-with-github/githubs-products) - in the GitHub Help documentation. - + description: |- + Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Lists details of a pull request by providing its number. + When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - When you get, - [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), - or - [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a - pull request, GitHub creates a merge commit to test whether the pull - request can be automatically merged into the base branch. This test - commit is not added to the base branch or the head branch. You can - review the status of the test commit using the `mergeable` key. For more - information, see "[Checking mergeability of pull - requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - - - The value of the `mergeable` attribute can be `true`, `false`, or - `null`. If the value is `null`, then GitHub has started a background job - to compute the mergeability. After giving the job time to complete, - resubmit the request. When the job finishes, you will see a non-`null` - value for the `mergeable` attribute in the response. If `mergeable` is - `true`, then `merge_commit_sha` will be the SHA of the _test_ merge - commit. - - - The value of the `merge_commit_sha` attribute changes depending on the - state of the pull request. Before merging a pull request, the - `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. - After merging a pull request, the `merge_commit_sha` attribute changes - depending on how you merged the pull request: - - - * If merged as a [merge - commit](https://docs.github.com/articles/about-merge-methods-on-github/), - `merge_commit_sha` represents the SHA of the merge commit. - - * If merged via a - [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), - `merge_commit_sha` represents the SHA of the squashed commit on the base - branch. - - * If - [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), - `merge_commit_sha` represents the commit that the base branch was - updated to. - - - Pass the appropriate [media - type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) - to fetch diff and patch formats. + The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + Pass the appropriate [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. - - **`application/vnd.github.raw+json`**: Returns the raw markdown body. - Response will include `body`. This is the default if you do not pass any - specific media type. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - **`application/vnd.github.text+json`**: Returns a text only - representation of the markdown body. Response will include `body_text`. - - - **`application/vnd.github.html+json`**: Returns HTML rendered from the - body's markdown. Response will include `body_html`. - - - **`application/vnd.github.full+json`**: Returns raw, text, and HTML - representations. Response will include `body`, `body_text`, and - `body_html`. - - - **`application/vnd.github.diff`**: For more information, see - "[git-diff](https://git-scm.com/docs/git-diff)" in the Git - documentation. If a diff is corrupt, contact us through the [GitHub - Support portal](https://support.github.com/). Include the repository - name and pull request ID in your message. + - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + - **`application/vnd.github.diff`**: For more information, see "[git-diff](https://git-scm.com/docs/git-diff)" in the Git documentation. If a diff is corrupt, contact us through the [GitHub Support portal](https://support.github.com/). Include the repository name and pull request ID in your message. tags: - pulls operationId: pulls/get @@ -609,10 +417,7 @@ paths: - $ref: '#/components/parameters/pull-number' responses: '200': - description: >- - Pass the appropriate [media - type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) - to fetch diff and patch formats. + description: Pass the appropriate [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. content: application/json: schema: @@ -638,40 +443,17 @@ paths: x-stackQL-resource: pulls patch: summary: Update a pull request - description: >- - Draft pull requests are available in public repositories with GitHub - Free and GitHub Free for organizations, GitHub Pro, and legacy - per-repository billing plans, and in public and private repositories - with GitHub Team and GitHub Enterprise Cloud. For more information, see - [GitHub's - products](https://docs.github.com/github/getting-started-with-github/githubs-products) - in the GitHub Help documentation. - - - To open or update a pull request in a public repository, you must have - write access to the head or the source branch. For organization-owned - repositories, you must be a member of the organization that owns the - repository to open or update a pull request. - + description: |- + Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - **`application/vnd.github.raw+json`**: Returns the raw markdown body. - Response will include `body`. This is the default if you do not pass any - specific media type. - - - **`application/vnd.github.text+json`**: Returns a text only - representation of the markdown body. Response will include `body_text`. - - - **`application/vnd.github.html+json`**: Returns HTML rendered from the - body's markdown. Response will include `body_html`. - - - **`application/vnd.github.full+json`**: Returns raw, text, and HTML - representations. Response will include `body`, `body_text`, and - `body_html`. + - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/update @@ -703,17 +485,10 @@ paths: - closed base: type: string - description: >- - The name of the branch you want your changes pulled into. - This should be an existing branch on the current repository. - You cannot update the base branch on a pull request to point - to another repository. + description: The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. maintainer_can_modify: type: boolean - description: >- - Indicates whether [maintainers can - modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) - the pull request. + description: Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. examples: default: value: @@ -744,39 +519,22 @@ paths: /repos/{owner}/{repo}/pulls/{pull_number}/comments: get: summary: List review comments on a pull request - description: >- - Lists all review comments for a specified pull request. By default, - review comments - + description: |- + Lists all review comments for a specified pull request. By default, review comments are in ascending order by ID. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. - - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. - - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. - - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/list-review-comments externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/comments#list-review-comments-on-a-pull-request + url: https://docs.github.com/rest/pulls/comments#list-review-comments-on-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -817,58 +575,28 @@ paths: x-stackQL-resource: comments post: summary: Create a review comment for a pull request - description: >- - Creates a review comment on the diff of a specified pull request. To add - a regular comment to a pull request timeline, see "[Create an issue - comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." - - - If your comment applies to more than one line in the pull request diff, - you should use the parameters `line`, `side`, and optionally - `start_line` and `start_side` in your request. - - - The `position` parameter is closing down. If you use `position`, the - `line`, `side`, `start_line`, and `start_side` parameters are not - required. - - - This endpoint triggers - [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - Creating content too quickly using this endpoint may result in secondary - rate limiting. For more information, see "[Rate limits for the - API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - - and "[Best practices for using the REST - API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + description: |- + Creates a review comment on the diff of a specified pull request. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." + If your comment applies to more than one line in the pull request diff, you should use the parameters `line`, `side`, and optionally `start_line` and `start_side` in your request. - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + The `position` parameter is closing down. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. - - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. - - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/create-review-comment externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/comments#create-a-review-comment-for-a-pull-request + url: https://docs.github.com/rest/pulls/comments#create-a-review-comment-for-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -885,73 +613,31 @@ paths: description: The text of the review comment. commit_id: type: string - description: >- - The SHA of the commit needing a comment. Not using the - latest commit SHA may render your comment outdated if a - subsequent commit modifies the line you specify as the - `position`. + description: The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. path: type: string description: The relative path to the file that necessitates a comment. position: type: integer - description: >- - **This parameter is closing down. Use `line` instead**. The - position in the diff where you want to add a review comment. - Note this value is not the same as the line number in the - file. The position value equals the number of lines down - from the first "@@" hunk header in the file you want to add - a comment. The line just below the "@@" line is position 1, - the next line is position 2, and so on. The position in the - diff continues to increase through lines of whitespace and - additional hunks until the beginning of a new file. + description: '**This parameter is closing down. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.' deprecated: true x-github: deprecationDate: '2022-11-01' side: type: string - description: >- - In a split diff view, the side of the diff that the pull - request's changes appear on. Can be `LEFT` or `RIGHT`. Use - `LEFT` for deletions that appear in red. Use `RIGHT` for - additions that appear in green or unchanged lines that - appear in white and are shown for context. For a multi-line - comment, side represents whether the last line of the - comment range is a deletion or addition. For more - information, see "[Diff view - options](https://docs.github.com/articles/about-comparing-branches-in-pull-requests#diff-view-options)" - in the GitHub Help documentation. + description: In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://docs.github.com/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. enum: - LEFT - RIGHT line: type: integer - description: >- - **Required unless using `subject_type:file`**. The line of - the blob in the pull request diff that the comment applies - to. For a multi-line comment, the last line of the range - that your comment applies to. + description: '**Required unless using `subject_type:file`**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to.' start_line: type: integer - description: >- - **Required when using multi-line comments unless using - `in_reply_to`**. The `start_line` is the first line in the - pull request diff that your multi-line comment applies to. - To learn more about multi-line comments, see "[Commenting on - a pull - request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" - in the GitHub Help documentation. + description: '**Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation.' start_side: type: string - description: >- - **Required when using multi-line comments unless using - `in_reply_to`**. The `start_side` is the starting side of - the diff that the comment applies to. Can be `LEFT` or - `RIGHT`. To learn more about multi-line comments, see - "[Commenting on a pull - request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" - in the GitHub Help documentation. See `side` in this table - for additional context. + description: '**Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context.' enum: - LEFT - RIGHT @@ -959,12 +645,7 @@ paths: in_reply_to: type: integer example: 2 - description: >- - The ID of the review comment to reply to. To find the ID of - a review comment with ["List review comments on a pull - request"](#list-review-comments-on-a-pull-request). When - specified, all parameters other than `body` in the request - body are ignored. + description: The ID of the review comment to reply to. To find the ID of a review comment with ["List review comments on a pull request"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored. subject_type: type: string description: The level at which the comment is targeted. @@ -995,12 +676,10 @@ paths: $ref: '#/components/schemas/pull-request-review-comment' examples: example-for-a-multi-line-comment: - $ref: >- - #/components/examples/pull-request-review-comment-example-for-a-multi-line-comment + $ref: '#/components/examples/pull-request-review-comment-example-for-a-multi-line-comment' headers: Location: - example: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + example: https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 schema: type: string '403': @@ -1017,49 +696,24 @@ paths: /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies: post: summary: Create a reply for a review comment - description: >- - Creates a reply to a review comment for a pull request. For the - `comment_id`, provide the ID of the review comment you are replying to. - This must be the ID of a _top-level review comment_, not a reply to that - comment. Replies to replies are not supported. - - - This endpoint triggers - [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - Creating content too quickly using this endpoint may result in secondary - rate limiting. For more information, see "[Rate limits for the - API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - - and "[Best practices for using the REST - API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - - - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - + description: |- + Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. + This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. - - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/create-reply-for-review-comment externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/comments#create-a-reply-for-a-review-comment + url: https://docs.github.com/rest/pulls/comments#create-a-reply-for-a-review-comment parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1093,8 +747,7 @@ paths: $ref: '#/components/examples/pull-request-review-comment' headers: Location: - example: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + example: https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 schema: type: string '404': @@ -1109,40 +762,23 @@ paths: /repos/{owner}/{repo}/pulls/{pull_number}/commits: get: summary: List commits on a pull request - description: >- + description: |- Lists a maximum of 250 commits for a pull request. To receive a complete - - commit list for pull requests with more than 250 commits, use the [List - commits](https://docs.github.com/rest/commits/commits#list-commits) - + commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) endpoint. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github.raw+json`**: Returns the raw markdown body. - Response will include `body`. This is the default if you do not pass any - specific media type. - - - **`application/vnd.github.text+json`**: Returns a text only - representation of the markdown body. Response will include `body_text`. - - - **`application/vnd.github.html+json`**: Returns HTML rendered from the - body's markdown. Response will include `body_html`. - - - **`application/vnd.github.full+json`**: Returns raw, text, and HTML - representations. Response will include `body`, `body_text`, and - `body_html`. + - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/list-commits externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/pulls#list-commits-on-a-pull-request + url: https://docs.github.com/rest/pulls/pulls#list-commits-on-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1173,34 +809,18 @@ paths: /repos/{owner}/{repo}/pulls/{pull_number}/files: get: summary: List pull requests files - description: >- + description: |- Lists the files in a specified pull request. - > [!NOTE] + > Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. - > Responses include a maximum of 3000 files. The paginated response - returns 30 files per page by default. - - - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - **`application/vnd.github.raw+json`**: Returns the raw markdown body. - Response will include `body`. This is the default if you do not pass any - specific media type. - - - **`application/vnd.github.text+json`**: Returns a text only - representation of the markdown body. Response will include `body_text`. - - - **`application/vnd.github.html+json`**: Returns HTML rendered from the - body's markdown. Response will include `body_html`. - - - **`application/vnd.github.full+json`**: Returns raw, text, and HTML - representations. Response will include `body`, `body_text`, and - `body_html`. + - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/list-files @@ -1243,17 +863,13 @@ paths: /repos/{owner}/{repo}/pulls/{pull_number}/merge: get: summary: Check if a pull request has been merged - description: >- - Checks if a pull request has been merged into the base branch. The HTTP - status of the response indicates whether or not the pull request has - been merged; the response body is empty. + description: Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. tags: - pulls operationId: pulls/check-if-merged externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/pulls#check-if-a-pull-request-has-been-merged + url: https://docs.github.com/rest/pulls/pulls#check-if-a-pull-request-has-been-merged parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1271,16 +887,9 @@ paths: x-stackQL-resource: pulls put: summary: Merge a pull request - description: >- + description: |- Merges a pull request into the base branch. - - This endpoint triggers - [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - Creating content too quickly using this endpoint may result in secondary - rate limiting. For more information, see "[Rate limits for the - API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - and "[Best practices for using the REST - API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." tags: - pulls operationId: pulls/merge @@ -1329,8 +938,7 @@ paths: $ref: '#/components/schemas/pull-request-merge-result' examples: response-if-merge-was-successful: - $ref: >- - #/components/examples/pull-request-merge-result-response-if-merge-was-successful + $ref: '#/components/examples/pull-request-merge-result-response-if-merge-was-successful' '403': $ref: '#/components/responses/forbidden' '404': @@ -1374,23 +982,230 @@ paths: category: pulls subcategory: pulls x-stackQL-resource: pulls + /repos/{owner}/{repo}/pulls/{pull_number}/merge-async: + put: + summary: Merge a pull request asynchronously + description: |- + Merges a pull request into the base branch in the background. Merging in this way allows certain types of errors to be retried, and avoids the risk of timeouts for particularly complex merges. + + This is the required method for merging stacked PRs, but also supports unstacked PRs. When using this endpoint to merge a stacked pull request, all pull requests in the stack up to and including the requested PR will be merged into the base branch. + + The response includes a UUID that can be used to fetch the result of the merge. If another asynchronous merge request has already been made for this pull request, the UUID of that request will be returned instead with a 409 response status to indicate that the merge options may be different from those that were requested. If there isn't an existing asynchronous merge request, a 202 response status is used. + + If the pull request is already merged, the merge commit OID will be returned immediately with a 200 status. + + If the pull request cannot be merged (e.g. because it is closed, or still a draft) this result will be returned immediately with a 400 response status. Branch protection rules and repository rules are not run at this stage, only basic pull request state checks are performed. + tags: + - pulls + operationId: pulls/merge-async + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/pulls/pulls#merge-a-pull-request-asynchronously + x-github: + triggersNotification: true + githubCloudOnly: false + enabledForGitHubApps: true + category: pulls + subcategory: pulls + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/pull-number' + requestBody: + required: false + content: + application/json: + schema: + type: object + nullable: true + properties: + commit_title: + type: string + description: Title for the automatic commit message. + commit_message: + type: string + description: Extra detail to append to automatic commit message. + sha: + type: string + description: SHA that pull request head must match to allow merge. If not provided, the current head of the PR at the time of the request will be used; if the PR is pushed in between the merge being requested and being executed, the merge will be cancelled. + merge_method: + type: string + description: The merge method to use. + enum: + - merge + - squash + - rebase + merge_action: + type: string + description: The action that will be taken to merge the pull request. `direct_merge` merges the pull request directly without using a merge queue; `merge_queue` adds the pull request to a merge queue; `default` selects the most appropriate option. + enum: + - default + - direct_merge + - merge_queue + examples: + default: + value: + commit_title: Fix race condition + commit_message: Avoids a race by trying to read the file and handling the exception if it does not exist. + sha: 6358cd125586d9def8c3e5943f23506202da81cc + merge_method: squash + merge_action: default + responses: + '200': + description: if the pull request was already merged, or is already in a merge queue + content: + application/json: + schema: + $ref: '#/components/schemas/pull-request-merge-async-result' + examples: + response-if-pull-request-was-already-merged: + summary: Already merged + value: + status: merged + details: + message: Pull request is already merged. + sha: 6dcb09b5b57875f334f61aebed695e2e4193db5e + response-if-pull-request-is-already-enqueued: + summary: Already enqueued + value: + status: enqueued + details: + message: Pull request is already in the merge queue. + '202': + description: if the merge request was accepted and will run in the background + content: + application/json: + schema: + $ref: '#/components/schemas/pull-request-merge-async-result' + examples: + response-if-merge-request-was-accepted: + summary: Request accepted + value: + status: pending + details: + message: Merge request enqueued. + uuid: 630b9d5e-3f2a-4f7e-8b0c-2d5f9a8c1e42 + merge_method: merge + merge_action: default + expected_head_sha: 6dcb09b5b57875f334f61aebed695e2e4193db5e + '400': + description: if the pull request is not ready to be merged, e.g. because it is closed + content: + application/json: + schema: + $ref: '#/components/schemas/pull-request-merge-async-result' + examples: + response-if-pull-request-is-not-ready-to-be-merged: + value: + status: failed + details: + message: Pull request is closed. + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '409': + description: if there is an existing merge request already enqueued for this pull request + content: + application/json: + schema: + $ref: '#/components/schemas/pull-request-merge-async-result' + examples: + response-if-a-merge-request-already-exists: + value: + status: pending + details: + message: A merge request already exists for this pull request. + uuid: 630b9d5e-3f2a-4f7e-8b0c-2d5f9a8c1e42 + merge_method: squash + merge_action: default + expected_head_sha: 6dcb09b5b57875f334f61aebed695e2e4193db5e + '422': + $ref: '#/components/responses/validation_failed' + x-stackQL-resource: pulls + /repos/{owner}/{repo}/pulls/{pull_number}/merge-async/{uuid}: + get: + summary: Get the result of an asynchronous merge + description: |- + Fetches the current result of an asynchronous merge request, identified by the UUID that was returned when the merge was requested. + + While the merge is still queued, the response includes the UUID, merge method, and expected head SHA of the request. Once the merge has completed, the response reports whether it was merged, including the merge commit OID on success or a message describing why it could not be merged on failure. + + The result of an asynchronous merge request is retained for 24 hours after its most recent update. After this window the request expires and this endpoint returns a `404` response for its UUID. + tags: + - pulls + operationId: pulls/get-merge-async-result + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/pulls/pulls#get-the-result-of-an-asynchronous-merge + x-github: + triggersNotification: false + githubCloudOnly: false + enabledForGitHubApps: true + category: pulls + subcategory: pulls + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/pull-number' + - name: uuid + description: The UUID of the asynchronous merge request, as returned when the merge was requested. + in: path + required: true + schema: + type: string + responses: + '200': + description: the current result of the asynchronous merge request + content: + application/json: + schema: + $ref: '#/components/schemas/pull-request-merge-async-result' + examples: + response-if-the-merge-is-still-queued: + summary: Still queued + value: + status: pending + details: + message: Merge request is in progress. + uuid: 630b9d5e-3f2a-4f7e-8b0c-2d5f9a8c1e42 + merge_method: merge + merge_action: default + expected_head_sha: 6dcb09b5b57875f334f61aebed695e2e4193db5e + response-if-the-pull-request-is-enqueued: + summary: Enqueued in the merge queue + value: + status: enqueued + details: + message: Pull request is in the merge queue. + response-if-the-merge-succeeded: + summary: Merge succeeded + value: + status: merged + details: + message: Pull request was merged. + sha: 6dcb09b5b57875f334f61aebed695e2e4193db5e + response-if-the-merge-failed: + summary: Merge failed + value: + status: failed + details: + message: 'Merge conflict: the pull request could not be merged.' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-stackQL-resource: pulls /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers: get: summary: Get all requested reviewers for a pull request - description: >- - Gets the users or teams whose review is requested for a pull request. - Once a requested reviewer submits a review, they are no longer - considered a requested reviewer. Their review will instead be returned - by the [List reviews for a pull - request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) - operation. + description: Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. tags: - pulls operationId: pulls/list-requested-reviewers externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/review-requests#get-all-requested-reviewers-for-a-pull-request + url: https://docs.github.com/rest/pulls/review-requests#get-all-requested-reviewers-for-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1416,24 +1231,15 @@ paths: x-stackQL-resource: review_requests post: summary: Request reviewers for a pull request - description: >- - Requests reviews for a pull request from a given set of users and/or - teams. - - This endpoint triggers - [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - Creating content too quickly using this endpoint may result in secondary - rate limiting. For more information, see "[Rate limits for the - API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - and "[Best practices for using the REST - API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + description: |- + Requests reviews for a pull request from a given set of users and/or teams. + This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." tags: - pulls operationId: pulls/request-reviewers externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/review-requests#request-reviewers-for-a-pull-request + url: https://docs.github.com/rest/pulls/review-requests#request-reviewers-for-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1490,16 +1296,13 @@ paths: x-stackQL-resource: review_requests delete: summary: Remove requested reviewers from a pull request - description: >- - Removes review requests from a pull request for a given set of users - and/or teams. + description: Removes review requests from a pull request for a given set of users and/or teams. tags: - pulls operationId: pulls/remove-requested-reviewers externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/review-requests#remove-requested-reviewers-from-a-pull-request + url: https://docs.github.com/rest/pulls/review-requests#remove-requested-reviewers-from-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1553,37 +1356,21 @@ paths: /repos/{owner}/{repo}/pulls/{pull_number}/reviews: get: summary: List reviews for a pull request - description: >- - Lists all reviews for a specified pull request. The list of reviews - returns in chronological order. - - - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - + description: |- + Lists all reviews for a specified pull request. The list of reviews returns in chronological order. - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. - - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. - - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/list-reviews externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request + url: https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1613,70 +1400,30 @@ paths: x-stackQL-resource: reviews post: summary: Create a review for a pull request - description: >- + description: |- Creates a review on a specified pull request. + This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - This endpoint triggers - [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - Creating content too quickly using this endpoint may result in secondary - rate limiting. For more information, see "[Rate limits for the - API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - and "[Best practices for using the REST - API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - - - Pull request reviews created in the `PENDING` state are not submitted - and therefore do not include the `submitted_at` property in the - response. To create a pending review for a pull request, leave the - `event` parameter blank. For more information about submitting a - `PENDING` review, see "[Submit a review for a pull - request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." - + Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." > [!NOTE] + > To comment on a specific line in a file, you need to first determine the position of that line in the diff. To see a pull request diff, add the `application/vnd.github.v3.diff` media type to the `Accept` header of a call to the [Get a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. - > To comment on a specific line in a file, you need to first determine - the position of that line in the diff. To see a pull request diff, add - the `application/vnd.github.v3.diff` media type to the `Accept` header - of a call to the [Get a pull - request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) - endpoint. - - - The `position` value equals the number of lines down from the first "@@" - hunk header in the file you want to add a comment. The line just below - the "@@" line is position 1, the next line is position 2, and so on. The - position in the diff continues to increase through lines of whitespace - and additional hunks until the beginning of a new file. - - - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. + The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. - - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/create-review externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request + url: https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1690,57 +1437,29 @@ paths: properties: commit_id: type: string - description: >- - The SHA of the commit that needs a review. Not using the - latest commit SHA may render your review comment outdated if - a subsequent commit modifies the line you specify as the - `position`. Defaults to the most recent commit in the pull - request when you do not specify a value. + description: The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. body: type: string - description: >- - **Required** when using `REQUEST_CHANGES` or `COMMENT` for - the `event` parameter. The body text of the pull request - review. + description: '**Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review.' event: type: string - description: >- - The review action you want to perform. The review actions - include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By - leaving this blank, you set the review action state to - `PENDING`, which means you will need to [submit the pull - request - review](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request) - when you are ready. + description: 'The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request) when you are ready.' enum: - APPROVE - REQUEST_CHANGES - COMMENT comments: type: array - description: >- - Use the following table to specify the location, - destination, and contents of the draft review comment. + description: Use the following table to specify the location, destination, and contents of the draft review comment. items: type: object properties: path: type: string - description: >- - The relative path to the file that necessitates a - review comment. + description: The relative path to the file that necessitates a review comment. position: type: integer - description: >- - The position in the diff where you want to add a - review comment. Note this value is not the same as the - line number in the file. The `position` value equals - the number of lines down from the first "@@" hunk - header in the file you want to add a comment. The line - just below the "@@" line is position 1, the next line - is position 2, and so on. The position in the diff - continues to increase through lines of whitespace and - additional hunks until the beginning of a new file. + description: The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. body: type: string description: Text of the review comment. @@ -1763,9 +1482,7 @@ paths: default: value: commit_id: ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091 - body: >- - This is close to perfect! Please address the suggested - inline change. + body: This is close to perfect! Please address the suggested inline change. event: REQUEST_CHANGES comments: - path: file.md @@ -1795,36 +1512,21 @@ paths: /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}: get: summary: Get a review for a pull request - description: >- + description: |- Retrieves a pull request review by its ID. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. - - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. - - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. - - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/get-review externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/reviews#get-a-review-for-a-pull-request + url: https://docs.github.com/rest/pulls/reviews#get-a-review-for-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1850,36 +1552,21 @@ paths: x-stackQL-resource: reviews put: summary: Update a review for a pull request - description: >- + description: |- Updates the contents of a specified review summary comment. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. - - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. - - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. - - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/update-review externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/reviews#update-a-review-for-a-pull-request + url: https://docs.github.com/rest/pulls/reviews#update-a-review-for-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1900,9 +1587,7 @@ paths: examples: default: value: - body: >- - This is close to perfect! Please address the suggested - inline change. And add more about this. + body: This is close to perfect! Please address the suggested inline change. And add more about this. responses: '200': description: Response @@ -1923,37 +1608,21 @@ paths: x-stackQL-resource: reviews delete: summary: Delete a pending review for a pull request - description: >- - Deletes a pull request review that has not been submitted. Submitted - reviews cannot be deleted. - - - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. - - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. + description: |- + Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/delete-pending-review externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/reviews#delete-a-pending-review-for-a-pull-request + url: https://docs.github.com/rest/pulls/reviews#delete-a-pending-review-for-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -1982,36 +1651,21 @@ paths: /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments: get: summary: List comments for a pull request review - description: >- + description: |- Lists comments for a specific pull request review. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. - - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. - - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. - - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/list-comments-for-review externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/reviews#list-comments-for-a-pull-request-review + url: https://docs.github.com/rest/pulls/reviews#list-comments-for-a-pull-request-review parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -2045,44 +1699,24 @@ paths: /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals: put: summary: Dismiss a review for a pull request - description: >- + description: |- Dismisses a specified review on a pull request. - > [!NOTE] + > To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. - > To dismiss a pull request review on a [protected - branch](https://docs.github.com/rest/branches/branch-protection), you - must be a repository administrator or be included in the list of people - or teams who can dismiss pull request reviews. - - - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. - - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. - - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. - - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/dismiss-review externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/reviews#dismiss-a-review-for-a-pull-request + url: https://docs.github.com/rest/pulls/reviews#dismiss-a-review-for-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -2133,39 +1767,21 @@ paths: /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events: post: summary: Submit a review for a pull request - description: >- - Submits a pending review for a pull request. For more information about - creating a pending review for a pull request, see "[Create a review for - a pull - request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." - - - This endpoint supports the following custom media types. For more - information, see "[Media - types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - - - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw - markdown body. Response will include `body`. This is the default if you - do not pass any specific media type. + description: |- + Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." - - **`application/vnd.github-commitcomment.text+json`**: Returns a text - only representation of the markdown body. Response will include - `body_text`. + This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - - **`application/vnd.github-commitcomment.html+json`**: Returns HTML - rendered from the body's markdown. Response will include `body_html`. - - - **`application/vnd.github-commitcomment.full+json`**: Returns raw, - text, and HTML representations. Response will include `body`, - `body_text`, and `body_html`. + - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. tags: - pulls operationId: pulls/submit-review externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request + url: https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -2183,13 +1799,7 @@ paths: description: The body text of the pull request review event: type: string - description: >- - The review action you want to perform. The review actions - include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When - you leave this blank, the API returns _HTTP 422 - (Unrecognizable entity)_ and sets the review action state to - `PENDING`, which means you will need to re-submit the pull - request review using a review action. + description: 'The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action.' enum: - APPROVE - REQUEST_CHANGES @@ -2226,12 +1836,9 @@ paths: /repos/{owner}/{repo}/pulls/{pull_number}/update-branch: put: summary: Update a pull request branch - description: >- - Updates the pull request branch with the latest upstream changes by - merging HEAD from the base branch into the pull request branch. - - Note: If making a request on behalf of a GitHub App you must also have - permissions to write the contents of the head repository. + description: |- + Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + Note: If making a request on behalf of a GitHub App you must also have permissions to write the contents of the head repository. tags: - pulls operationId: pulls/update-branch @@ -2252,15 +1859,7 @@ paths: properties: expected_head_sha: type: string - description: >- - The expected SHA of the pull request's HEAD ref. This is the - most recent commit on the pull request's branch. If the - expected SHA does not match the pull request's HEAD, you - will receive a `422 Unprocessable Entity` status. You can - use the "[List - commits](https://docs.github.com/rest/commits/commits#list-commits)" - endpoint to find the most recent commit SHA. Default: SHA of - the pull request's current HEAD ref. + description: 'The expected SHA of the pull request''s HEAD ref. This is the most recent commit on the pull request''s branch. If the expected SHA does not match the pull request''s HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/commits/commits#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request''s current HEAD ref.' examples: default: value: @@ -2292,6 +1891,1089 @@ paths: category: pulls subcategory: pulls x-stackQL-resource: pulls + /repos/{owner}/{repo}/stacks: + get: + summary: List pull request stacks + description: Lists pull request stacks in a repository. + tags: + - pulls + operationId: pull-request-stacks/list + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/pulls/stacks#list-pull-request-stacks + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - name: pull_request + description: Filter to the stack containing this repository pull request number. + in: query + required: false + schema: + type: integer + - $ref: '#/components/parameters/per-page' + - $ref: '#/components/parameters/page' + responses: + '200': + description: Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/pull-request-stack-minimal' + examples: + default: + value: + - id: 9876543 + number: 42 + node_id: S_kwDOABCDEF4AAAAA + url: https://api.github.com/repos/octocat/hello-world/stacks/42 + base: + ref: main + pull_requests: + - number: 101 + state: open + draft: false + merged_at: null + head: + ref: user-model + sha: aaa1111aaa1111aaa1111aaa1111aaa1111aaa11 + - number: 102 + state: open + draft: false + merged_at: null + head: + ref: user-api + sha: bbb2222bbb2222bbb2222bbb2222bbb2222bbb22 + open: true + created_at: '2026-04-15T10:00:00Z' + '404': + $ref: '#/components/responses/not_found' + '422': + $ref: '#/components/responses/validation_failed' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: pulls + subcategory: stacks + x-stackQL-resource: stacks + post: + summary: Create a pull request stack + description: |- + Creates a stack from an ordered list of pull request numbers. Provide the pull + request numbers from the bottom of the stack to the top. Each pull request's + base ref must match the previous pull request's head ref. + tags: + - pulls + operationId: pull-request-stacks/create + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/pulls/stacks#create-a-pull-request-stack + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - pull_requests + properties: + pull_requests: + type: array + description: An ordered list of pull request numbers forming the stack from bottom to top. + items: + type: integer + minItems: 2 + maxItems: 100 + examples: + default: + value: + pull_requests: + - 101 + - 102 + - 103 + responses: + '201': + description: Response + content: + application/json: + schema: + type: object + required: + - id + - number + - node_id + - url + - base + - open + - created_at + - pull_requests + properties: + id: + type: integer + number: + type: integer + node_id: + type: string + url: + type: string + format: uri + base: + type: object + required: + - ref + properties: + ref: + type: string + open: + type: boolean + description: Whether the stack has any open pull request. False when all pull requests are merged or closed. + created_at: + type: string + format: date-time + pull_requests: + type: array + items: + $ref: '#/components/schemas/pull-request-stack-pull-request' + examples: + default: + value: + id: 9876543 + number: 42 + node_id: S_kwDOABCDEF4AAAAA + url: https://api.github.com/repos/octocat/hello-world/stacks/42 + base: + ref: main + open: true + created_at: '2026-04-15T10:00:00Z' + pull_requests: + - id: 100001 + node_id: PR_kwDOABCDEF4AAAAA + title: Add user model + state: open + merged_at: null + draft: false + html_url: https://github.com/octocat/hello-world/pull/101 + user: + login: octocat + id: 1 + node_id: MDQ6VXNlcjE= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + user_view_type: public + number: 101 + url: https://api.github.com/repos/octocat/hello-world/pulls/101 + head: + ref: user-model + sha: aaa1111aaa1111aaa1111aaa1111aaa1111aaa11 + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + base: + ref: main + sha: 6dcb09b5b57875f334f61aebed695e2e4193db5e + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + - id: 100002 + node_id: PR_kwDOABCDEF4AAAAB + title: Add user API + state: open + merged_at: null + draft: true + html_url: https://github.com/octocat/hello-world/pull/102 + user: + login: octocat + id: 1 + node_id: MDQ6VXNlcjE= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + user_view_type: public + number: 102 + url: https://api.github.com/repos/octocat/hello-world/pulls/102 + head: + ref: user-api + sha: bbb2222bbb2222bbb2222bbb2222bbb2222bbb22 + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + base: + ref: user-model + sha: aaa1111aaa1111aaa1111aaa1111aaa1111aaa11 + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + '404': + $ref: '#/components/responses/not_found' + '422': + description: |- + Validation failed. Returned when the request references pull requests that + don't exist in the repository, or when the pull requests can't form a + valid stack. + content: + application/json: + schema: + title: Validation Error + description: Validation Error + type: object + required: + - message + - documentation_url + properties: + message: + type: string + documentation_url: + type: string + errors: + type: array + items: + type: object + required: + - code + properties: + resource: + type: string + field: + type: string + message: + type: string + code: + type: string + index: + type: integer + value: + oneOf: + - type: string + nullable: true + - type: integer + nullable: true + - type: array + nullable: true + items: + oneOf: + - type: string + - type: integer + examples: + missing_pull_requests: + summary: One or more pull request numbers don't exist in the repository + value: + message: Validation Failed + documentation_url: https://docs.github.com/rest/pulls/stacks#create-a-pull-request-stack + errors: + - resource: Stack + field: pull_requests + code: missing + value: + - 123 + not_a_linear_stack: + summary: The pull requests don't form a linear stack + value: + message: Pull requests must form a stack, where each PR's base ref is the previous PR's head ref + documentation_url: https://docs.github.com/rest/pulls/stacks#create-a-pull-request-stack + already_stacked: + summary: A pull request already belongs to a stack + value: + message: 'Pull request #123 is already part of a stack' + documentation_url: https://docs.github.com/rest/pulls/stacks#create-a-pull-request-stack + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: pulls + subcategory: stacks + x-stackQL-resource: stacks + /repos/{owner}/{repo}/stacks/{stack_number}: + get: + summary: Get a pull request stack + description: Gets a pull request stack by providing its stack number. + tags: + - pulls + operationId: pull-request-stacks/get + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/pulls/stacks#get-a-pull-request-stack + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - name: stack_number + description: The number that identifies the pull request stack. + in: path + required: true + schema: + type: integer + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - id + - number + - node_id + - url + - base + - open + - created_at + - pull_requests + properties: + id: + type: integer + number: + type: integer + node_id: + type: string + url: + type: string + format: uri + base: + type: object + required: + - ref + properties: + ref: + type: string + open: + type: boolean + description: Whether the stack has any open pull request. False when all pull requests are merged or closed. + created_at: + type: string + format: date-time + pull_requests: + type: array + items: + $ref: '#/components/schemas/pull-request-stack-pull-request' + examples: + default: + value: + id: 9876543 + number: 42 + node_id: S_kwDOABCDEF4AAAAA + url: https://api.github.com/repos/octocat/hello-world/stacks/42 + base: + ref: main + open: true + created_at: '2026-04-15T10:00:00Z' + pull_requests: + - id: 100001 + node_id: PR_kwDOABCDEF4AAAAA + title: Add user model + state: open + merged_at: null + draft: false + html_url: https://github.com/octocat/hello-world/pull/101 + user: + login: octocat + id: 1 + node_id: MDQ6VXNlcjE= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + user_view_type: public + number: 101 + url: https://api.github.com/repos/octocat/hello-world/pulls/101 + head: + ref: user-model + sha: aaa1111aaa1111aaa1111aaa1111aaa1111aaa11 + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + base: + ref: main + sha: 6dcb09b5b57875f334f61aebed695e2e4193db5e + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + - id: 100002 + node_id: PR_kwDOABCDEF4AAAAB + title: Add user API + state: open + merged_at: null + draft: true + html_url: https://github.com/octocat/hello-world/pull/102 + user: + login: octocat + id: 1 + node_id: MDQ6VXNlcjE= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + user_view_type: public + number: 102 + url: https://api.github.com/repos/octocat/hello-world/pulls/102 + head: + ref: user-api + sha: bbb2222bbb2222bbb2222bbb2222bbb2222bbb22 + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + base: + ref: user-model + sha: aaa1111aaa1111aaa1111aaa1111aaa1111aaa11 + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + '404': + $ref: '#/components/responses/not_found' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: pulls + subcategory: stacks + x-stackQL-resource: stacks + /repos/{owner}/{repo}/stacks/{stack_number}/add: + post: + summary: Add pull requests to a pull request stack + description: |- + Appends an ordered list of pull request numbers onto the top of an existing + stack. Provide only the pull requests you want to add, from the current top of + the stack upward. The first new pull request's base ref must match the current + top pull request's head ref. + tags: + - pulls + operationId: pull-request-stacks/add + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/pulls/stacks#add-pull-requests-to-a-pull-request-stack + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - name: stack_number + description: The number that identifies the pull request stack. + in: path + required: true + schema: + type: integer + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - pull_requests + properties: + pull_requests: + type: array + description: An ordered list of pull request numbers to append to the stack, from the current top upward. + items: + type: integer + minItems: 1 + maxItems: 100 + examples: + default: + value: + pull_requests: + - 104 + - 102 + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - id + - number + - node_id + - url + - base + - open + - created_at + - pull_requests + properties: + id: + type: integer + number: + type: integer + node_id: + type: string + url: + type: string + format: uri + base: + type: object + required: + - ref + properties: + ref: + type: string + open: + type: boolean + description: Whether the stack has any open pull request. False when all pull requests are merged or closed. + created_at: + type: string + format: date-time + pull_requests: + type: array + items: + $ref: '#/components/schemas/pull-request-stack-pull-request' + examples: + default: + value: + id: 9876543 + number: 42 + node_id: S_kwDOABCDEF4AAAAA + url: https://api.github.com/repos/octocat/hello-world/stacks/42 + base: + ref: main + open: true + created_at: '2026-04-15T10:00:00Z' + pull_requests: + - id: 100001 + node_id: PR_kwDOABCDEF4AAAAA + title: Add user model + state: open + merged_at: null + draft: false + html_url: https://github.com/octocat/hello-world/pull/101 + user: + login: octocat + id: 1 + node_id: MDQ6VXNlcjE= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + user_view_type: public + number: 101 + url: https://api.github.com/repos/octocat/hello-world/pulls/101 + head: + ref: user-model + sha: aaa1111aaa1111aaa1111aaa1111aaa1111aaa11 + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + base: + ref: main + sha: 6dcb09b5b57875f334f61aebed695e2e4193db5e + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + - id: 100002 + node_id: PR_kwDOABCDEF4AAAAB + title: Add user API + state: open + merged_at: null + draft: true + html_url: https://github.com/octocat/hello-world/pull/102 + user: + login: octocat + id: 1 + node_id: MDQ6VXNlcjE= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + user_view_type: public + number: 102 + url: https://api.github.com/repos/octocat/hello-world/pulls/102 + head: + ref: user-api + sha: bbb2222bbb2222bbb2222bbb2222bbb2222bbb22 + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + base: + ref: user-model + sha: aaa1111aaa1111aaa1111aaa1111aaa1111aaa11 + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + '404': + $ref: '#/components/responses/not_found' + '409': + description: Conflict. Returned when the stack is being modified by another request. + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + examples: + being_modified: + summary: Another request is currently modifying the stack + value: + message: Stack is currently being modified + documentation_url: https://docs.github.com/rest/pulls/stacks#add-pull-requests-to-a-pull-request-stack + status: '409' + '422': + description: |- + Validation failed. Returned when the request references pull requests that + don't exist in the repository, or when the pull requests can't be appended + to the stack. + content: + application/json: + schema: + title: Validation Error + description: Validation Error + type: object + required: + - message + - documentation_url + properties: + message: + type: string + documentation_url: + type: string + errors: + type: array + items: + type: object + required: + - code + properties: + resource: + type: string + field: + type: string + message: + type: string + code: + type: string + index: + type: integer + value: + oneOf: + - type: string + nullable: true + - type: integer + nullable: true + - type: array + nullable: true + items: + oneOf: + - type: string + - type: integer + examples: + missing_pull_requests: + summary: One or more pull request numbers don't exist in the repository + value: + message: Validation Failed + documentation_url: https://docs.github.com/rest/pulls/stacks#add-pull-requests-to-a-pull-request-stack + errors: + - resource: Stack + field: pull_requests + code: missing + value: + - 123 + not_a_linear_stack: + summary: The pull requests don't continue the stack linearly + value: + message: Pull requests must form a stack, where each PR's base ref is the previous PR's head ref + documentation_url: https://docs.github.com/rest/pulls/stacks#add-pull-requests-to-a-pull-request-stack + already_stacked: + summary: A pull request already belongs to a stack + value: + message: 'Pull request #123 is already part of a stack' + documentation_url: https://docs.github.com/rest/pulls/stacks#add-pull-requests-to-a-pull-request-stack + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: pulls + subcategory: stacks + x-stackQL-resource: stacks + /repos/{owner}/{repo}/stacks/{stack_number}/unstack: + post: + summary: Remove pull requests from a pull request stack + description: |- + Removes the unmerged pull requests from a stack. Pull requests that cannot be + unstacked (for example, those that are queued for merge) are left in place. When pull requests remain in the stack, the updated + stack is returned with a `200`. When no pull requests remain, the stack is + dissolved and a `204` is returned. + tags: + - pulls + operationId: pull-request-stacks/unstack + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/pulls/stacks#remove-pull-requests-from-a-pull-request-stack + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - name: stack_number + description: The number that identifies the pull request stack. + in: path + required: true + schema: + type: integer + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - id + - number + - node_id + - url + - base + - open + - created_at + - pull_requests + properties: + id: + type: integer + number: + type: integer + node_id: + type: string + url: + type: string + format: uri + base: + type: object + required: + - ref + properties: + ref: + type: string + open: + type: boolean + description: Whether the stack has any open pull request. False when all pull requests are merged or closed. + created_at: + type: string + format: date-time + pull_requests: + type: array + items: + $ref: '#/components/schemas/pull-request-stack-pull-request' + examples: + default: + value: + id: 9876543 + number: 42 + node_id: S_kwDOABCDEF4AAAAA + url: https://api.github.com/repos/octocat/hello-world/stacks/42 + base: + ref: main + open: true + created_at: '2026-04-15T10:00:00Z' + pull_requests: + - id: 100001 + node_id: PR_kwDOABCDEF4AAAAA + title: Add user model + state: open + merged_at: null + draft: false + html_url: https://github.com/octocat/hello-world/pull/101 + user: + login: octocat + id: 1 + node_id: MDQ6VXNlcjE= + avatar_url: https://github.com/images/error/octocat_happy.gif + gravatar_id: '' + url: https://api.github.com/users/octocat + html_url: https://github.com/octocat + followers_url: https://api.github.com/users/octocat/followers + following_url: https://api.github.com/users/octocat/following{/other_user} + gists_url: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/octocat/subscriptions + organizations_url: https://api.github.com/users/octocat/orgs + repos_url: https://api.github.com/users/octocat/repos + events_url: https://api.github.com/users/octocat/events{/privacy} + received_events_url: https://api.github.com/users/octocat/received_events + type: User + site_admin: false + user_view_type: public + number: 101 + url: https://api.github.com/repos/octocat/hello-world/pulls/101 + head: + ref: user-model + sha: aaa1111aaa1111aaa1111aaa1111aaa1111aaa11 + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + base: + ref: main + sha: 6dcb09b5b57875f334f61aebed695e2e4193db5e + repo: + id: 1296269 + url: https://api.github.com/repos/octocat/hello-world + name: hello-world + '204': + $ref: '#/components/responses/no_content' + '404': + $ref: '#/components/responses/not_found' + '409': + description: Conflict. Returned when the stack is being modified by another request. + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' + examples: + being_modified: + summary: Another request is currently modifying the stack + value: + message: Stack is currently being modified + documentation_url: https://docs.github.com/rest/pulls/stacks#remove-pull-requests-from-a-pull-request-stack + status: '409' + '422': + description: |- + Validation failed. Returned when the stack can't be unstacked because every + pull request in it is locked and cannot be removed. + content: + application/json: + schema: + $ref: '#/components/schemas/validation-error' + examples: + cannot_be_removed: + summary: Every pull request in the stack is locked and can't be removed + value: + message: Pull requests in this stack cannot be removed + documentation_url: https://docs.github.com/rest/pulls/stacks#remove-pull-requests-from-a-pull-request-stack + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: pulls + subcategory: stacks + x-stackQL-resource: stacks + /graphql?resource=review_threads: + post: + operationId: graphql/pulls/review_threads/list + summary: Review Threads + description: Review comment threads on a pull request with their resolved / outdated state and the comments in each thread. Backed by the GitHub GraphQL API (`pullRequest.reviewThreads`); the REST API does not expose thread resolution. + x-stackQL-graphQL: + url: https://api.github.com/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.repository.pullRequest.reviewThreads.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.repository.pullRequest.reviewThreads.pageInfo.endCursor + terminateOnJsonPath: $.data.repository.pullRequest.reviewThreads.pageInfo.hasNextPage + query: | + query { + repository(owner: "{{ .owner }}", name: "{{ .repo }}") { + pullRequest(number: {{ .pull_number }}) { + reviewThreads(first: 100{{ .cursor }}) { + pageInfo { endCursor hasNextPage } + nodes { + id + is_resolved: isResolved + is_outdated: isOutdated + is_collapsed: isCollapsed + path + line + start_line: startLine + diff_side: diffSide + subject_type: subjectType + resolved_by: resolvedBy { login } + comments(first: 100) { + total_count: totalCount + nodes { + id + url + body + created_at: createdAt + author { login } + } + } + } + } + } + } + } + x-stackql-protocol: graphql + externalDocs: + description: GitHub GraphQL API documentation + url: https://docs.github.com/graphql + parameters: + - name: owner + in: query + required: true + schema: + type: string + description: The account owner of the repository. + - name: repo + in: query + required: true + schema: + type: string + description: The name of the repository. + - name: pull_number + in: query + required: true + schema: + type: integer + description: The number that identifies the pull request. + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + repository: + type: object + properties: + pullRequest: + type: object + properties: + reviewThreads: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: The GraphQL node ID of the thread. + is_resolved: + type: boolean + is_outdated: + type: boolean + description: Whether the thread is on a line that has since changed. + is_collapsed: + type: boolean + path: + type: string + description: The file the thread is attached to. + line: + type: integer + description: The line in the diff the thread is attached to. + start_line: + type: integer + description: The first line of a multi-line comment range. + diff_side: + type: string + description: LEFT or RIGHT. + subject_type: + type: string + description: LINE or FILE. + resolved_by: + type: object + description: The user who resolved the thread (`login`). + properties: + login: + type: string + comments: + type: object + description: The comments in the thread (`total_count`, `nodes[]` with `id`, `url`, `body`, `created_at`, `author.login`). + properties: + total_count: + type: integer + nodes: + type: array + items: + type: object + properties: + id: + type: string + url: + type: string + body: + type: string + created_at: + type: string + format: date-time + author: + type: object + properties: + login: + type: string + pageInfo: + type: object + properties: + endCursor: + type: string + hasNextPage: + type: boolean components: schemas: pull-request-simple: @@ -2336,18 +3018,15 @@ components: example: https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments review_comment_url: type: string - example: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} + example: https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} comments_url: type: string format: uri - example: >- - https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + example: https://api.github.com/repos/octocat/Hello-World/issues/1347/comments statuses_url: type: string format: uri - example: >- - https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + example: https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e number: type: integer example: 1347 @@ -2506,6 +3185,8 @@ components: $ref: '#/components/schemas/author-association' auto_merge: $ref: '#/components/schemas/auto-merge' + stack: + $ref: '#/components/schemas/pull-request-stack' draft: description: Indicates whether or not the pull request is a draft. example: false @@ -2619,11 +3300,7 @@ components: pull-request: type: object title: Pull Request - description: >- - Pull requests let you tell others about changes you've pushed to a - repository on GitHub. Once a pull request is sent, interested parties - can review the set of changes, discuss potential modifications, and even - push follow-up commits if necessary. + description: Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. properties: url: type: string @@ -2662,18 +3339,15 @@ components: example: https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments review_comment_url: type: string - example: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} + example: https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} comments_url: type: string format: uri - example: >- - https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + example: https://api.github.com/repos/octocat/Hello-World/issues/1347/comments statuses_url: type: string format: uri - example: >- - https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + example: https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e number: description: Number uniquely identifying the pull request within its repository. example: 42 @@ -2839,6 +3513,8 @@ components: $ref: '#/components/schemas/author-association' auto_merge: $ref: '#/components/schemas/auto-merge' + stack: + $ref: '#/components/schemas/pull-request-stack' draft: description: Indicates whether or not the pull request is a draft. example: false @@ -3021,9 +3697,7 @@ components: version: '2026-03-10' pull-request-review-comment: title: Pull Request Review Comment - description: >- - Pull Request Review Comments are comments on a portion of the Pull - Request's diff. + description: Pull Request Review Comments are comments on a portion of the Pull Request's diff. type: object properties: url: @@ -3054,15 +3728,11 @@ components: example: config/database.yaml type: string position: - description: >- - The line index in the diff to which the comment applies. This field - is closing down; use `line` instead. + description: The line index in the diff to which the comment applies. This field is closing down; use `line` instead. example: 1 type: integer original_position: - description: >- - The index of the original line in the diff to which the comment - applies. This field is closing down; use `original_line` instead. + description: The index of the original line in the diff to which the comment applies. This field is closing down; use `original_line` instead. example: 4 type: integer commit_id: @@ -3112,8 +3782,7 @@ components: href: type: string format: uri - example: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + example: https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 required: - href html: @@ -3122,8 +3791,7 @@ components: href: type: string format: uri - example: >- - https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 + example: https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 required: - href pull_request: @@ -3158,30 +3826,22 @@ components: default: RIGHT nullable: true line: - description: >- - The line of the blob to which the comment applies. The last line of - the range for a multi-line comment + description: The line of the blob to which the comment applies. The last line of the range for a multi-line comment example: 2 type: integer original_line: - description: >- - The line of the blob to which the comment applies. The last line of - the range for a multi-line comment + description: The line of the blob to which the comment applies. The last line of the range for a multi-line comment example: 2 type: integer side: - description: >- - The side of the diff to which the comment applies. The side of the - last line of the range for a multi-line comment + description: The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment enum: - LEFT - RIGHT default: RIGHT type: string subject_type: - description: >- - The level at which the comment is targeted, can be a diff line or a - file. + description: The level at which the comment is targeted, can be a diff line or a file. type: string enum: - line @@ -3219,8 +3879,7 @@ components: url: type: string format: uri - example: >- - https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e + example: https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e sha: type: string example: 6dcb09b5b57875f334f61aebed695e2e4193db5e @@ -3230,21 +3889,18 @@ components: html_url: type: string format: uri - example: >- - https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e + example: https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e comments_url: type: string format: uri - example: >- - https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments + example: https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments commit: type: object properties: url: type: string format: uri - example: >- - https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e + example: https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e author: $ref: '#/components/schemas/nullable-git-user' committer: @@ -3264,8 +3920,7 @@ components: url: type: string format: uri - example: >- - https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132 + example: https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132 required: - sha - url @@ -3491,13 +4146,11 @@ components: url: type: string format: uri - example: >- - https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd + example: https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd html_url: type: string format: uri - example: >- - https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd + example: https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd required: - sha - url @@ -3559,18 +4212,15 @@ components: blob_url: type: string format: uri - example: >- - https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt + example: https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt raw_url: type: string format: uri - example: >- - https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt + example: https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt contents_url: type: string format: uri - example: >- - https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e + example: https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e patch: type: string example: '@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test' @@ -3602,6 +4252,56 @@ components: - merged - message - sha + pull-request-merge-async-result: + title: Pull Request Merge Async Result + description: Pull Request Merge Async Result + type: object + additionalProperties: false + properties: + status: + type: string + enum: + - pending + - merged + - enqueued + - failed + details: + description: When an asynchronous merge request was created or already existed + type: object + additionalProperties: false + properties: + message: + type: string + uuid: + type: string + merge_method: + type: string + enum: + - default + - merge + - squash + - rebase + merge_action: + type: string + enum: + - default + - merge_queue + - direct_merge + expected_head_sha: + type: string + description: SHA that the pull request head must match for the enqueued merge to proceed. + sha: + type: string + required: + - message + - uuid + - merge_method + - merge_action + - expected_head_sha + - sha + required: + - status + - details pull-request-review-request: title: Pull Request Review Request description: Pull Request Review Request @@ -3672,10 +4372,7 @@ components: type: string format: date-time commit_id: - description: >- - A commit SHA for the review. If the commit object was garbage - collected or forcibly deleted, then it no longer exists in Git and - this value will be `null`. + description: A commit SHA for the review. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`. example: 54bb654c9e6025347f57900a4a5c2313a96b8035 type: string nullable: true @@ -3779,72 +4476,281 @@ components: type: string body_html: type: string - reactions: - $ref: '#/components/schemas/reaction-rollup' - side: - description: The side of the first line of the range for a multi-line comment. - enum: - - LEFT - - RIGHT - default: RIGHT + reactions: + $ref: '#/components/schemas/reaction-rollup' + side: + description: The side of the first line of the range for a multi-line comment. + enum: + - LEFT + - RIGHT + default: RIGHT + type: string + start_side: + type: string + description: The side of the first line of the range for a multi-line comment. + enum: + - LEFT + - RIGHT + default: RIGHT + nullable: true + line: + description: The line of the blob to which the comment applies. The last line of the range for a multi-line comment + example: 2 + type: integer + original_line: + description: The original line of the blob to which the comment applies. The last line of the range for a multi-line comment + example: 2 + type: integer + start_line: + description: The first line of the range for a multi-line comment. + example: 2 + type: integer + nullable: true + original_start_line: + description: The original first line of the range for a multi-line comment. + example: 2 + type: integer + nullable: true + subject_type: + description: The level at which the comment is targeted, can be a diff line or a file. + type: string + enum: + - line + - file + required: + - id + - node_id + - url + - body + - diff_hunk + - path + - position + - original_position + - commit_id + - original_commit_id + - user + - pull_request_review_id + - html_url + - pull_request_url + - _links + - author_association + - created_at + - updated_at + pull-request-stack-minimal: + title: Pull Request Stack Minimal + type: object + required: + - id + - number + - node_id + - url + - base + - open + - created_at + - pull_requests + properties: + id: + type: integer + number: + type: integer + node_id: + type: string + url: + type: string + format: uri + base: + type: object + required: + - ref + properties: + ref: + type: string + open: + type: boolean + description: Whether the stack has any open pull request. False when all pull requests are merged or closed. + created_at: + type: string + format: date-time + pull_requests: + type: array + items: + type: object + required: + - number + - state + - draft + - merged_at + - head + properties: + number: + type: integer + state: + type: string + enum: + - open + - closed + draft: + type: boolean + merged_at: + type: string + format: date-time + nullable: true + head: + type: object + required: + - ref + - sha + properties: + ref: + type: string + sha: + type: string + pull-request-stack-pull-request: + title: Pull Request Stack Pull Request + type: object + properties: + id: + type: integer + format: int64 + number: + type: integer + url: + type: string + head: + type: object + properties: + ref: + type: string + sha: + type: string + repo: + type: object + properties: + id: + type: integer + format: int64 + url: + type: string + name: + type: string + required: + - id + - url + - name + required: + - ref + - sha + - repo + base: + type: object + properties: + ref: + type: string + sha: + type: string + repo: + type: object + properties: + id: + type: integer + format: int64 + url: + type: string + name: + type: string + required: + - id + - url + - name + required: + - ref + - sha + - repo + node_id: + type: string + title: type: string - start_side: + state: type: string - description: The side of the first line of the range for a multi-line comment. enum: - - LEFT - - RIGHT - default: RIGHT - nullable: true - line: - description: >- - The line of the blob to which the comment applies. The last line of - the range for a multi-line comment - example: 2 - type: integer - original_line: - description: >- - The original line of the blob to which the comment applies. The last - line of the range for a multi-line comment - example: 2 - type: integer - start_line: - description: The first line of the range for a multi-line comment. - example: 2 - type: integer - nullable: true - original_start_line: - description: The original first line of the range for a multi-line comment. - example: 2 - type: integer + - open + - closed + merged_at: + type: string + format: date-time nullable: true - subject_type: - description: >- - The level at which the comment is targeted, can be a diff line or a - file. + draft: + type: boolean + html_url: type: string - enum: - - line - - file + format: uri + user: + $ref: '#/components/schemas/nullable-simple-user' required: - id - - node_id + - number - url - - body - - diff_hunk - - path - - position - - original_position - - commit_id - - original_commit_id - - user - - pull_request_review_id + - head + - base + - node_id + - title + - state + - merged_at + - draft - html_url - - pull_request_url - - _links - - author_association - - created_at - - updated_at + - user + basic-error: + title: Basic Error + description: Basic Error + type: object + properties: + message: + type: string + documentation_url: + type: string + url: + type: string + status: + type: string + validation-error: + title: Validation Error + description: Validation Error + type: object + required: + - message + - documentation_url + properties: + message: + type: string + documentation_url: + type: string + errors: + type: array + items: + type: object + required: + - code + properties: + resource: + type: string + field: + type: string + message: + type: string + code: + type: string + index: + type: integer + value: + oneOf: + - type: string + nullable: true + - type: integer + nullable: true + - type: array + nullable: true + items: + type: string nullable-simple-user: title: Simple User description: A GitHub user. @@ -4133,9 +5039,7 @@ components: - url team: title: Team - description: >- - Groups of organization members that gives permissions on specified - repositories. + description: Groups of organization members that gives permissions on specified repositories. type: object properties: id: @@ -4192,6 +5096,17 @@ components: enum: - enterprise - organization + access_source: + description: |- + How the team's access to the repository was granted. This property is only + present when the team is returned in a repository context, such as + `GET /repos/{owner}/{repo}/teams`. + type: string + enum: + - direct + - organization + - enterprise + example: direct organization_id: type: integer description: Unique identifier of the organization to which this team belongs @@ -4278,8 +5193,7 @@ components: example: https://api.github.com/repos/octocat/Hello-World archive_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + example: http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: type: string example: http://api.github.com/repos/octocat/Hello-World/assignees{/user} @@ -4291,8 +5205,7 @@ components: example: http://api.github.com/repos/octocat/Hello-World/branches{/branch} collaborators_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + example: http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: type: string example: http://api.github.com/repos/octocat/Hello-World/comments{/number} @@ -4301,8 +5214,7 @@ components: example: http://api.github.com/repos/octocat/Hello-World/commits{/sha} compare_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + example: http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: type: string example: http://api.github.com/repos/octocat/Hello-World/contents/{+path} @@ -4340,12 +5252,10 @@ components: example: git:github.com/octocat/Hello-World.git issue_comment_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + example: http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} issue_events_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/issues/events{/number} + example: http://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: type: string example: http://api.github.com/repos/octocat/Hello-World/issues{/number} @@ -4368,8 +5278,7 @@ components: example: http://api.github.com/repos/octocat/Hello-World/milestones{/number} notifications_url: type: string - example: >- - http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + example: http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: type: string example: http://api.github.com/repos/octocat/Hello-World/pulls{/number} @@ -4439,9 +5348,7 @@ components: type: integer example: 80 size: - description: >- - The size of the repository, in kilobytes. Size is calculated hourly. - When a repository is initially created, the size is 0. + description: The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. type: integer example: 108 default_branch: @@ -4452,9 +5359,7 @@ components: type: integer example: 0 is_template: - description: >- - Whether this repository acts as a template that can be used to - generate new repositories. + description: Whether this repository acts as a template that can be used to generate new repositories. default: false type: boolean example: true @@ -4496,9 +5401,7 @@ components: type: boolean example: true pull_request_creation_policy: - description: >- - The policy controlling who can create pull requests: all or - collaborators_only. + description: 'The policy controlling who can create pull requests: all or collaborators_only.' type: string enum: - all @@ -4553,19 +5456,13 @@ components: type: boolean example: false allow_update_branch: - description: >- - Whether or not a pull request head branch that is behind its base - branch can always be updated even if it is not required to be up to - date before merging. + description: Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. default: false type: boolean example: false use_squash_pr_title_as_default: type: boolean - description: >- - Whether a squash merge commit can use the pull request title as - default. **This property is closing down. Please use - `squash_merge_commit_title` instead. + description: Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. default: false deprecated: true squash_merge_commit_title: @@ -4573,14 +5470,11 @@ components: enum: - PR_TITLE - COMMIT_OR_PR_TITLE - description: >- + description: |- The default value for a squash merge commit title: - - `PR_TITLE` - default to the pull request's title. - - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one - commit) or the pull request's title (when more than one commit). + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). squash_merge_commit_message: type: string enum: @@ -4598,14 +5492,11 @@ components: enum: - PR_TITLE - MERGE_MESSAGE - description: >- + description: |- The default value for a merge commit title. - - `PR_TITLE` - default to the pull request's title. - - - `MERGE_MESSAGE` - default to the classic title for a merge message - (e.g., Merge pull request #123 from branch-name). + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). merge_commit_message: type: string enum: @@ -4865,50 +5756,41 @@ components: - commit_title - commit_message nullable: true - validation-error: - title: Validation Error - description: Validation Error + pull-request-stack: + title: Pull Request Stack + description: The stack information associated with a pull request. type: object - required: - - message - - documentation_url properties: - message: - type: string - documentation_url: - type: string - errors: - type: array - items: - type: object - required: - - code - properties: - resource: - type: string - field: - type: string - message: - type: string - code: - type: string - index: - type: integer - value: - oneOf: - - type: string - nullable: true - - type: integer - nullable: true - - type: array - nullable: true - items: - type: string + base: + type: object + properties: + ref: + type: string + description: The base ref of the stack this pull request belongs to. + sha: + type: string + description: The base SHA of the stack this pull request belongs to. + required: + - ref + - sha + size: + type: integer + description: The total number of pull requests in the stack. + position: + type: integer + description: The one-based position of this pull request within the stack, where 1 is the bottom of the stack. + id: + type: integer + description: The ID of the stack that this pull request belongs to. + number: + type: integer + description: The number of the stack that this pull request belongs to. + required: + - base + nullable: true team-simple: title: Team Simple - description: >- - Groups of organization members that gives permissions on specified - repositories. + description: Groups of organization members that gives permissions on specified repositories. type: object properties: id: @@ -4988,19 +5870,6 @@ components: - repositories_url - slug - type - basic-error: - title: Basic Error - description: Basic Error - type: object - properties: - message: - type: string - documentation_url: - type: string - url: - type: string - status: - type: string reaction-rollup: title: Reaction Rollup type: object @@ -5087,22 +5956,87 @@ components: description: Validation Error Simple type: object required: - - message - - documentation_url - properties: - message: - type: string - documentation_url: - type: string - errors: - type: array - items: - type: string + - message + - documentation_url + properties: + message: + type: string + documentation_url: + type: string + errors: + type: array + items: + type: string + pull-request-minimal: + title: Pull Request Minimal + type: object + properties: + id: + type: integer + format: int64 + number: + type: integer + url: + type: string + head: + type: object + properties: + ref: + type: string + sha: + type: string + repo: + type: object + properties: + id: + type: integer + format: int64 + url: + type: string + name: + type: string + required: + - id + - url + - name + required: + - ref + - sha + - repo + base: + type: object + properties: + ref: + type: string + sha: + type: string + repo: + type: object + properties: + id: + type: integer + format: int64 + url: + type: string + name: + type: string + required: + - id + - url + - name + required: + - ref + - sha + - repo + required: + - id + - number + - url + - head + - base nullable-team-simple: title: Team Simple - description: >- - Groups of organization members that gives permissions on specified - repositories. + description: Groups of organization members that gives permissions on specified repositories. type: object properties: id: @@ -5268,6 +6202,8 @@ components: application/json: schema: $ref: '#/components/schemas/validation-error-simple' + no_content: + description: A header with no content is returned. parameters: owner: name: owner @@ -5278,39 +6214,28 @@ components: type: string repo: name: repo - description: >- - The name of the repository without the `.git` extension. The name is not - case sensitive. + description: The name of the repository without the `.git` extension. The name is not case sensitive. in: path required: true schema: type: string per-page: name: per_page - description: >- - The number of results per page (max 100). For more information, see - "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query schema: type: integer default: 30 page: name: page - description: >- - The page number of the results to fetch. For more information, see - "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query schema: type: integer default: 1 since: name: since - description: >- - Only show results that were last updated after the given time. This is a - timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: - `YYYY-MM-DDTHH:MM:SSZ`. + description: 'Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.' in: query required: false schema: @@ -5361,12 +6286,9 @@ components: issue_url: https://api.github.com/repos/octocat/Hello-World/issues/1347 commits_url: https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits review_comments_url: https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments - review_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} - comments_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/1347/comments - statuses_url: >- - https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + review_comment_url: https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} + comments_url: https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + statuses_url: https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e number: 1347 state: open locked: true @@ -5402,8 +6324,7 @@ components: milestone: url: https://api.github.com/repos/octocat/Hello-World/milestones/1 html_url: https://github.com/octocat/Hello-World/milestones/v1.0 - labels_url: >- - https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + labels_url: https://api.github.com/repos/octocat/Hello-World/milestones/1/labels id: 1002604 node_id: MDk6TWlsZXN0b25lMTAwMjYwNA== number: 1 @@ -5582,45 +6503,33 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} - assignees_url: >- - https://api.github.com/repos/octocat/Hello-World/assignees{/user} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} - branches_url: >- - https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} - comments_url: >- - https://api.github.com/repos/octocat/Hello-World/comments{/number} + branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} - contents_url: >- - https://api.github.com/repos/octocat/Hello-World/contents/{+path} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments downloads_url: https://api.github.com/repos/octocat/Hello-World/downloads events_url: https://api.github.com/repos/octocat/Hello-World/events forks_url: https://api.github.com/repos/octocat/Hello-World/forks - git_commits_url: >- - https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + git_commits_url: https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges - milestones_url: >- - https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -5735,45 +6644,33 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} - assignees_url: >- - https://api.github.com/repos/octocat/Hello-World/assignees{/user} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} - branches_url: >- - https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} - comments_url: >- - https://api.github.com/repos/octocat/Hello-World/comments{/number} + branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} - contents_url: >- - https://api.github.com/repos/octocat/Hello-World/contents/{+path} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments downloads_url: https://api.github.com/repos/octocat/Hello-World/downloads events_url: https://api.github.com/repos/octocat/Hello-World/events forks_url: https://api.github.com/repos/octocat/Hello-World/forks - git_commits_url: >- - https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + git_commits_url: https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges - milestones_url: >- - https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -5844,20 +6741,15 @@ components: issue: href: https://api.github.com/repos/octocat/Hello-World/issues/1347 comments: - href: >- - https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + href: https://api.github.com/repos/octocat/Hello-World/issues/1347/comments review_comments: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + href: https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments review_comment: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} + href: https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} commits: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + href: https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits statuses: - href: >- - https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + href: https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e author_association: OWNER auto_merge: null draft: false @@ -5872,11 +6764,9 @@ components: issue_url: https://api.github.com/repos/octocat/Hello-World/issues/1347 commits_url: https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits review_comments_url: https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments - review_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} + review_comment_url: https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} comments_url: https://api.github.com/repos/octocat/Hello-World/issues/1347/comments - statuses_url: >- - https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + statuses_url: https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e number: 1347 state: open locked: true @@ -6090,17 +6980,14 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments @@ -6111,19 +6998,15 @@ components: git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges - milestones_url: >- - https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -6232,17 +7115,14 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments @@ -6253,19 +7133,15 @@ components: git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges - milestones_url: >- - https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -6329,20 +7205,15 @@ components: issue: href: https://api.github.com/repos/octocat/Hello-World/issues/1347 comments: - href: >- - https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + href: https://api.github.com/repos/octocat/Hello-World/issues/1347/comments review_comments: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + href: https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments review_comment: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} + href: https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} commits: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + href: https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits statuses: - href: >- - https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + href: https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e author_association: OWNER auto_merge: null draft: false @@ -6376,6 +7247,17 @@ components: additions: 100 deletions: 3 changed_files: 5 + x-github-breaking-changes: + - changeset: remove_pull_request_merge_commit_sha + patch: + - op: remove + path: /value/merge_commit_sha + version: '2026-03-10' + - changeset: remove_singular_assignee_from_issues_and_pull_requests + patch: + - op: remove + path: /value/assignee + version: '2026-03-10' pull-request-review-comment-items: value: - url: https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 @@ -6416,8 +7298,7 @@ components: author_association: NONE _links: self: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + href: https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 html: href: https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 pull_request: @@ -6583,17 +7464,13 @@ components: side: RIGHT commit-items: value: - - url: >- - https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e + - url: https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e sha: 6dcb09b5b57875f334f61aebed695e2e4193db5e node_id: MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ== - html_url: >- - https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e - comments_url: >- - https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments + html_url: https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e + comments_url: https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments commit: - url: >- - https://api.github.com/repos/octocat/Hello-World/git/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e + url: https://api.github.com/repos/octocat/Hello-World/git/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e author: name: Monalisa Octocat email: support@github.com @@ -6604,8 +7481,7 @@ components: date: '2011-04-14T16:00:49Z' message: Fix all the bugs tree: - url: >- - https://api.github.com/repos/octocat/Hello-World/tree/6dcb09b5b57875f334f61aebed695e2e4193db5e + url: https://api.github.com/repos/octocat/Hello-World/tree/6dcb09b5b57875f334f61aebed695e2e4193db5e sha: 6dcb09b5b57875f334f61aebed695e2e4193db5e comment_count: 0 verification: @@ -6653,8 +7529,7 @@ components: type: User site_admin: false parents: - - url: >- - https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e + - url: https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e sha: 6dcb09b5b57875f334f61aebed695e2e4193db5e diff-entry-items: value: @@ -6664,12 +7539,9 @@ components: additions: 103 deletions: 21 changes: 124 - blob_url: >- - https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt - raw_url: >- - https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt - contents_url: >- - https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e + blob_url: https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt + raw_url: https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt + contents_url: https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e patch: '@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test' pull-request-merge-result-response-if-merge-was-successful: value: @@ -6722,11 +7594,9 @@ components: issue_url: https://api.github.com/repos/octocat/Hello-World/issues/1347 commits_url: https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits review_comments_url: https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments - review_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} + review_comment_url: https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} comments_url: https://api.github.com/repos/octocat/Hello-World/issues/1347/comments - statuses_url: >- - https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + statuses_url: https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e number: 1347 state: open locked: true @@ -6977,17 +7847,14 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments @@ -6998,19 +7865,15 @@ components: git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges - milestones_url: >- - https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -7125,17 +7988,14 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments @@ -7146,19 +8006,15 @@ components: git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges - milestones_url: >- - https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -7229,20 +8085,15 @@ components: issue: href: https://api.github.com/repos/octocat/Hello-World/issues/1347 comments: - href: >- - https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + href: https://api.github.com/repos/octocat/Hello-World/issues/1347/comments review_comments: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + href: https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments review_comment: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} + href: https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} commits: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + href: https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits statuses: - href: >- - https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + href: https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e author_association: OWNER auto_merge: null draft: false @@ -7257,11 +8108,9 @@ components: issue_url: https://api.github.com/repos/octocat/Hello-World/issues/1347 commits_url: https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits review_comments_url: https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments - review_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} + review_comment_url: https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} comments_url: https://api.github.com/repos/octocat/Hello-World/issues/1347/comments - statuses_url: >- - https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + statuses_url: https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e number: 1347 state: open locked: true @@ -7476,17 +8325,14 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments @@ -7497,19 +8343,15 @@ components: git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges - milestones_url: >- - https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -7624,17 +8466,14 @@ components: description: This your first repo! fork: false url: https://api.github.com/repos/octocat/Hello-World - archive_url: >- - https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + archive_url: https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: https://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: https://api.github.com/repos/octocat/Hello-World/branches{/branch} - collaborators_url: >- - https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + collaborators_url: https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: https://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: https://api.github.com/repos/octocat/Hello-World/commits{/sha} - compare_url: >- - https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + compare_url: https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: https://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: https://api.github.com/repos/octocat/Hello-World/contributors deployments_url: https://api.github.com/repos/octocat/Hello-World/deployments @@ -7645,19 +8484,15 @@ components: git_refs_url: https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: git:github.com/octocat/Hello-World.git - issue_comment_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - issue_events_url: >- - https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + issue_comment_url: https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + issue_events_url: https://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: https://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: https://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: https://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: https://api.github.com/repos/octocat/Hello-World/languages merges_url: https://api.github.com/repos/octocat/Hello-World/merges - milestones_url: >- - https://api.github.com/repos/octocat/Hello-World/milestones{/number} - notifications_url: >- - https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + milestones_url: https://api.github.com/repos/octocat/Hello-World/milestones{/number} + notifications_url: https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: https://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: https://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: git@github.com:octocat/Hello-World.git @@ -7728,23 +8563,29 @@ components: issue: href: https://api.github.com/repos/octocat/Hello-World/issues/1347 comments: - href: >- - https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + href: https://api.github.com/repos/octocat/Hello-World/issues/1347/comments review_comments: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + href: https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments review_comment: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} + href: https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} commits: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + href: https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits statuses: - href: >- - https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + href: https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e author_association: OWNER auto_merge: null draft: false + x-github-breaking-changes: + - changeset: remove_pull_request_merge_commit_sha + patch: + - op: remove + path: /value/merge_commit_sha + version: '2026-03-10' + - changeset: remove_singular_assignee_from_issues_and_pull_requests + patch: + - op: remove + path: /value/assignee + version: '2026-03-10' pull-request-review-items: value: - id: 80 @@ -7774,8 +8615,7 @@ components: pull_request_url: https://api.github.com/repos/octocat/Hello-World/pulls/12 _links: html: - href: >- - https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + href: https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 pull_request: href: https://api.github.com/repos/octocat/Hello-World/pulls/12 submitted_at: '2019-11-17T17:43:43Z' @@ -7810,8 +8650,7 @@ components: pull_request_url: https://api.github.com/repos/octocat/Hello-World/pulls/12 _links: html: - href: >- - https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + href: https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 pull_request: href: https://api.github.com/repos/octocat/Hello-World/pulls/12 submitted_at: '2019-11-17T17:43:43Z' @@ -7846,8 +8685,7 @@ components: pull_request_url: https://api.github.com/repos/octocat/Hello-World/pulls/12 _links: html: - href: >- - https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + href: https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 pull_request: href: https://api.github.com/repos/octocat/Hello-World/pulls/12 submitted_at: '2019-11-17T17:43:43Z' @@ -7876,16 +8714,13 @@ components: received_events_url: https://api.github.com/users/octocat/received_events type: User site_admin: false - body: >- - This is close to perfect! Please address the suggested inline change. - And add more about this. + body: This is close to perfect! Please address the suggested inline change. And add more about this. state: CHANGES_REQUESTED html_url: https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 pull_request_url: https://api.github.com/repos/octocat/Hello-World/pulls/12 _links: html: - href: >- - https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + href: https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 pull_request: href: https://api.github.com/repos/octocat/Hello-World/pulls/12 submitted_at: '2019-11-17T17:43:43Z' @@ -7931,8 +8766,7 @@ components: author_association: NONE _links: self: - href: >- - https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + href: https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 html: href: https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 pull_request: @@ -7966,8 +8800,7 @@ components: pull_request_url: https://api.github.com/repos/octocat/Hello-World/pulls/12 _links: html: - href: >- - https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + href: https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 pull_request: href: https://api.github.com/repos/octocat/Hello-World/pulls/12 submitted_at: '2019-11-17T17:43:43Z' @@ -7975,26 +8808,129 @@ components: author_association: COLLABORATOR headers: link: - example: >- - ; rel="next", - ; rel="last" + example: ; rel="next", ; rel="last" schema: type: string x-stackQL-resources: - pull_requests: - id: github.pulls.pull_requests - name: pull_requests - title: Pull Requests + comments: + id: github.pulls.comments + name: comments + title: Comments methods: - list: + list_review_comments_for_repo: operation: - $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls/get' + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1comments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_review_comment: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1comments~1{comment_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_review_comment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1comments~1{comment_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_review_comment: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1comments~1{comment_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + list_review_comments: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1comments/get' response: mediaType: application/json openAPIDocKey: '200' + create_review_comment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1comments/post' + response: + mediaType: application/json + openAPIDocKey: '201' + create_reply_for_review_comment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1comments~1{comment_id}~1replies/post' + response: + mediaType: application/json + openAPIDocKey: '201' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/pull_requests/methods/list' + - $ref: '#/components/x-stackQL-resources/comments/methods/get_review_comment' + - $ref: '#/components/x-stackQL-resources/comments/methods/list_review_comments' + - $ref: '#/components/x-stackQL-resources/comments/methods/list_review_comments_for_repo' + insert: + - $ref: '#/components/x-stackQL-resources/comments/methods/create_reply_for_review_comment' + - $ref: '#/components/x-stackQL-resources/comments/methods/create_review_comment' + update: + - $ref: '#/components/x-stackQL-resources/comments/methods/update_review_comment' + delete: + - $ref: '#/components/x-stackQL-resources/comments/methods/delete_review_comment' + replace: [] + comments_for_review: + id: github.pulls.comments_for_review + name: comments_for_review + title: Comments For Review + methods: + list_comments_for_review: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews~1{review_id}~1comments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/comments_for_review/methods/list_comments_for_review' + insert: [] + update: [] + delete: [] + replace: [] + commits: + id: github.pulls.commits + name: commits + title: Commits + methods: + list_commits: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1commits/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/commits/methods/list_commits' + insert: [] + update: [] + delete: [] + replace: [] + files: + id: github.pulls.files + name: files + title: Files + methods: + list_files: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1files/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/files/methods/list_files' insert: [] update: [] delete: [] @@ -8048,8 +8984,7 @@ components: requestBodyTranslate: algorithm: naive operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1update-branch/put + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1update-branch/put' response: mediaType: application/json openAPIDocKey: '202' @@ -8062,121 +8997,47 @@ components: - $ref: '#/components/x-stackQL-resources/pull_request/methods/update' delete: [] replace: [] - comments: - id: github.pulls.comments - name: comments - title: Comments + pull_request_async_merges: + id: github.pulls.pull_request_async_merges + name: pull_request_async_merges + title: Pull Request Async Merges methods: - list_review_comments_for_repo: - operation: - $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1comments/get' - response: - mediaType: application/json - openAPIDocKey: '200' - get_review_comment: - operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1comments~1{comment_id}/get - response: - mediaType: application/json - openAPIDocKey: '200' - update_review_comment: + merge_async: config: requestBodyTranslate: algorithm: naive operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1comments~1{comment_id}/patch - response: - mediaType: application/json - openAPIDocKey: '200' - delete_review_comment: - operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1comments~1{comment_id}/delete - response: - mediaType: application/json - openAPIDocKey: '204' - list_review_comments: - operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1comments/get + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1merge-async/put' response: mediaType: application/json openAPIDocKey: '200' - create_review_comment: - config: - requestBodyTranslate: - algorithm: naive - operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1comments/post - response: - mediaType: application/json - openAPIDocKey: '201' - create_reply_for_review_comment: - config: - requestBodyTranslate: - algorithm: naive - operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1comments~1{comment_id}~1replies/post - response: - mediaType: application/json - openAPIDocKey: '201' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/comments/methods/get_review_comment - - $ref: >- - #/components/x-stackQL-resources/comments/methods/list_review_comments - - $ref: >- - #/components/x-stackQL-resources/comments/methods/list_review_comments_for_repo - insert: - - $ref: >- - #/components/x-stackQL-resources/comments/methods/create_reply_for_review_comment - - $ref: >- - #/components/x-stackQL-resources/comments/methods/create_review_comment - update: - - $ref: >- - #/components/x-stackQL-resources/comments/methods/update_review_comment - delete: - - $ref: >- - #/components/x-stackQL-resources/comments/methods/delete_review_comment - replace: [] - commits: - id: github.pulls.commits - name: commits - title: Commits - methods: - list_commits: + get_merge_async_result: operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1commits/get + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1merge-async~1{uuid}/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/commits/methods/list_commits' + - $ref: '#/components/x-stackQL-resources/pull_request_async_merges/methods/get_merge_async_result' insert: [] update: [] delete: [] replace: [] - files: - id: github.pulls.files - name: files - title: Files + pull_requests: + id: github.pulls.pull_requests + name: pull_requests + title: Pull Requests methods: - list_files: + list: operation: - $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1files/get' + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/files/methods/list_files' + - $ref: '#/components/x-stackQL-resources/pull_requests/methods/list' insert: [] update: [] delete: [] @@ -8188,8 +9049,7 @@ components: methods: list_requested_reviewers: operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1requested_reviewers/get + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1requested_reviewers/get' response: mediaType: application/json openAPIDocKey: '200' @@ -8198,29 +9058,44 @@ components: requestBodyTranslate: algorithm: naive operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1requested_reviewers/post + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1requested_reviewers/post' response: mediaType: application/json openAPIDocKey: '201' remove_requested_reviewers: operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1requested_reviewers/delete + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1requested_reviewers/delete' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/review_requests/methods/list_requested_reviewers + - $ref: '#/components/x-stackQL-resources/review_requests/methods/list_requested_reviewers' insert: - - $ref: >- - #/components/x-stackQL-resources/review_requests/methods/request_reviewers + - $ref: '#/components/x-stackQL-resources/review_requests/methods/request_reviewers' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/review_requests/methods/remove_requested_reviewers + - $ref: '#/components/x-stackQL-resources/review_requests/methods/remove_requested_reviewers' + replace: [] + review_threads: + id: github.pulls.review_threads + name: review_threads + title: Review Threads + methods: + list: + operation: + $ref: '#/paths/~1graphql?resource=review_threads/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.repository.pullRequest.reviewThreads.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/review_threads/methods/list' + insert: [] + update: [] + delete: [] replace: [] reviews: id: github.pulls.reviews @@ -8229,8 +9104,7 @@ components: methods: list_reviews: operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews/get + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews/get' response: mediaType: application/json openAPIDocKey: '200' @@ -8239,15 +9113,13 @@ components: requestBodyTranslate: algorithm: naive operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews/post + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews/post' response: mediaType: application/json openAPIDocKey: '200' get_review: operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews~1{review_id}/get + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews~1{review_id}/get' response: mediaType: application/json openAPIDocKey: '200' @@ -8256,15 +9128,13 @@ components: requestBodyTranslate: algorithm: naive operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews~1{review_id}/put + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews~1{review_id}/put' response: mediaType: application/json openAPIDocKey: '200' delete_pending_review: operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews~1{review_id}/delete + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews~1{review_id}/delete' response: mediaType: application/json openAPIDocKey: '200' @@ -8273,8 +9143,7 @@ components: requestBodyTranslate: algorithm: naive operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews~1{review_id}~1dismissals/put + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews~1{review_id}~1dismissals/put' response: mediaType: application/json openAPIDocKey: '200' @@ -8283,8 +9152,7 @@ components: requestBodyTranslate: algorithm: naive operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews~1{review_id}~1events/post + $ref: '#/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews~1{review_id}~1events/post' response: mediaType: application/json openAPIDocKey: '200' @@ -8296,29 +9164,66 @@ components: - $ref: '#/components/x-stackQL-resources/reviews/methods/create_review' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/reviews/methods/delete_pending_review + - $ref: '#/components/x-stackQL-resources/reviews/methods/delete_pending_review' replace: - $ref: '#/components/x-stackQL-resources/reviews/methods/update_review' - comments_for_review: - id: github.pulls.comments_for_review - name: comments_for_review - title: Comments For Review + stacks: + id: github.pulls.stacks + name: stacks + title: Stacks methods: - list_comments_for_review: + list: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1stacks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1stacks/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1stacks~1{stack_number}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + add: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1stacks~1{stack_number}~1add/post' + response: + mediaType: application/json + openAPIDocKey: '200' + unstack: operation: - $ref: >- - #/paths/~1repos~1{owner}~1{repo}~1pulls~1{pull_number}~1reviews~1{review_id}~1comments/get + $ref: '#/paths/~1repos~1{owner}~1{repo}~1stacks~1{stack_number}~1unstack/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/comments_for_review/methods/list_comments_for_review - insert: [] + - $ref: '#/components/x-stackQL-resources/stacks/methods/get' + - $ref: '#/components/x-stackQL-resources/stacks/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/stacks/methods/create' update: [] delete: [] replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/rate_limit.yaml b/providers/src/github/v00.00.00000/services/rate_limit.yaml index 28431dea..14002ec5 100644 --- a/providers/src/github/v00.00.00000/services/rate_limit.yaml +++ b/providers/src/github/v00.00.00000/services/rate_limit.yaml @@ -47,11 +47,6 @@ paths: requesting SBOMs from the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." - * The `code_scanning_upload` object provides your rate limit status for - uploading SARIF results to code scanning. For more information, see - "[Uploading a SARIF file to - GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." - * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted @@ -126,8 +121,6 @@ components: $ref: '#/components/schemas/rate-limit' integration_manifest: $ref: '#/components/schemas/rate-limit' - code_scanning_upload: - $ref: '#/components/schemas/rate-limit' actions_runner_registration: $ref: '#/components/schemas/rate-limit' scim: @@ -138,6 +131,8 @@ components: $ref: '#/components/schemas/rate-limit' code_scanning_autofix: $ref: '#/components/schemas/rate-limit' + copilot_usage_records: + $ref: '#/components/schemas/rate-limit' required: - core - search @@ -223,11 +218,6 @@ components: used: 1 remaining: 99 reset: 1691591091 - code_scanning_upload: - limit: 500 - used: 1 - remaining: 499 - reset: 1691594631 actions_runner_registration: limit: 10000 used: 0 @@ -258,6 +248,12 @@ components: used: 1 remaining: 4999 reset: 1372700873 + x-github-breaking-changes: + - changeset: remove_rate_limit_rate + patch: + - op: remove + path: /value/rate + version: '2026-03-10' headers: x-rate-limit-limit: example: 5000 @@ -293,3 +289,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/reactions.yaml b/providers/src/github/v00.00.00000/services/reactions.yaml index 8ffa3f78..24e875c9 100644 --- a/providers/src/github/v00.00.00000/services/reactions.yaml +++ b/providers/src/github/v00.00.00000/services/reactions.yaml @@ -1370,3 +1370,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/repos.yaml b/providers/src/github/v00.00.00000/services/repos.yaml index 5170abd9..6ae46066 100644 --- a/providers/src/github/v00.00.00000/services/repos.yaml +++ b/providers/src/github/v00.00.00000/services/repos.yaml @@ -504,6 +504,7 @@ paths: - $ref: '#/components/parameters/time-period' - $ref: '#/components/parameters/actor-name-in-query' - $ref: '#/components/parameters/rule-suite-result' + - $ref: '#/components/parameters/evaluate-status' - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' responses: @@ -512,7 +513,60 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/rule-suites' + type: array + items: + type: object + properties: + id: + type: integer + description: The unique identifier of the rule insight. + actor_id: + type: integer + description: The number that identifies the user. + actor_name: + type: string + description: The handle for the GitHub user account. + before_sha: + type: string + description: The first commit sha before the push evaluation. + after_sha: + type: string + description: The last commit sha in the push evaluation. + ref: + type: string + description: The ref name that the evaluation ran on. + repository_id: + type: integer + description: >- + The ID of the repository associated with the rule + evaluation. + repository_name: + type: string + description: The name of the repository without the `.git` extension. + pushed_at: + type: string + format: date-time + example: '2011-01-26T19:06:43Z' + result: + type: string + enum: + - pass + - fail + - bypass + description: >- + The result of the rule evaluations for rules with the + `active` enforcement status. + evaluation_result: + type: string + enum: + - pass + - fail + - bypass + description: >- + The result of the rule evaluations for rules with the + `active` and `evaluate` enforcement statuses, + demonstrating whether rules would pass or fail if all + rules in the rule suite were `active`. examples: default: $ref: '#/components/examples/rule-suite-items' @@ -1024,6 +1078,20 @@ paths: Either `true` to enable the wiki for this repository or `false` to disable it. default: true + has_pull_requests: + type: boolean + description: >- + Either `true` to allow pull requests for this repository or + `false` to prevent pull requests. + default: true + pull_request_creation_policy: + type: string + description: >- + The policy that controls who can create pull requests for + this repository: `all` or `collaborators_only`. + enum: + - all + - collaborators_only is_template: type: boolean description: >- @@ -2959,7 +3027,10 @@ paths: schema: type: array items: - type: string + type: object + properties: + repos/get_all_status_check_context: + type: string examples: default: value: @@ -3027,7 +3098,10 @@ paths: schema: type: array items: - type: string + type: object + properties: + repos/add_status_check_context: + type: string examples: default: value: @@ -3100,7 +3174,10 @@ paths: schema: type: array items: - type: string + type: object + properties: + repos/set_status_check_context: + type: string examples: default: value: @@ -3169,7 +3246,10 @@ paths: schema: type: array items: - type: string + type: object + properties: + repos/remove_status_check_context: + type: string examples: default: value: @@ -5088,6 +5168,11 @@ paths: Create a comment for a commit using its `:commit_sha`. + Access to commit comments can be controlled by organization owners. For + more information, see "[Managing commit comments for your + organization](https://docs.github.com/organizations/managing-organization-settings/managing-commit-comments-for-your-organization)". + + This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary @@ -8014,6 +8099,41 @@ paths: category: repos subcategory: forks x-stackQL-resource: forks + /repos/{owner}/{repo}/hash-algorithm: + get: + summary: Get the hash algorithm for a repository + description: Returns the hash algorithm used to store repository objects. + tags: + - repos + operationId: repos/get-hash-algorithm + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/repos/repos#get-the-hash-algorithm-for-a-repository + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + responses: + '200': + description: Response + content: + application/json: + schema: + $ref: '#/components/schemas/repository-hash-algorithm' + examples: + default: + value: + hash_algorithm: sha1 + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: repos + subcategory: repos + x-stackQL-resource: repos /repos/{owner}/{repo}/hooks: get: summary: List repository webhooks @@ -8778,6 +8898,48 @@ paths: category: collaborators subcategory: invitations x-stackQL-resource: invitations + /repos/{owner}/{repo}/issue-types: + get: + summary: List issue types for a repository + description: >- + Lists issue types available for a repository (inherited from its + organization owner, with any per-repository overrides applied). + + OAuth app tokens and personal access tokens (classic) need the `repo` + scope to use this endpoint. + + Fine-grained access tokens require the "Metadata" repository permission + (read). + tags: + - repos + operationId: repos/list-issue-types + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/repos/issue-types#list-issue-types-for-a-repository + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + responses: + '200': + description: Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/issue-type' + examples: + default: + $ref: '#/components/examples/issue-type-items' + '404': + $ref: '#/components/responses/not_found' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: repos + subcategory: issue-types + x-stackQL-resource: issue_types /repos/{owner}/{repo}/keys: get: summary: List deploy keys @@ -10111,6 +10273,26 @@ paths: Users with push access to the repository can create a release. + > [!NOTE] + + > If the commit identified by `target_commitish` (or, when + `target_commitish` is omitted, the latest commit on the default branch) + adds or modifies any file under `.github/workflows/` relative to the + repository's default branch, the authenticating token must be authorized + to modify workflows. Otherwise, this endpoint returns `404 Not Found`; + some authentication paths surface `403 Resource not accessible by + integration` instead. + + + OAuth app tokens and personal access tokens (classic) need the + `workflow` scope when the resolved target commit modifies workflow + files. Fine-grained access tokens and GitHub App installation tokens + also need the "Workflows" repository permission (write). The + `GITHUB_TOKEN` available to GitHub Actions cannot be authorized for + this; for more information, see "[Automatic token + authentication](https://docs.github.com/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)". + + This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary @@ -10561,7 +10743,27 @@ paths: x-stackQL-resource: releases patch: summary: Update a release - description: Users with push access to the repository can edit a release. + description: >- + Users with push access to the repository can edit a release. + + + > [!NOTE] + + > If the resolved target commit (the new value of `target_commitish` if + you are changing it, otherwise the existing target) adds or modifies any + file under `.github/workflows/` relative to the repository's default + branch, the authenticating token must be authorized to modify workflows. + Otherwise, this endpoint returns `404 Not Found`; some authentication + paths surface `403 Resource not accessible by integration` instead. + + + OAuth app tokens and personal access tokens (classic) need the + `workflow` scope when the resolved target commit modifies workflow + files. Fine-grained access tokens and GitHub App installation tokens + also need the "Workflows" repository permission (write). The + `GITHUB_TOKEN` available to GitHub Actions cannot be authorized for + this; for more information, see "[Automatic token + authentication](https://docs.github.com/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)". tags: - repos operationId: repos/update-release @@ -10788,12 +10990,6 @@ paths: externalDocs: description: API method documentation url: https://docs.github.com/rest/releases/assets#upload-a-release-asset - servers: - - url: https://uploads.github.com - description: >- - The URL origin (protocol + host name + port) is included in - `upload_url` returned in the response of the "Create a release" - endpoint parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' @@ -11044,6 +11240,7 @@ paths: - $ref: '#/components/parameters/time-period' - $ref: '#/components/parameters/actor-name-in-query' - $ref: '#/components/parameters/rule-suite-result' + - $ref: '#/components/parameters/evaluate-status' - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' responses: @@ -11052,7 +11249,60 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/rule-suites' + type: array + items: + type: object + properties: + id: + type: integer + description: The unique identifier of the rule insight. + actor_id: + type: integer + description: The number that identifies the user. + actor_name: + type: string + description: The handle for the GitHub user account. + before_sha: + type: string + description: The first commit sha before the push evaluation. + after_sha: + type: string + description: The last commit sha in the push evaluation. + ref: + type: string + description: The ref name that the evaluation ran on. + repository_id: + type: integer + description: >- + The ID of the repository associated with the rule + evaluation. + repository_name: + type: string + description: The name of the repository without the `.git` extension. + pushed_at: + type: string + format: date-time + example: '2011-01-26T19:06:43Z' + result: + type: string + enum: + - pass + - fail + - bypass + description: >- + The result of the rule evaluations for rules with the + `active` enforcement status. + evaluation_result: + type: string + enum: + - pass + - fail + - bypass + description: >- + The result of the rule evaluations for rules with the + `active` and `evaluate` enforcement statuses, + demonstrating whether rules would pass or fail if all + rules in the rule suite were `active`. examples: default: $ref: '#/components/examples/rule-suite-items' @@ -13988,7 +14238,7 @@ components: nullable: true description: >- The ID of the actor that can bypass a ruleset. Required for - `Integration`, `RepositoryRole`, and `Team` actor types. If + `Integration`, `RepositoryRole`, `Team`, and `User` actor types. If `actor_type` is `OrganizationAdmin`, `actor_id` is ignored. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. @@ -14000,6 +14250,7 @@ components: - RepositoryRole - Team - DeployKey + - User description: The type of actor that can bypass a ruleset. bypass_mode: type: string @@ -15301,6 +15552,20 @@ components: enum: - enterprise - organization + access_source: + description: >- + How the team's access to the repository was granted. This property + is only + + present when the team is returned in a repository context, such as + + `GET /repos/{owner}/{repo}/teams`. + type: string + enum: + - direct + - organization + - enterprise + example: direct organization_id: type: integer description: Unique identifier of the organization to which this team belongs @@ -16307,6 +16572,8 @@ components: $ref: '#/components/schemas/author-association' auto_merge: $ref: '#/components/schemas/auto-merge' + stack: + $ref: '#/components/schemas/pull-request-stack' draft: description: Indicates whether or not the pull request is a draft. example: false @@ -17677,6 +17944,20 @@ components: - slug - integration_url - node_id + repository-hash-algorithm: + title: Repository hash algorithm + description: Repository hash algorithm + type: object + properties: + hash_algorithm: + type: string + description: The Git hash algorithm used by this repository. + enum: + - sha1 + - sha256 + example: sha1 + required: + - hash_algorithm hook: title: Webhook description: Webhooks for repositories. @@ -17988,6 +18269,56 @@ components: required: - enabled - enforced_by_owner + issue-type: + title: Issue Type + description: >- + The type assigned to the issue. This is only present for issues in + repositories where issue types are supported. + type: object + nullable: true + properties: + id: + type: integer + description: The unique identifier of the issue type. + node_id: + type: string + description: The node identifier of the issue type. + name: + type: string + description: The name of the issue type. + description: + type: string + description: The description of the issue type. + nullable: true + color: + type: string + description: The color of the issue type. + enum: + - gray + - blue + - green + - yellow + - orange + - red + - pink + - purple + nullable: true + created_at: + type: string + description: The time the issue type created. + format: date-time + updated_at: + type: string + description: The time the issue type last updated. + format: date-time + is_enabled: + type: boolean + description: The enabled state of the issue type. + required: + - id + - node_id + - name + - description deploy-key: title: Deploy Key description: An SSH key granting access to a single repository. @@ -20712,6 +21043,9 @@ components: description: >- New, reviewable commits pushed will dismiss previous pull request review approvals. + dismissal_restriction: + $ref: >- + #/components/schemas/repository-rule-params-dismissal-restriction require_code_owner_review: type: boolean description: >- @@ -21755,6 +22089,40 @@ components: - commit_title - commit_message nullable: true + pull-request-stack: + title: Pull Request Stack + description: The stack information associated with a pull request. + type: object + properties: + base: + type: object + properties: + ref: + type: string + description: The base ref of the stack this pull request belongs to. + sha: + type: string + description: The base SHA of the stack this pull request belongs to. + required: + - ref + - sha + size: + type: integer + description: The total number of pull requests in the stack. + position: + type: integer + description: >- + The one-based position of this pull request within the stack, where + 1 is the bottom of the stack. + id: + type: integer + description: The ID of the stack that this pull request belongs to. + number: + type: integer + description: The number of the stack that this pull request belongs to. + required: + - base + nullable: true simple-commit-status: title: Simple Commit Status type: object @@ -22232,6 +22600,19 @@ components: - merge_method - min_entries_to_merge - min_entries_to_merge_wait_minutes + repository-rule-license-compliance-scanning: + title: license_compliance_scanning + description: >- + Enforce any added or changed dependencies to comply with the + organization's license policy. + type: object + required: + - type + properties: + type: + type: string + enum: + - license_compliance_scanning traffic: title: Traffic type: object @@ -22271,6 +22652,23 @@ components: required: - name - property_values + repository-rule-params-dismissal-restriction: + title: DismissalRestriction + description: Specify people, teams, or apps allowed to dismiss pull request reviews. + type: object + properties: + allowed_actors: + type: array + description: >- + Specify people, teams, or apps allowed to dismiss pull request + reviews. + items: + $ref: '#/components/schemas/repository-rule-params-actor' + enabled: + type: boolean + description: Whether to restrict review dismissal to specific actors. + required: + - enabled repository-rule-params-required-reviewer-configuration: title: RequiredReviewerConfiguration description: >- @@ -22370,6 +22768,25 @@ components: - alerts_threshold - security_alerts_threshold - tool + repository-rule-params-actor: + title: Actor + description: An actor allowed to dismiss pull request reviews + type: object + properties: + id: + type: integer + description: ID of the actor that can dismiss reviews. + type: + type: string + description: The type of the actor + enum: + - User + - Team + - IntegrationInstallation + - RepositoryRole + required: + - id + - type repository-rule-params-reviewer: title: Reviewer description: A required reviewing team @@ -22579,6 +22996,24 @@ components: - bypass - all default: all + evaluate-status: + name: evaluate_status + description: >- + The evaluate status to filter on. When specified, only rule suites + resulting from rulesets with the specified evaluate status will be + returned. + - `all` - all rule suites will be returned. + - `active` - only rule suites resulting from rulesets in active (non-evaluate) mode will be returned. + - `evaluate` - only rule suites resulting from rulesets in evaluate mode will be returned. + in: query + required: false + schema: + type: string + enum: + - all + - active + - evaluate + default: all rule-suite-id: name: rule_suite_id description: >- @@ -23505,6 +23940,12 @@ components: forks: 1 open_issues: 1 watchers: 1 + x-github-breaking-changes: + - changeset: remove_has_downloads + patch: + - op: remove + path: /value/has_downloads + version: '2026-03-10' org-ruleset-items: value: - id: 21 @@ -24175,6 +24616,12 @@ components: status: disabled secret_scanning_delegated_alert_dismissal: status: disabled + x-github-breaking-changes: + - changeset: remove_has_downloads + patch: + - op: remove + path: /value/has_downloads + version: '2026-03-10' activity-items: value: - id: 1296269 @@ -24259,110 +24706,14 @@ components: list-attestations: value: attestations: - - bundle: - mediaType: application/vnd.dev.sigstore.bundle.v0.3+json - verificationMaterial: - tlogEntries: - - logIndex: '97913980' - logId: - keyId: wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0= - kindVersion: - kind: dsse - version: 0.0.1 - integratedTime: '1716998992' - inclusionPromise: - signedEntryTimestamp: >- - MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL - inclusionProof: - logIndex: '93750549' - rootHash: KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60= - treeSize: '93750551' - hashes: - - 8LI21mzwxnUSo0fuZeFsUrz2ujZ4QAL+oGeTG+5toZg= - - nCb369rcIytNhGwWoqBv+eV49X3ZKpo/HJGKm9V+dck= - - hnNQ9mUdSwYCfdV21pd87NucrdRRNZATowlaRR1hJ4A= - - MBhhK33vlD4Tq/JKgAaXUI4VjmosWKe6+7RNpQ2ncNM= - - XKWUE3stvGV1OHsIGiCGfn047Ok6uD4mFkh7BaicaEc= - - Tgve40VPFfuei+0nhupdGpfPPR+hPpZjxgTiDT8WNoY= - - wV+S/7tLtYGzkLaSb6UDqexNyhMvumHK/RpTNvEZuLU= - - uwaWufty6sn6XqO1Tb9M3Vz6sBKPu0HT36mStxJNd7s= - - jUfeMOXQP0XF1JAnCEETVbfRKMUwCzrVUzYi8vnDMVs= - - xQKjzJAwwdlQG/YUYBKPXxbCmhMYKo1wnv+6vDuKWhQ= - - cX3Agx+hP66t1ZLbX/yHbfjU46/3m/VAmWyG/fhxAVc= - - sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ= - - 98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8= - checkpoint: - envelope: >- - rekor.sigstore.dev - - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— - rekor.sigstore.dev - wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n - canonicalizedBody: >- - eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= - timestampVerificationData: {} - certificate: - rawBytes: >- - MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== - dsseEnvelope: - payload: >- - eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 - payloadType: application/vnd.in-toto+json - signatures: - - sig: >- - MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== - repository_id: 1 - - bundle: - mediaType: application/vnd.dev.sigstore.bundle.v0.3+json - verificationMaterial: - tlogEntries: - - logIndex: '97913980' - logId: - keyId: wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0= - kindVersion: - kind: dsse - version: 0.0.1 - integratedTime: '1716998992' - inclusionPromise: - signedEntryTimestamp: >- - MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL - inclusionProof: - logIndex: '93750549' - rootHash: KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60= - treeSize: '93750551' - hashes: - - 8LI21mzwxnUSo0fuZeFsUrz2ujZ4QAL+oGeTG+5toZg= - - nCb369rcIytNhGwWoqBv+eV49X3ZKpo/HJGKm9V+dck= - - hnNQ9mUdSwYCfdV21pd87NucrdRRNZATowlaRR1hJ4A= - - MBhhK33vlD4Tq/JKgAaXUI4VjmosWKe6+7RNpQ2ncNM= - - XKWUE3stvGV1OHsIGiCGfn047Ok6uD4mFkh7BaicaEc= - - Tgve40VPFfuei+0nhupdGpfPPR+hPpZjxgTiDT8WNoY= - - wV+S/7tLtYGzkLaSb6UDqexNyhMvumHK/RpTNvEZuLU= - - uwaWufty6sn6XqO1Tb9M3Vz6sBKPu0HT36mStxJNd7s= - - jUfeMOXQP0XF1JAnCEETVbfRKMUwCzrVUzYi8vnDMVs= - - xQKjzJAwwdlQG/YUYBKPXxbCmhMYKo1wnv+6vDuKWhQ= - - cX3Agx+hP66t1ZLbX/yHbfjU46/3m/VAmWyG/fhxAVc= - - sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ= - - 98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8= - checkpoint: - envelope: >- - rekor.sigstore.dev - - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— - rekor.sigstore.dev - wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n - canonicalizedBody: >- - eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= - timestampVerificationData: {} - certificate: - rawBytes: >- - MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== - dsseEnvelope: - payload: >- - eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 - payloadType: application/vnd.in-toto+json - signatures: - - sig: >- - MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== - repository_id: 1 + - repository_id: 1 + bundle_url: >- + https://tmastaging.blob.core.windows.net/attestations/1/2024/11/08/4.json.sn?se=2024-11-09T17%3A13%3A43Z&sig=jPSbbJnIEshUyCjBLU5Ykq0uuGc5UYxTZE1%2FhdBNMXk%3D&sp=r&spr=https%2Chttp&sr=b&st=2024-11-08T17%3A13%3A43Z&sv=2024-08-04 + initiator: user + - repository_id: 1 + bundle_url: >- + https://tmastaging.blob.core.windows.net/attestations/1/2024/11/08/5.json.sn?se=2024-11-09T17%3A13%3A43Z&sig=jPSbbJnIEshUyCjBLU5Ykq0uuGc5UYxTZE1%2FhdBNMXk%3D&sp=r&spr=https%2Chttp&sr=b&st=2024-11-08T17%3A13%3A43Z&sv=2024-08-04 + initiator: user autolink-items: value: - id: 1 @@ -27691,6 +28042,20 @@ components: expired: false url: https://api.github.com/user/repository_invitations/1296269 html_url: https://github.com/octocat/Hello-World/invitations + issue-type-items: + value: + - id: 410 + node_id: IT_kwDNAd3NAZo + name: Task + description: A specific piece of work + created_at: '2024-12-11T14:39:09Z' + updated_at: '2024-12-11T14:39:09Z' + - id: 411 + node_id: IT_kwDNAd3NAZs + name: Bug + description: An unexpected problem or behavior + created_at: '2024-12-11T14:39:09Z' + updated_at: '2024-12-11T14:39:09Z' deploy-key-items: value: - id: 1 @@ -28919,6 +29284,12 @@ components: allow_forking: true subscribers_count: 42 network_count: 0 + x-github-breaking-changes: + - changeset: remove_has_downloads + patch: + - op: remove + path: /value/has_downloads + version: '2026-03-10' public-repository-items: value: - id: 1296269 @@ -30693,6 +31064,25 @@ components: update: [] delete: [] replace: [] + hash_algorithm: + id: github.repos.hash_algorithm + name: hash_algorithm + title: Hash Algorithm + methods: + get_hash_algorithm: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1hash-algorithm/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/hash_algorithm/methods/get_hash_algorithm + insert: [] + update: [] + delete: [] + replace: [] webhooks: id: github.repos.webhooks name: webhooks @@ -30928,6 +31318,25 @@ components: - $ref: >- #/components/x-stackQL-resources/invitations/methods/delete_invitation replace: [] + issue_types: + id: github.repos.issue_types + name: issue_types + title: Issue Types + methods: + list_issue_types: + operation: + $ref: '#/paths/~1repos~1{owner}~1{repo}~1issue-types/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/issue_types/methods/list_issue_types + insert: [] + update: [] + delete: [] + replace: [] deploy_keys: id: github.repos.deploy_keys name: deploy_keys @@ -31668,3 +32077,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/search.yaml b/providers/src/github/v00.00.00000/services/search.yaml index fe854a9b..9f1e6613 100644 --- a/providers/src/github/v00.00.00000/services/search.yaml +++ b/providers/src/github/v00.00.00000/services/search.yaml @@ -54,16 +54,6 @@ paths: is. - > [!NOTE] - - > `repository.description`, `repository.owner.type`, and - `repository.owner.node_id` are closing down on this endpoint and will - return `null` in a future API version. Use the [Get a - repository](https://docs.github.com/rest/repos/repos#get-a-repository) - endpoint (`GET /repos/{owner}/{repo}`) to retrieve full repository - metadata. - - This endpoint requires you to authenticate and limits you to 10 requests per minute. tags: @@ -385,6 +375,7 @@ paths: - no_accessible_repos - server_error - only_non_semantic_fields_requested + - service_unavailable examples: default: $ref: '#/components/examples/issue-search-result-item-paginated' @@ -2423,6 +2414,10 @@ components: type: integer format: int64 example: 1 + issue_field_name: + description: The human-readable name of the issue field. + type: string + example: Priority node_id: type: string example: IFT_GDKND @@ -2432,6 +2427,7 @@ components: enum: - text - single_select + - multi_select - number - date example: text @@ -2464,6 +2460,30 @@ components: - name - color nullable: true + multi_select_options: + description: Details about the selected options + type: array + items: + type: object + properties: + id: + description: Unique identifier for the option. + type: integer + format: int64 + example: 1 + name: + description: The name of the option + type: string + example: High + color: + description: The color of the option + type: string + example: red + required: + - id + - name + - color + nullable: true required: - issue_field_id - node_id @@ -3173,7 +3193,9 @@ components: version: '2026-03-10' issue-type: title: Issue Type - description: The type of issue. + description: >- + The type assigned to the issue. This is only present for issues in + repositories where issue types are supported. type: object nullable: true properties: @@ -3491,6 +3513,8 @@ components: $ref: '#/components/schemas/reaction-rollup' pin: $ref: '#/components/schemas/nullable-pinned-issue-comment' + minimized: + $ref: '#/components/schemas/nullable-issue-comment-minimized' required: - id - node_id @@ -3881,6 +3905,19 @@ components: - pinned_at - pinned_by nullable: true + nullable-issue-comment-minimized: + title: Minimized Issue Comment + description: Details about why an issue comment was minimized. + type: object + properties: + reason: + description: The reason the comment was minimized. + type: string + nullable: true + example: low-quality + required: + - reason + nullable: true responses: not_modified: description: Not modified @@ -4235,6 +4272,15 @@ components: node_id: MDU6SXNzdWUzNTgwMg== number: 132 title: Line Number Indexes Beyond 20 Not Displayed + type: + id: 1 + node_id: IT_kwDNJr9H + name: Bug + description: An unexpected problem or behavior + color: red + created_at: '2023-10-09T13:30:49Z' + updated_at: '2024-05-30T18:20:53Z' + is_enabled: true user: login: Nick3C id: 90254 @@ -4314,6 +4360,12 @@ components: locked: true author_association: COLLABORATOR state_reason: completed + x-github-breaking-changes: + - changeset: remove_singular_assignee_from_issues_and_pull_requests + patch: + - op: remove + path: /value/items/0/assignee + version: '2026-03-10' issue-search-result-item-paginated-lexical-fallback: summary: Hybrid search with lexical fallback description: >- @@ -4709,3 +4761,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/secret_scanning.yaml b/providers/src/github/v00.00.00000/services/secret_scanning.yaml index 3f63c9e2..a3bf05b3 100644 --- a/providers/src/github/v00.00.00000/services/secret_scanning.yaml +++ b/providers/src/github/v00.00.00000/services/secret_scanning.yaml @@ -46,6 +46,9 @@ paths: - $ref: '#/components/parameters/secret-scanning-alert-publicly-leaked' - $ref: '#/components/parameters/secret-scanning-alert-multi-repo' - $ref: '#/components/parameters/secret-scanning-alert-hide-secret' + - $ref: '#/components/parameters/secret-scanning-alert-bypassed' + - $ref: '#/components/parameters/secret-scanning-alert-included-metadata' + - $ref: '#/components/parameters/secret-scanning-alert-owner-email-hash' responses: '200': description: Response @@ -72,6 +75,270 @@ paths: category: secret-scanning subcategory: secret-scanning x-stackQL-resource: secret_scanning + /orgs/{org}/secret-scanning/custom-patterns: + get: + summary: List organization custom patterns + description: >- + Lists secret scanning custom patterns for an organization. + + + Personal access tokens (classic) need the `read:org` scope to use this + endpoint. + tags: + - secret-scanning + operationId: secret-scanning/list-org-custom-patterns + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/secret-scanning/custom-patterns#list-organization-custom-patterns + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: secret-scanning + subcategory: custom-patterns + parameters: + - $ref: '#/components/parameters/org' + - $ref: '#/components/parameters/secret-scanning-custom-pattern-state' + - $ref: >- + #/components/parameters/secret-scanning-custom-pattern-push-protection + - $ref: '#/components/parameters/secret-scanning-custom-pattern-sort' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/per-page' + responses: + '200': + description: Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/secret-scanning-custom-pattern' + examples: + default: + $ref: '#/components/examples/secret-scanning-custom-pattern-list' + headers: + Link: + $ref: '#/components/headers/link' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-stackQL-resource: custom_patterns + post: + summary: Bulk create organization custom patterns + description: >- + Bulk creates secret scanning custom patterns for an organization. + + + Personal access tokens (classic) need the `write:org` scope to use this + endpoint. + tags: + - secret-scanning + operationId: secret-scanning/bulk-create-org-custom-patterns + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/secret-scanning/custom-patterns#bulk-create-organization-custom-patterns + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: secret-scanning + subcategory: custom-patterns + parameters: + - $ref: '#/components/parameters/org' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - patterns + properties: + patterns: + type: array + description: The list of custom patterns to create. + items: + $ref: >- + #/components/schemas/secret-scanning-custom-pattern-to-create + examples: + default: + $ref: >- + #/components/examples/secret-scanning-custom-pattern-bulk-create-request + responses: + '201': + description: All patterns created successfully. + content: + application/json: + schema: + type: object + properties: + created_patterns: + type: array + description: The list of successfully created custom patterns. + items: + $ref: '#/components/schemas/secret-scanning-custom-pattern' + examples: + default: + $ref: >- + #/components/examples/secret-scanning-custom-pattern-bulk-create-response + '400': + $ref: '#/components/responses/bad_request' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + description: Validation failed for one or more patterns. + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: A summary message describing the error. + validation_errors: + type: object + description: >- + A map of validation errors keyed by the zero-based index + of the pattern that failed. + additionalProperties: + type: object + properties: + errors: + type: array + description: List of validation errors for this pattern. + items: + $ref: >- + #/components/schemas/secret-scanning-custom-pattern-validation-error + x-stackQL-resource: custom_patterns + delete: + summary: Bulk delete organization custom patterns + description: >- + Bulk deletes secret scanning custom patterns for an organization. + + + Personal access tokens (classic) need the `write:org` scope to use this + endpoint. + tags: + - secret-scanning + operationId: secret-scanning/bulk-delete-org-custom-patterns + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/secret-scanning/custom-patterns#bulk-delete-organization-custom-patterns + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: secret-scanning + subcategory: custom-patterns + parameters: + - $ref: '#/components/parameters/org' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - patterns + properties: + patterns: + type: array + description: The list of custom patterns to delete. + maxItems: 500 + items: + $ref: >- + #/components/schemas/secret-scanning-custom-pattern-to-delete + post_delete_action: + type: string + description: |- + What to do with alerts associated with the deleted patterns. + `delete_alerts` permanently removes the alerts. + `resolve_alerts` resolves the alerts as "pattern deleted". + Defaults to `delete_alerts` when not specified. + enum: + - delete_alerts + - resolve_alerts + default: delete_alerts + examples: + default: + $ref: >- + #/components/examples/secret-scanning-custom-pattern-bulk-delete-request + responses: + '204': + description: All patterns deleted successfully. + '400': + $ref: '#/components/responses/bad_request' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '412': + $ref: '#/components/responses/precondition_failed' + x-stackQL-resource: custom_patterns + /orgs/{org}/secret-scanning/custom-patterns/{pattern_id}: + patch: + summary: Update an organization custom pattern + description: >- + Updates a secret scanning custom pattern for an organization. + + + Personal access tokens (classic) need the `write:org` scope to use this + endpoint. + tags: + - secret-scanning + operationId: secret-scanning/update-org-custom-pattern + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/secret-scanning/custom-patterns#update-an-organization-custom-pattern + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: secret-scanning + subcategory: custom-patterns + parameters: + - $ref: '#/components/parameters/org' + - name: pattern_id + in: path + required: true + schema: + type: integer + description: The ID of the custom pattern. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/secret-scanning-custom-pattern-to-update' + examples: + default: + $ref: >- + #/components/examples/secret-scanning-custom-pattern-update-request + responses: + '200': + description: Pattern updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/secret-scanning-custom-pattern' + examples: + default: + $ref: '#/components/examples/secret-scanning-custom-pattern' + '400': + $ref: '#/components/responses/bad_request' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '412': + $ref: '#/components/responses/precondition_failed' + '422': + $ref: '#/components/responses/validation_failed' + x-stackQL-resource: custom_patterns /orgs/{org}/secret-scanning/pattern-configurations: get: summary: List organization pattern configurations @@ -254,6 +521,9 @@ paths: - $ref: '#/components/parameters/secret-scanning-alert-publicly-leaked' - $ref: '#/components/parameters/secret-scanning-alert-multi-repo' - $ref: '#/components/parameters/secret-scanning-alert-hide-secret' + - $ref: '#/components/parameters/secret-scanning-alert-bypassed' + - $ref: '#/components/parameters/secret-scanning-alert-included-metadata' + - $ref: '#/components/parameters/secret-scanning-alert-owner-email-hash' responses: '200': description: Response @@ -311,7 +581,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/secret-scanning-alert' + $ref: '#/components/schemas/secret-scanning-alert-with-metadata' examples: default: $ref: '#/components/examples/secret-scanning-alert-open' @@ -374,6 +644,15 @@ paths: #/components/schemas/secret-scanning-alert-resolution-comment assignee: $ref: '#/components/schemas/secret-scanning-alert-assignee' + validity: + type: string + nullable: true + enum: + - active + - inactive + description: >- + Sets the validity of the secret scanning alert. Can be + `active`, `inactive`, or `null` to clear the override. required: - state - assignee @@ -397,7 +676,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/secret-scanning-alert' + $ref: '#/components/schemas/secret-scanning-alert-with-metadata' examples: default: $ref: '#/components/examples/secret-scanning-alert-resolved' @@ -405,14 +684,19 @@ paths: description: >- Bad request, resolution comment is invalid or the resolution was not changed. + '403': + description: >- + Delegated alert dismissal is enabled and the authenticated user is + not a valid reviewer. '404': description: >- Repository is public, or secret scanning is disabled for the repository, or the resource is not found '422': description: >- - State does not match the resolution or resolution comment, or - assignee does not have write access to the repository + State does not match the resolution or resolution comment, assignee + does not have write access to the repository, or the requested + validity change could not be applied to this alert '503': $ref: '#/components/responses/service_unavailable' x-github: @@ -452,32 +736,307 @@ paths: - $ref: '#/components/parameters/per-page' responses: '200': - description: Response + description: Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/secret-scanning-location' + examples: + default: + $ref: '#/components/examples/secret-scanning-location-list' + headers: + Link: + $ref: '#/components/headers/link' + '404': + description: >- + Repository is public, or secret scanning is disabled for the + repository, or the resource is not found + '503': + $ref: '#/components/responses/service_unavailable' + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: secret-scanning + subcategory: secret-scanning + x-stackQL-resource: secret_scanning + /repos/{owner}/{repo}/secret-scanning/custom-patterns: + get: + summary: List repository custom patterns + description: >- + Lists secret scanning custom patterns for a repository. + + + OAuth app tokens and personal access tokens (classic) need the `repo` or + `security_events` scope to use this endpoint. If this endpoint is only + used with public repositories, the token can use the `public_repo` scope + instead. + tags: + - secret-scanning + operationId: secret-scanning/list-repo-custom-patterns + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/secret-scanning/custom-patterns#list-repository-custom-patterns + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: secret-scanning + subcategory: custom-patterns + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - $ref: '#/components/parameters/secret-scanning-custom-pattern-state' + - $ref: >- + #/components/parameters/secret-scanning-custom-pattern-push-protection + - $ref: '#/components/parameters/secret-scanning-custom-pattern-sort' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/per-page' + responses: + '200': + description: Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/secret-scanning-custom-pattern' + examples: + default: + $ref: '#/components/examples/secret-scanning-custom-pattern-list' + headers: + Link: + $ref: '#/components/headers/link' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + x-stackQL-resource: custom_patterns + post: + summary: Bulk create repository custom patterns + description: >- + Bulk creates secret scanning custom patterns for a repository. + + + OAuth app tokens and personal access tokens (classic) need the `repo` or + `security_events` scope to use this endpoint. If this endpoint is only + used with public repositories, the token can use the `public_repo` scope + instead. + tags: + - secret-scanning + operationId: secret-scanning/bulk-create-repo-custom-patterns + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/secret-scanning/custom-patterns#bulk-create-repository-custom-patterns + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: secret-scanning + subcategory: custom-patterns + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - patterns + properties: + patterns: + type: array + description: The list of custom patterns to create. + items: + $ref: >- + #/components/schemas/secret-scanning-custom-pattern-to-create + examples: + default: + $ref: >- + #/components/examples/secret-scanning-custom-pattern-bulk-create-request + responses: + '201': + description: All patterns created successfully. + content: + application/json: + schema: + type: object + properties: + created_patterns: + type: array + description: The list of successfully created custom patterns. + items: + $ref: '#/components/schemas/secret-scanning-custom-pattern' + examples: + default: + $ref: >- + #/components/examples/secret-scanning-custom-pattern-bulk-create-response + '400': + $ref: '#/components/responses/bad_request' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '422': + description: Validation failed for one or more patterns. + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: A summary message describing the error. + validation_errors: + type: object + description: >- + A map of validation errors keyed by the zero-based index + of the pattern that failed. + additionalProperties: + type: object + properties: + errors: + type: array + description: List of validation errors for this pattern. + items: + $ref: >- + #/components/schemas/secret-scanning-custom-pattern-validation-error + x-stackQL-resource: custom_patterns + delete: + summary: Bulk delete repository custom patterns + description: >- + Bulk deletes secret scanning custom patterns for a repository. + + + OAuth app tokens and personal access tokens (classic) need the `repo` or + `security_events` scope to use this endpoint. If this endpoint is only + used with public repositories, the token can use the `public_repo` scope + instead. + tags: + - secret-scanning + operationId: secret-scanning/bulk-delete-repo-custom-patterns + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/secret-scanning/custom-patterns#bulk-delete-repository-custom-patterns + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: secret-scanning + subcategory: custom-patterns + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - patterns + properties: + patterns: + type: array + description: The list of custom patterns to delete. + maxItems: 500 + items: + $ref: >- + #/components/schemas/secret-scanning-custom-pattern-to-delete + post_delete_action: + type: string + description: |- + What to do with alerts associated with the deleted patterns. + `delete_alerts` permanently removes the alerts. + `resolve_alerts` resolves the alerts as "pattern deleted". + Defaults to `delete_alerts` when not specified. + enum: + - delete_alerts + - resolve_alerts + default: delete_alerts + examples: + default: + $ref: >- + #/components/examples/secret-scanning-custom-pattern-bulk-delete-request + responses: + '204': + description: All patterns deleted successfully. + '400': + $ref: '#/components/responses/bad_request' + '403': + $ref: '#/components/responses/forbidden' + '404': + $ref: '#/components/responses/not_found' + '412': + $ref: '#/components/responses/precondition_failed' + x-stackQL-resource: custom_patterns + /repos/{owner}/{repo}/secret-scanning/custom-patterns/{pattern_id}: + patch: + summary: Update a repository custom pattern + description: >- + Updates a secret scanning custom pattern for a repository. + + + OAuth app tokens and personal access tokens (classic) need the `repo` or + `security_events` scope to use this endpoint. If this endpoint is only + used with public repositories, the token can use the `public_repo` scope + instead. + tags: + - secret-scanning + operationId: secret-scanning/update-repo-custom-pattern + externalDocs: + description: API method documentation + url: >- + https://docs.github.com/rest/secret-scanning/custom-patterns#update-a-repository-custom-pattern + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: secret-scanning + subcategory: custom-patterns + parameters: + - $ref: '#/components/parameters/owner' + - $ref: '#/components/parameters/repo' + - name: pattern_id + in: path + required: true + schema: + type: integer + description: The ID of the custom pattern. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/secret-scanning-custom-pattern-to-update' + examples: + default: + $ref: >- + #/components/examples/secret-scanning-custom-pattern-update-request + responses: + '200': + description: Pattern updated successfully. content: application/json: schema: - type: array - description: List of locations where the secret was detected - items: - $ref: '#/components/schemas/secret-scanning-location' + $ref: '#/components/schemas/secret-scanning-custom-pattern' examples: default: - $ref: '#/components/examples/secret-scanning-location-list' - headers: - Link: - $ref: '#/components/headers/link' + $ref: '#/components/examples/secret-scanning-custom-pattern' + '400': + $ref: '#/components/responses/bad_request' + '403': + $ref: '#/components/responses/forbidden' '404': - description: >- - Repository is public, or secret scanning is disabled for the - repository, or the resource is not found - '503': - $ref: '#/components/responses/service_unavailable' - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: secret-scanning - subcategory: secret-scanning - x-stackQL-resource: secret_scanning + $ref: '#/components/responses/not_found' + '412': + $ref: '#/components/responses/precondition_failed' + '422': + $ref: '#/components/responses/validation_failed' + x-stackQL-resource: custom_patterns /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses: post: summary: Create a push protection bypass @@ -553,13 +1112,13 @@ paths: summary: Get secret scanning scan history for a repository description: >- Lists the latest default incremental and backfill scans by type for a - repository. Scans from Copilot Secret Scanning are not included. + repository. > [!NOTE] > This endpoint requires [GitHub Advanced - Security](https://docs.github.com/get-started/learning-about-github/about-github-advanced-security)." + Security](https://docs.github.com/get-started/learning-about-github/about-github-advanced-security). OAuth app tokens and personal access tokens (classic) need the `repo` or @@ -730,6 +1289,178 @@ components: nullable: true closure_request_reviewer: $ref: '#/components/schemas/nullable-simple-user' + secret-scanning-custom-pattern: + title: Secret Scanning Custom Pattern + description: A custom pattern for secret scanning. + type: object + properties: + id: + type: integer + description: The ID of the custom pattern. + name: + type: string + description: The name of the custom pattern. + pattern: + type: string + description: The regular expression of the custom pattern. + slug: + type: string + description: >- + A URL-friendly identifier for the custom pattern, derived from its + name. + state: + type: string + description: The state of the custom pattern. + enum: + - published + - unpublished + push_protection_enabled: + type: boolean + description: Whether push protection is enabled for this custom pattern. + start_delimiter: + type: string + description: The start delimiter regex for the custom pattern. + nullable: true + end_delimiter: + type: string + description: The end delimiter regex for the custom pattern. + nullable: true + must_match: + type: array + description: List of regexes that the secret must match. + nullable: true + items: + type: string + must_not_match: + type: array + description: List of regexes that the secret must not match. + nullable: true + items: + type: string + custom_pattern_version: + $ref: '#/components/schemas/secret-scanning-row-version' + created_at: + type: string + format: date-time + description: The date and time the custom pattern was created in ISO 8601 format. + updated_at: + type: string + format: date-time + description: >- + The date and time the custom pattern was last updated in ISO 8601 + format. + required: + - id + - name + - pattern + - slug + - state + - push_protection_enabled + secret-scanning-custom-pattern-to-create: + title: Secret Scanning Custom Pattern To Create + description: A custom pattern to create in a bulk operation. + type: object + required: + - name + - pattern + properties: + name: + type: string + description: The name of the custom pattern. + pattern: + type: string + description: The regular expression of the custom pattern. + start_delimiter: + type: string + description: |- + The start delimiter regex for the custom pattern. + Defaults to `\A|[^0-9A-Za-z]` when not specified. + default: \A|[^0-9A-Za-z] + end_delimiter: + type: string + description: |- + The end delimiter regex for the custom pattern. + Defaults to `\z|[^0-9A-Za-z]` when not specified. + default: \z|[^0-9A-Za-z] + must_match: + type: array + description: List of regexes that the secret must match. + items: + type: string + must_not_match: + type: array + description: List of regexes that the secret must not match. + items: + type: string + secret-scanning-custom-pattern-validation-error: + title: Secret Scanning Custom Pattern Validation Error + description: A validation error for a custom pattern in a batch operation. + type: object + properties: + code: + type: string + description: A machine-readable code describing the error. + enum: + - invalid + - unprocessable + - start_delimiter + - end_delimiter + - name + - must_match + - must_not_match + - custom_pattern_version_mismatch + message: + type: string + description: A human-readable description of the error. + secret-scanning-custom-pattern-to-delete: + title: Secret Scanning Custom Pattern To Delete + description: A custom pattern to delete in a bulk operation. + type: object + required: + - pattern_id + properties: + pattern_id: + type: integer + description: The ID of the custom pattern to delete. + custom_pattern_version: + $ref: '#/components/schemas/secret-scanning-row-version' + secret-scanning-custom-pattern-to-update: + title: Secret Scanning Custom Pattern To Update + description: >- + Fields to update on a custom pattern. At least one updatable field + (`pattern`, `start_delimiter`, `end_delimiter`, `must_match`, or + `must_not_match`) must also be provided. Only provided fields will be + updated. + required: + - custom_pattern_version + - pattern + - start_delimiter + - end_delimiter + - must_match + - must_not_match + properties: + pattern: + type: string + description: The updated regular expression of the custom pattern. + start_delimiter: + type: string + description: The updated start delimiter regex for the custom pattern. + end_delimiter: + type: string + description: The updated end delimiter regex for the custom pattern. + must_match: + type: array + description: Updated list of regexes that the secret must match. + items: + type: string + must_not_match: + type: array + description: Updated list of regexes that the secret must not match. + items: + type: string + custom_pattern_version: + $ref: '#/components/schemas/secret-scanning-row-version' + type: object secret-scanning-pattern-configuration: title: Secret scanning pattern configuration description: >- @@ -884,6 +1615,136 @@ components: nullable: true closure_request_reviewer: $ref: '#/components/schemas/nullable-simple-user' + secret-scanning-alert-with-metadata: + type: object + properties: + number: + $ref: '#/components/schemas/alert-number' + created_at: + $ref: '#/components/schemas/alert-created-at' + updated_at: + $ref: '#/components/schemas/nullable-alert-updated-at' + url: + $ref: '#/components/schemas/alert-url' + html_url: + $ref: '#/components/schemas/alert-html-url' + locations_url: + type: string + format: uri + description: The REST API URL of the code locations for this alert. + state: + $ref: '#/components/schemas/secret-scanning-alert-state' + resolution: + $ref: '#/components/schemas/secret-scanning-alert-resolution' + resolved_at: + type: string + format: date-time + description: >- + The time that the alert was resolved in ISO 8601 format: + `YYYY-MM-DDTHH:MM:SSZ`. + nullable: true + resolved_by: + $ref: '#/components/schemas/nullable-simple-user' + resolution_comment: + type: string + description: An optional comment to resolve an alert. + nullable: true + secret_type: + type: string + description: The type of secret that secret scanning detected. + secret_type_display_name: + type: string + description: >- + User-friendly name for the detected secret, matching the + `secret_type`. + + For a list of built-in patterns, see "[Supported secret scanning + patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." + provider: + type: string + description: The provider of the secret that was detected. + nullable: true + provider_slug: + type: string + description: >- + The slug identifier for the provider of the secret that was + detected. Use this value for filtering by provider with the + `providers` or `exclude_providers` parameters. + nullable: true + secret: + type: string + description: The secret that was detected. + push_protection_bypassed: + type: boolean + description: Whether push protection was bypassed for the detected secret. + nullable: true + push_protection_bypassed_by: + $ref: '#/components/schemas/nullable-simple-user' + push_protection_bypassed_at: + type: string + format: date-time + description: >- + The time that push protection was bypassed in ISO 8601 format: + `YYYY-MM-DDTHH:MM:SSZ`. + nullable: true + push_protection_bypass_request_reviewer: + $ref: '#/components/schemas/nullable-simple-user' + push_protection_bypass_request_reviewer_comment: + type: string + description: An optional comment when reviewing a push protection bypass. + nullable: true + push_protection_bypass_request_comment: + type: string + description: An optional comment when requesting a push protection bypass. + nullable: true + push_protection_bypass_request_html_url: + type: string + format: uri + description: The URL to a push protection bypass request. + nullable: true + validity: + type: string + description: The token status as of the latest validity check. + enum: + - active + - inactive + - unknown + publicly_leaked: + type: boolean + description: Whether the detected secret was publicly leaked. + nullable: true + multi_repo: + type: boolean + description: >- + Whether the detected secret was found in multiple repositories under + the same organization or enterprise. + nullable: true + is_base64_encoded: + type: boolean + description: A boolean value representing whether or not alert is base64 encoded + nullable: true + first_location_detected: + $ref: >- + #/components/schemas/nullable-secret-scanning-first-detected-location + has_more_locations: + type: boolean + description: >- + A boolean value representing whether or not the token in the alert + was detected in more than one location. + assigned_to: + $ref: '#/components/schemas/nullable-simple-user' + closure_request_comment: + type: string + description: An optional comment from the closure request author. + nullable: true + closure_request_reviewer_comment: + type: string + description: An optional comment from the closure request reviewer. + nullable: true + closure_request_reviewer: + $ref: '#/components/schemas/nullable-simple-user' + metadata: + $ref: '#/components/schemas/secret-scanning-alert-metadata' secret-scanning-alert-state: description: >- Sets the state of the secret scanning alert. You must provide @@ -1145,8 +2006,19 @@ components: status: type: string description: >- - The state of the scan. Either "completed", "running", or - "pending" + The state of the scan. Either "completed", "running", + "pending", "failed", or "unknown". + + + "failed": this scan type has hit its retry limit and has been + marked permanently failed. + + This usually resolves on its own at the next scheduled scan + attempt. If "failed" persists, contact Support. + + + "unknown": the scan is in an unrecognized or currently + unhandled state. completed_at: type: string format: date-time @@ -1169,6 +2041,10 @@ components: description: >- Level at which the custom pattern is defined, one of "repository", "organization", or "enterprise" + generic_secrets_backfill_scans: + type: array + items: + $ref: '#/components/schemas/secret-scanning-scan' alert-number: type: integer description: The security alert number. @@ -1750,10 +2626,72 @@ components: type: string documentation_url: type: string - url: + url: + type: string + status: + type: string + scim-error: + title: Scim Error + description: Scim Error + type: object + properties: + message: + type: string + nullable: true + documentation_url: + type: string + nullable: true + detail: type: string + nullable: true status: + type: integer + scimType: + type: string + nullable: true + schemas: + type: array + items: + type: string + validation-error: + title: Validation Error + description: Validation Error + type: object + required: + - message + - documentation_url + properties: + message: type: string + documentation_url: + type: string + errors: + type: array + items: + type: object + required: + - code + properties: + resource: + type: string + field: + type: string + message: + type: string + code: + type: string + index: + type: integer + value: + oneOf: + - type: string + nullable: true + - type: integer + nullable: true + - type: array + nullable: true + items: + type: string secret-scanning-pattern-override: type: object properties: @@ -1818,68 +2756,24 @@ components: - not-set - disabled - enabled - scim-error: - title: Scim Error - description: Scim Error - type: object - properties: - message: - type: string - nullable: true - documentation_url: - type: string - nullable: true - detail: - type: string - nullable: true - status: - type: integer - scimType: - type: string - nullable: true - schemas: - type: array - items: + secret-scanning-alert-metadata: + type: array + description: >- + A list of metadata key/value pairs associated with the secret scanning + alert. + readOnly: true + items: + type: object + properties: + key: type: string - validation-error: - title: Validation Error - description: Validation Error - type: object - required: - - message - - documentation_url - properties: - message: - type: string - documentation_url: - type: string - errors: - type: array - items: - type: object - required: - - code - properties: - resource: - type: string - field: - type: string - message: - type: string - code: - type: string - index: - type: integer - value: - oneOf: - - type: string - nullable: true - - type: integer - nullable: true - - type: array - nullable: true - items: - type: string + description: The metadata key. + value: + type: string + description: The metadata value. + required: + - key + - value secret-scanning-location-commit: description: >- Represents a 'commit' secret scanning location type. This location type @@ -2215,7 +3109,20 @@ components: description: The type of scan status: type: string - description: The state of the scan. Either "completed", "running", or "pending" + description: >- + The state of the scan. Either "completed", "running", "pending", + "failed", or "unknown". + + + "failed": this scan type has hit its retry limit and has been marked + permanently failed. + + This usually resolves on its own at the next scheduled scan attempt. + If "failed" persists, contact Support. + + + "unknown": the scan is in an unrecognized or currently unhandled + state. completed_at: type: string format: date-time @@ -2360,8 +3267,8 @@ components: application/scim+json: schema: $ref: '#/components/schemas/scim-error' - conflict: - description: Conflict + precondition_failed: + description: Precondition Failed content: application/json: schema: @@ -2372,6 +3279,12 @@ components: application/json: schema: $ref: '#/components/schemas/validation-error' + conflict: + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/basic-error' not_modified: description: Not modified parameters: @@ -2590,6 +3503,91 @@ components: schema: type: boolean default: false + secret-scanning-alert-bypassed: + name: is_bypassed + in: query + description: >- + A boolean value (`true` or `false`) indicating whether to filter alerts + by their push protection bypass status. When set to `true`, only alerts + that were created because a push protection rule was bypassed will be + returned. When set to `false`, only alerts that were not caused by a + push protection bypass will be returned. + required: false + schema: + type: boolean + secret-scanning-alert-included-metadata: + name: included_metadata + in: query + description: >- + A comma-separated list of metadata fields to filter alerts by. Only + alerts that have all of the + + specified metadata fields attached will be returned. Possible values + are: `owner-email`, `owner-id`, + + `owner-name`, `secret-id`, `secret-name`, `secret-issued-date`, + `secret-expiration-date`, `organization-name`, + + `organization-id`, `last-used-date`, and `has-organization-access`. + required: false + schema: + type: string + secret-scanning-alert-owner-email-hash: + name: owner_email_hash + in: query + description: >- + Filters alerts to only those whose attached `owner_email` metadata field + matches the + + provided value. The value must be the lowercase hex-encoded SHA-256 hash + of the email + + address to match (for example, the SHA-256 of `user@example.com`). Only + alerts that + + have an `owner_email` metadata value whose SHA-256 hash equals this + parameter are + + returned. + required: false + schema: + type: string + secret-scanning-custom-pattern-state: + name: state + description: >- + Filter custom patterns by state. When absent, returns patterns in all + states. + in: query + required: false + schema: + type: string + enum: + - published + - unpublished + secret-scanning-custom-pattern-push-protection: + name: push_protection + description: >- + Filter custom patterns by whether push protection is enabled. When + absent, returns patterns regardless of push protection status. + in: query + required: false + schema: + type: string + enum: + - enabled + - disabled + secret-scanning-custom-pattern-sort: + name: sort + description: The property to sort the results by. + in: query + required: false + schema: + type: string + enum: + - created + - updated + - name + default: created owner: name: owner description: The account owner of the repository. The name is not case sensitive. @@ -2804,6 +3802,108 @@ components: received_events_url: https://api.github.com/users/octocat/received_events type: User site_admin: false + secret-scanning-custom-pattern-list: + value: + - id: 1 + name: Example Custom Pattern + pattern: '[a-z]+_token_[0-9]+' + slug: example-custom-pattern + state: published + push_protection_enabled: true + start_delimiter: null + end_delimiter: null + must_match: null + must_not_match: null + created_at: '2024-01-15T10:30:00Z' + updated_at: '2024-01-15T10:30:00Z' + - id: 2 + name: Another Custom Pattern + pattern: prefix_[a-zA-Z0-9]{32} + slug: another-custom-pattern + state: published + push_protection_enabled: false + start_delimiter: \b + end_delimiter: \b + must_match: + - ^prefix_prod + must_not_match: + - test + created_at: '2024-01-16T14:20:00Z' + updated_at: '2024-01-17T09:15:00Z' + secret-scanning-custom-pattern-bulk-create-request: + value: + patterns: + - name: Example Custom Pattern + pattern: '[a-z]+_token_[0-9]+' + - name: Another Custom Pattern + pattern: prefix_[a-zA-Z0-9]{32} + start_delimiter: \b + end_delimiter: \b + must_match: + - ^prefix_prod + must_not_match: + - test + secret-scanning-custom-pattern-bulk-create-response: + value: + created_patterns: + - id: 1 + name: Example Custom Pattern + pattern: '[a-z]+_token_[0-9]+' + slug: example-custom-pattern + state: unpublished + push_protection_enabled: false + start_delimiter: null + end_delimiter: null + must_match: null + must_not_match: null + created_at: '2024-01-15T10:30:00Z' + updated_at: '2024-01-15T10:30:00Z' + - id: 2 + name: Another Custom Pattern + pattern: prefix_[a-zA-Z0-9]{32} + slug: another-custom-pattern + state: unpublished + push_protection_enabled: false + start_delimiter: \b + end_delimiter: \b + must_match: + - ^prefix_prod + must_not_match: + - test + created_at: '2024-01-15T10:30:00Z' + updated_at: '2024-01-15T10:30:00Z' + secret-scanning-custom-pattern-bulk-delete-request: + value: + patterns: + - pattern_id: 2 + custom_pattern_version: 0ujsswThIGTUYm2K8FjOOfXtY1K + secret-scanning-custom-pattern-update-request: + value: + pattern: updated_secret_[0-9A-Z]{16} + start_delimiter: '[^0-9A-Za-z]' + end_delimiter: '[^0-9A-Za-z]' + must_match: + - updated_secret_[0-9]{2}* + must_not_match: + - updated_secret_1234567890ABCDEF + custom_pattern_version: 0ujsswThIGTUYm2K8FjOOfXtY1K + secret-scanning-custom-pattern: + value: + id: 1 + name: Example Custom Pattern + pattern: updated_secret_[0-9A-Z]{16} + slug: example_custom_pattern + state: published + push_protection_enabled: true + start_delimiter: '[^0-9A-Za-z]' + end_delimiter: '[^0-9A-Za-z]' + must_match: + - updated_secret_[0-9]{2}* + must_not_match: + - updated_secret_1234567890ABCDEF + custom_pattern_version: 0ujsswThIGTUYm2K8FjOOfXtY1K + created_at: '2024-01-15T10:30:00Z' + updated_at: '2024-06-01T12:00:00Z' secret-scanning-pattern-configuration: value: pattern_config_version: 0ujsswThIGTUYm2K8FjOOfXtY1K @@ -2972,6 +4072,9 @@ components: validity: unknown publicly_leaked: false multi_repo: false + metadata: + - key: owner_email + value: owner@example.com secret-scanning-alert-resolved: value: number: 42 @@ -3017,6 +4120,9 @@ components: validity: unknown publicly_leaked: false multi_repo: false + metadata: + - key: owner_email + value: owner@example.com assigned_to: login: octocat id: 1 @@ -3144,6 +4250,11 @@ components: completed_at: '2024-10-07T02:55:00Z' pattern_slug: my-custom-pattern pattern_scope: organization + generic_secrets_backfill_scans: + - type: git + status: completed + started_at: '2024-10-07T02:47:00Z' + completed_at: '2024-10-07T02:55:00Z' headers: link: example: >- @@ -3198,6 +4309,56 @@ components: - $ref: '#/components/x-stackQL-resources/alerts/methods/update_alert' delete: [] replace: [] + org_custom_patterns: + id: github.secret_scanning.org_custom_patterns + name: org_custom_patterns + title: Org Custom Patterns + methods: + list_org_custom_patterns: + operation: + $ref: '#/paths/~1orgs~1{org}~1secret-scanning~1custom-patterns/get' + response: + mediaType: application/json + openAPIDocKey: '200' + bulk_create_org_custom_patterns: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1orgs~1{org}~1secret-scanning~1custom-patterns/post' + response: + mediaType: application/json + openAPIDocKey: '201' + bulk_delete_org_custom_patterns: + operation: + $ref: '#/paths/~1orgs~1{org}~1secret-scanning~1custom-patterns/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + update_org_custom_pattern: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1orgs~1{org}~1secret-scanning~1custom-patterns~1{pattern_id}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/org_custom_patterns/methods/list_org_custom_patterns + insert: + - $ref: >- + #/components/x-stackQL-resources/org_custom_patterns/methods/bulk_create_org_custom_patterns + update: + - $ref: >- + #/components/x-stackQL-resources/org_custom_patterns/methods/update_org_custom_pattern + delete: + - $ref: >- + #/components/x-stackQL-resources/org_custom_patterns/methods/bulk_delete_org_custom_patterns + replace: [] org_secret_scanning_pattern_configurations: id: github.secret_scanning.org_secret_scanning_pattern_configurations name: org_secret_scanning_pattern_configurations @@ -3249,6 +4410,59 @@ components: update: [] delete: [] replace: [] + repo_custom_patterns: + id: github.secret_scanning.repo_custom_patterns + name: repo_custom_patterns + title: Repo Custom Patterns + methods: + list_repo_custom_patterns: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1secret-scanning~1custom-patterns/get + response: + mediaType: application/json + openAPIDocKey: '200' + bulk_create_repo_custom_patterns: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1secret-scanning~1custom-patterns/post + response: + mediaType: application/json + openAPIDocKey: '201' + bulk_delete_repo_custom_patterns: + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1secret-scanning~1custom-patterns/delete + response: + mediaType: application/json + openAPIDocKey: '204' + update_repo_custom_pattern: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1repos~1{owner}~1{repo}~1secret-scanning~1custom-patterns~1{pattern_id}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/repo_custom_patterns/methods/list_repo_custom_patterns + insert: + - $ref: >- + #/components/x-stackQL-resources/repo_custom_patterns/methods/bulk_create_repo_custom_patterns + update: + - $ref: >- + #/components/x-stackQL-resources/repo_custom_patterns/methods/update_repo_custom_pattern + delete: + - $ref: >- + #/components/x-stackQL-resources/repo_custom_patterns/methods/bulk_delete_repo_custom_patterns + replace: [] repo_push_protection_bypasses: id: github.secret_scanning.repo_push_protection_bypasses name: repo_push_protection_bypasses @@ -3294,3 +4508,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/security_advisories.yaml b/providers/src/github/v00.00.00000/services/security_advisories.yaml index ba1c0601..fdaf7632 100644 --- a/providers/src/github/v00.00.00000/services/security_advisories.yaml +++ b/providers/src/github/v00.00.00000/services/security_advisories.yaml @@ -3082,6 +3082,20 @@ components: enum: - enterprise - organization + access_source: + description: >- + How the team's access to the repository was granted. This property + is only + + present when the team is returned in a repository context, such as + + `GET /repos/{owner}/{repo}/teams`. + type: string + enum: + - direct + - organization + - enterprise + example: direct organization_id: type: integer description: Unique identifier of the organization to which this team belongs @@ -5240,6 +5254,12 @@ components: type: User site_admin: false type: analyst + x-github-breaking-changes: + - changeset: deprecate_cvss + patch: + - op: remove + path: /value/cvss + version: '2026-03-10' list-repository-advisories: value: - ghsa_id: GHSA-abcd-1234-efgh @@ -5890,6 +5910,12 @@ components: https://api.github.com/repos/octo-org/octo-repo-ghsa-abcd-1234-efgh/teams trees_url: >- https://api.github.com/repos/octo-org/octo-repo-ghsa-abcd-1234-efgh/git/trees{/sha} + x-github-breaking-changes: + - changeset: deprecate_cvss + patch: + - op: remove + path: /value/cvss + version: '2026-03-10' repository-advisory-pvr: value: ghsa_id: GHSA-abcd-1234-efgh @@ -6010,6 +6036,12 @@ components: permission: admin parent: null private_fork: null + x-github-breaking-changes: + - changeset: deprecate_cvss + patch: + - op: remove + path: /value/cvss + version: '2026-03-10' full-repository: value: id: 1296269 @@ -6545,6 +6577,12 @@ components: forks: 1 open_issues: 1 watchers: 1 + x-github-breaking-changes: + - changeset: remove_has_downloads + patch: + - op: remove + path: /value/has_downloads + version: '2026-03-10' x-stackQL-resources: global_advisories: id: github.security_advisories.global_advisories @@ -6686,3 +6724,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/teams.yaml b/providers/src/github/v00.00.00000/services/teams.yaml index d7c91026..6d7d2f77 100644 --- a/providers/src/github/v00.00.00000/services/teams.yaml +++ b/providers/src/github/v00.00.00000/services/teams.yaml @@ -134,6 +134,11 @@ paths: parent_team_id: type: integer description: The ID of a team to set as the parent team. + parent_team_slug: + type: string + description: >- + The slug of a team to set as the parent team. Ignored when + `parent_team_id` is also provided. required: - name examples: @@ -292,6 +297,12 @@ paths: type: integer description: The ID of a team to set as the parent team. nullable: true + parent_team_slug: + type: string + description: >- + The slug of a team to set as the parent team. Ignored when + `parent_team_id` is also provided. + nullable: true examples: default: value: @@ -422,6 +433,13 @@ paths: Team members will include the members of child teams. + Each member includes their `role` on the team (`member` or `maintainer`) + and an `inherited` flag indicating whether the membership is inherited + from a child team (`true`) or is a direct membership (`false`). These + fields let you read a member's role and direct/inherited status without + additional requests. + + To list members in a team, the team must be visible to the authenticated user. tags: @@ -454,10 +472,10 @@ paths: schema: type: array items: - $ref: '#/components/schemas/simple-user' + $ref: '#/components/schemas/team-member' examples: default: - $ref: '#/components/examples/simple-user-items' + $ref: '#/components/examples/team-member-items' headers: Link: $ref: '#/components/headers/link' @@ -681,6 +699,10 @@ paths: Lists a team's repositories visible to the authenticated user. + OAuth app tokens and personal access tokens (classic) need the + `read:org` or `repo` scope to use this endpoint. + + > [!NOTE] > You can also specify a team by `org_id` and `team_id` using the route @@ -1050,6 +1072,12 @@ paths: type: integer description: The ID of a team to set as the parent team. nullable: true + parent_team_slug: + type: string + description: >- + The slug of a team to set as the parent team. Ignored when + `parent_team_id` is also provided. + nullable: true required: - name examples: @@ -1201,6 +1229,11 @@ paths: Team members will include the members of child teams. + + + Each member includes their `role` on the team (`member` or `maintainer`) + and an `inherited` flag indicating whether the membership is inherited + from a child team (`true`) or is a direct membership (`false`). tags: - teams operationId: teams/list-members-legacy @@ -1230,10 +1263,10 @@ paths: schema: type: array items: - $ref: '#/components/schemas/simple-user' + $ref: '#/components/schemas/team-member' examples: default: - $ref: '#/components/examples/simple-user-items' + $ref: '#/components/examples/team-member-items' headers: Link: $ref: '#/components/headers/link' @@ -2028,6 +2061,20 @@ components: enum: - enterprise - organization + access_source: + description: >- + How the team's access to the repository was granted. This property + is only + + present when the team is returned in a repository context, such as + + `GET /repos/{owner}/{repo}/teams`. + type: string + enum: + - direct + - organization + - enterprise + example: direct organization_id: type: integer description: Unique identifier of the organization to which this team belongs @@ -2208,9 +2255,11 @@ components: - team_count - invitation_teams_url - node_id - simple-user: - title: Simple User - description: A GitHub user. + team-member: + title: Team Member + description: >- + A user that is a member of a team, including their role on the team and + whether the membership is inherited from a child team. type: object properties: name: @@ -2288,6 +2337,25 @@ components: user_view_type: type: string example: public + role: + type: string + description: >- + The member's role on the team. Only present on the `List team + members` endpoint, and only when the feature is enabled for the + organization. + enum: + - member + - maintainer + example: member + inherited: + type: boolean + description: >- + Whether the user is a member of the team only through a child team. + `true` means the membership is inherited from a child team; `false` + means the user is a direct (immediate) member of the team. Only + present on the `List team members` endpoint, and only when the + feature is enabled for the organization. + example: false required: - avatar_url - events_url @@ -3541,6 +3609,105 @@ components: nullable: true items: type: string + simple-user: + title: Simple User + description: A GitHub user. + type: object + properties: + name: + nullable: true + type: string + email: + nullable: true + type: string + login: + type: string + example: octocat + id: + type: integer + format: int64 + example: 1 + node_id: + type: string + example: MDQ6VXNlcjE= + avatar_url: + type: string + format: uri + example: https://github.com/images/error/octocat_happy.gif + gravatar_id: + type: string + example: 41d064eb2195891e12d0413f63227ea7 + nullable: true + url: + type: string + format: uri + example: https://api.github.com/users/octocat + html_url: + type: string + format: uri + example: https://github.com/octocat + followers_url: + type: string + format: uri + example: https://api.github.com/users/octocat/followers + following_url: + type: string + example: https://api.github.com/users/octocat/following{/other_user} + gists_url: + type: string + example: https://api.github.com/users/octocat/gists{/gist_id} + starred_url: + type: string + example: https://api.github.com/users/octocat/starred{/owner}{/repo} + subscriptions_url: + type: string + format: uri + example: https://api.github.com/users/octocat/subscriptions + organizations_url: + type: string + format: uri + example: https://api.github.com/users/octocat/orgs + repos_url: + type: string + format: uri + example: https://api.github.com/users/octocat/repos + events_url: + type: string + example: https://api.github.com/users/octocat/events{/privacy} + received_events_url: + type: string + format: uri + example: https://api.github.com/users/octocat/received_events + type: + type: string + example: User + site_admin: + type: boolean + starred_at: + type: string + example: '"2020-07-09T00:17:55Z"' + user_view_type: + type: string + example: public + required: + - avatar_url + - events_url + - followers_url + - following_url + - gists_url + - gravatar_id + - html_url + - id + - node_id + - login + - organizations_url + - received_events_url + - repos_url + - site_admin + - starred_url + - subscriptions_url + - type + - url code-of-conduct: title: Code Of Conduct description: Code Of Conduct @@ -4116,7 +4283,7 @@ components: team_count: 2 invitation_teams_url: https://api.github.com/organizations/2/invitations/1/teams invitation_source: member - simple-user-items: + team-member-items: value: - login: octocat id: 1 @@ -4136,6 +4303,8 @@ components: received_events_url: https://api.github.com/users/octocat/received_events type: User site_admin: false + role: member + inherited: false team-membership-response-if-user-is-a-team-maintainer: summary: Response if user is a team maintainer value: @@ -4393,6 +4562,12 @@ components: forks: 1 open_issues: 1 watchers: 1 + x-github-breaking-changes: + - changeset: remove_has_downloads + patch: + - op: remove + path: /value/has_downloads + version: '2026-03-10' team-items-response-if-child-teams-exist: value: - id: 2 @@ -4547,6 +4722,12 @@ components: forks: 1 open_issues: 1 watchers: 1 + x-github-breaking-changes: + - changeset: remove_has_downloads + patch: + - op: remove + path: /value/has_downloads + version: '2026-03-10' team-full-items: value: - id: 1 @@ -4973,3 +5154,11 @@ components: replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/github/v00.00.00000/services/users.yaml b/providers/src/github/v00.00.00000/services/users.yaml index f2fd28cf..cb68b238 100644 --- a/providers/src/github/v00.00.00000/services/users.yaml +++ b/providers/src/github/v00.00.00000/services/users.yaml @@ -7,9 +7,7 @@ paths: /user: get: summary: Get the authenticated user - description: >- - OAuth app tokens and personal access tokens (classic) need the `user` - scope in order for the response to include private profile information. + description: OAuth app tokens and personal access tokens (classic) need the `user` scope in order for the response to include private profile information. tags: - users operationId: users/get-authenticated @@ -66,15 +64,13 @@ paths: example: https://api.github.com/users/octocat/followers following_url: type: string - example: >- - https://api.github.com/users/octocat/following{/other_user} + example: https://api.github.com/users/octocat/following{/other_user} gists_url: type: string example: https://api.github.com/users/octocat/gists{/gist_id} starred_url: type: string - example: >- - https://api.github.com/users/octocat/starred{/owner}{/repo} + example: https://api.github.com/users/octocat/starred{/owner}{/repo} subscriptions_url: type: string format: uri @@ -235,11 +231,9 @@ paths: additionalProperties: false examples: response-with-public-and-private-profile-information: - $ref: >- - #/components/examples/private-user-response-with-public-and-private-profile-information + $ref: '#/components/examples/private-user-response-with-public-and-private-profile-information' response-with-public-profile-information: - $ref: >- - #/components/examples/private-user-response-with-public-profile-information + $ref: '#/components/examples/private-user-response-with-public-profile-information' '304': $ref: '#/components/responses/not_modified' '401': @@ -254,11 +248,7 @@ paths: x-stackQL-resource: users patch: summary: Update the authenticated user - description: >- - **Note:** If your email is set to private and you send an `email` - parameter as part of this request to update your profile, your privacy - settings are still enforced: the email address will not be displayed on - your public profile or via the API. + description: '**Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API.' tags: - users operationId: users/update-authenticated @@ -345,8 +335,7 @@ paths: operationId: users/list-blocked-by-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/blocking#list-users-blocked-by-the-authenticated-user + url: https://docs.github.com/rest/users/blocking#list-users-blocked-by-the-authenticated-user parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' @@ -379,18 +368,13 @@ paths: /user/blocks/{username}: get: summary: Check if a user is blocked by the authenticated user - description: >- - Returns a 204 if the given user is blocked by the authenticated user. - Returns a 404 if the given user is not blocked by the authenticated - user, or if the given user account has been identified as spam by - GitHub. + description: Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. tags: - users operationId: users/check-blocked externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/blocking#check-if-a-user-is-blocked-by-the-authenticated-user + url: https://docs.github.com/rest/users/blocking#check-if-a-user-is-blocked-by-the-authenticated-user parameters: - $ref: '#/components/parameters/username' responses: @@ -416,9 +400,7 @@ paths: x-stackQL-resource: blocking put: summary: Block a user - description: >- - Blocks the given user and returns a 204. If the authenticated user - cannot block the given user a 422 is returned. + description: Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. tags: - users operationId: users/block @@ -483,8 +465,7 @@ paths: operationId: users/set-primary-email-visibility-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user + url: https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user parameters: [] requestBody: required: true @@ -537,21 +518,17 @@ paths: /user/emails: get: summary: List email addresses for the authenticated user - description: >- + description: |- Lists all of your email addresses, and specifies which one is visible - to the public. - - OAuth app tokens and personal access tokens (classic) need the - `user:email` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. tags: - users operationId: users/list-emails-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/emails#list-email-addresses-for-the-authenticated-user + url: https://docs.github.com/rest/users/emails#list-email-addresses-for-the-authenticated-user parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' @@ -586,16 +563,13 @@ paths: x-stackQL-resource: emails post: summary: Add an email address for the authenticated user - description: >- - OAuth app tokens and personal access tokens (classic) need the `user` - scope to use this endpoint. + description: OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. tags: - users operationId: users/add-email-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/emails#add-an-email-address-for-the-authenticated-user + url: https://docs.github.com/rest/users/emails#add-an-email-address-for-the-authenticated-user parameters: [] requestBody: required: false @@ -605,12 +579,7 @@ paths: type: object properties: emails: - description: >- - Adds one or more email addresses to your GitHub account. - Must contain at least one email address. **Note:** - Alternatively, you can pass a single email address or an - `array` of emails addresses directly, but we recommend that - you pass an object using the `emails` key. + description: Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. type: array items: type: string @@ -665,28 +634,20 @@ paths: x-stackQL-resource: emails delete: summary: Delete an email address for the authenticated user - description: >- - OAuth app tokens and personal access tokens (classic) need the `user` - scope to use this endpoint. + description: OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. tags: - users operationId: users/delete-email-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/emails#delete-an-email-address-for-the-authenticated-user + url: https://docs.github.com/rest/users/emails#delete-an-email-address-for-the-authenticated-user parameters: [] requestBody: content: application/json: schema: type: object - description: >- - Deletes one or more email addresses from your GitHub account. - Must contain at least one email address. **Note:** - Alternatively, you can pass a single email address or an `array` - of emails addresses directly, but we recommend that you pass an - object using the `emails` key. + description: Deletes one or more email addresses from your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. properties: emails: description: Email addresses associated with the GitHub user account. @@ -740,8 +701,7 @@ paths: operationId: users/list-followers-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/followers#list-followers-of-the-authenticated-user + url: https://docs.github.com/rest/users/followers#list-followers-of-the-authenticated-user parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' @@ -781,8 +741,7 @@ paths: operationId: users/list-followed-by-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/followers#list-the-people-the-authenticated-user-follows + url: https://docs.github.com/rest/users/followers#list-the-people-the-authenticated-user-follows parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' @@ -822,8 +781,7 @@ paths: operationId: users/check-person-is-followed-by-authenticated externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/followers#check-if-a-person-is-followed-by-the-authenticated-user + url: https://docs.github.com/rest/users/followers#check-if-a-person-is-followed-by-the-authenticated-user parameters: - $ref: '#/components/parameters/username' responses: @@ -849,14 +807,10 @@ paths: x-stackQL-resource: followers put: summary: Follow a user - description: >- - Note that you'll need to set `Content-Length` to zero when calling out - to this endpoint. For more information, see "[HTTP - verbs](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." - + description: |- + Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." - OAuth app tokens and personal access tokens (classic) need the - `user:follow` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. tags: - users operationId: users/follow @@ -886,9 +840,7 @@ paths: x-stackQL-resource: followers delete: summary: Unfollow a user - description: >- - OAuth app tokens and personal access tokens (classic) need the - `user:follow` scope to use this endpoint. + description: OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. tags: - users operationId: users/unfollow @@ -917,19 +869,16 @@ paths: /user/gpg_keys: get: summary: List GPG keys for the authenticated user - description: >- + description: |- Lists the current user's GPG keys. - - OAuth app tokens and personal access tokens (classic) need the - `read:gpg_key` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. tags: - users operationId: users/list-gpg-keys-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-the-authenticated-user + url: https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-the-authenticated-user parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' @@ -964,19 +913,16 @@ paths: x-stackQL-resource: gpg_keys post: summary: Create a GPG key for the authenticated user - description: >- + description: |- Adds a GPG key to the authenticated user's GitHub account. - - OAuth app tokens and personal access tokens (classic) need the - `write:gpg_key` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. operationId: users/create-gpg-key-for-authenticated-user tags: - users externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/gpg-keys#create-a-gpg-key-for-the-authenticated-user + url: https://docs.github.com/rest/users/gpg-keys#create-a-gpg-key-for-the-authenticated-user parameters: [] requestBody: required: true @@ -1032,19 +978,16 @@ paths: /user/gpg_keys/{gpg_key_id}: get: summary: Get a GPG key for the authenticated user - description: >- + description: |- View extended details for a single GPG key. - - OAuth app tokens and personal access tokens (classic) need the - `read:gpg_key` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. tags: - users operationId: users/get-gpg-key-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/gpg-keys#get-a-gpg-key-for-the-authenticated-user + url: https://docs.github.com/rest/users/gpg-keys#get-a-gpg-key-for-the-authenticated-user parameters: - $ref: '#/components/parameters/gpg-key-id' responses: @@ -1073,19 +1016,16 @@ paths: x-stackQL-resource: gpg_keys delete: summary: Delete a GPG key for the authenticated user - description: >- + description: |- Removes a GPG key from the authenticated user's GitHub account. - - OAuth app tokens and personal access tokens (classic) need the - `admin:gpg_key` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. tags: - users operationId: users/delete-gpg-key-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/gpg-keys#delete-a-gpg-key-for-the-authenticated-user + url: https://docs.github.com/rest/users/gpg-keys#delete-a-gpg-key-for-the-authenticated-user parameters: - $ref: '#/components/parameters/gpg-key-id' responses: @@ -1110,19 +1050,16 @@ paths: /user/keys: get: summary: List public SSH keys for the authenticated user - description: >- + description: |- Lists the public SSH keys for the authenticated user's GitHub account. - - OAuth app tokens and personal access tokens (classic) need the - `read:public_key` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. tags: - users operationId: users/list-public-ssh-keys-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/keys#list-public-ssh-keys-for-the-authenticated-user + url: https://docs.github.com/rest/users/keys#list-public-ssh-keys-for-the-authenticated-user parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' @@ -1157,19 +1094,16 @@ paths: x-stackQL-resource: keys post: summary: Create a public SSH key for the authenticated user - description: >- + description: |- Adds a public SSH key to the authenticated user's GitHub account. - - OAuth app tokens and personal access tokens (classic) need the - `write:public_key` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `write:public_key` scope to use this endpoint. operationId: users/create-public-ssh-key-for-authenticated-user tags: - users externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/keys#create-a-public-ssh-key-for-the-authenticated-user + url: https://docs.github.com/rest/users/keys#create-a-public-ssh-key-for-the-authenticated-user parameters: [] requestBody: required: true @@ -1222,19 +1156,16 @@ paths: /user/keys/{key_id}: get: summary: Get a public SSH key for the authenticated user - description: >- + description: |- View extended details for a single public SSH key. - - OAuth app tokens and personal access tokens (classic) need the - `read:public_key` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. tags: - users operationId: users/get-public-ssh-key-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/keys#get-a-public-ssh-key-for-the-authenticated-user + url: https://docs.github.com/rest/users/keys#get-a-public-ssh-key-for-the-authenticated-user parameters: - $ref: '#/components/parameters/key-id' responses: @@ -1263,19 +1194,16 @@ paths: x-stackQL-resource: keys delete: summary: Delete a public SSH key for the authenticated user - description: >- + description: |- Removes a public SSH key from the authenticated user's GitHub account. - - OAuth app tokens and personal access tokens (classic) need the - `admin:public_key` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. tags: - users operationId: users/delete-public-ssh-key-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/keys#delete-a-public-ssh-key-for-the-authenticated-user + url: https://docs.github.com/rest/users/keys#delete-a-public-ssh-key-for-the-authenticated-user parameters: - $ref: '#/components/parameters/key-id' responses: @@ -1298,24 +1226,18 @@ paths: /user/public_emails: get: summary: List public email addresses for the authenticated user - description: >- + description: |- Lists your publicly visible email address, which you can set with the - - [Set primary email visibility for the authenticated - user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) - + [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. - - OAuth app tokens and personal access tokens (classic) need the - `user:email` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. tags: - users operationId: users/list-public-emails-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/emails#list-public-email-addresses-for-the-authenticated-user + url: https://docs.github.com/rest/users/emails#list-public-email-addresses-for-the-authenticated-user parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' @@ -1357,8 +1279,7 @@ paths: operationId: users/list-social-accounts-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-the-authenticated-user + url: https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-the-authenticated-user parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' @@ -1393,19 +1314,16 @@ paths: x-stackQL-resource: social_accounts post: summary: Add social accounts for the authenticated user - description: >- + description: |- Add one or more social accounts to the authenticated user's profile. - - OAuth app tokens and personal access tokens (classic) need the `user` - scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. tags: - users operationId: users/add-social-account-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/social-accounts#add-social-accounts-for-the-authenticated-user + url: https://docs.github.com/rest/users/social-accounts#add-social-accounts-for-the-authenticated-user parameters: [] requestBody: required: true @@ -1464,20 +1382,16 @@ paths: x-stackQL-resource: social_accounts delete: summary: Delete social accounts for the authenticated user - description: >- - Deletes one or more social accounts from the authenticated user's - profile. + description: |- + Deletes one or more social accounts from the authenticated user's profile. - - OAuth app tokens and personal access tokens (classic) need the `user` - scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. tags: - users operationId: users/delete-social-account-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/social-accounts#delete-social-accounts-for-the-authenticated-user + url: https://docs.github.com/rest/users/social-accounts#delete-social-accounts-for-the-authenticated-user parameters: [] requestBody: required: true @@ -1528,19 +1442,16 @@ paths: /user/ssh_signing_keys: get: summary: List SSH signing keys for the authenticated user - description: >- + description: |- Lists the SSH signing keys for the authenticated user's GitHub account. - - OAuth app tokens and personal access tokens (classic) need the - `read:ssh_signing_key` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. tags: - users operationId: users/list-ssh-signing-keys-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-the-authenticated-user + url: https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-the-authenticated-user parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/page' @@ -1576,19 +1487,16 @@ paths: x-stackQL-resource: ssh_signing_keys post: summary: Create a SSH signing key for the authenticated user - description: >- + description: |- Creates an SSH signing key for the authenticated user's GitHub account. - - OAuth app tokens and personal access tokens (classic) need the - `write:ssh_signing_key` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint. operationId: users/create-ssh-signing-key-for-authenticated-user tags: - users externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/ssh-signing-keys#create-a-ssh-signing-key-for-the-authenticated-user + url: https://docs.github.com/rest/users/ssh-signing-keys#create-a-ssh-signing-key-for-the-authenticated-user parameters: [] requestBody: required: true @@ -1601,14 +1509,9 @@ paths: type: string example: Personal MacBook Air key: - description: >- - The public SSH key to add to your GitHub account. For more - information, see "[Checking for existing SSH - keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." + description: The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." type: string - pattern: >- - ^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521) - |^(sk-ssh-ed25519|sk-ecdsa-sha2-nistp256)@openssh.com + pattern: '^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521) |^(sk-ssh-ed25519|sk-ecdsa-sha2-nistp256)@openssh.com ' required: - key type: object @@ -1646,19 +1549,16 @@ paths: /user/ssh_signing_keys/{ssh_signing_key_id}: get: summary: Get an SSH signing key for the authenticated user - description: >- + description: |- Gets extended details for an SSH signing key. - - OAuth app tokens and personal access tokens (classic) need the - `read:ssh_signing_key` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. tags: - users operationId: users/get-ssh-signing-key-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/ssh-signing-keys#get-an-ssh-signing-key-for-the-authenticated-user + url: https://docs.github.com/rest/users/ssh-signing-keys#get-an-ssh-signing-key-for-the-authenticated-user parameters: - $ref: '#/components/parameters/ssh-signing-key-id' responses: @@ -1687,19 +1587,16 @@ paths: x-stackQL-resource: ssh_signing_keys delete: summary: Delete an SSH signing key for the authenticated user - description: >- + description: |- Deletes an SSH signing key from the authenticated user's GitHub account. - - OAuth app tokens and personal access tokens (classic) need the - `admin:ssh_signing_key` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint. tags: - users operationId: users/delete-ssh-signing-key-for-authenticated-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/ssh-signing-keys#delete-an-ssh-signing-key-for-the-authenticated-user + url: https://docs.github.com/rest/users/ssh-signing-keys#delete-an-ssh-signing-key-for-the-authenticated-user parameters: - $ref: '#/components/parameters/ssh-signing-key-id' responses: @@ -1722,35 +1619,14 @@ paths: /user/{account_id}: get: summary: Get a user using their ID - description: >- - Provides publicly available information about someone with a GitHub - account. This method takes their durable user `ID` instead of their - `login`, which can change over time. + description: |- + Provides publicly available information about someone with a GitHub account. This method takes their durable user `ID` instead of their `login`, which can change over time. + If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. - If you are requesting information about an [Enterprise Managed - User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), - or a GitHub App bot that is installed in an organization that uses - Enterprise Managed Users, your requests must be authenticated as a user - or GitHub App that has access to the organization to view that account's - information. If you are not authorized, the request will return a `404 - Not Found` status. + The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be public which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). - - The `email` key in the following response is the publicly visible email - address from your GitHub [profile - page](https://github.com/settings/profile). When setting up your - profile, you can select a primary email address to be public which - provides an email entry for this endpoint. If you do not set a public - email address for `email`, then it will have a value of `null`. You only - see publicly visible email addresses when authenticated with GitHub. For - more information, see - [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). - - - The Emails API enables you to list all of your email addresses, and - toggle a primary email to be visible publicly. For more information, see - [Emails API](https://docs.github.com/rest/users/emails). + The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see [Emails API](https://docs.github.com/rest/users/emails). tags: - users operationId: users/get-by-id @@ -1808,15 +1684,13 @@ paths: example: https://api.github.com/users/octocat/followers following_url: type: string - example: >- - https://api.github.com/users/octocat/following{/other_user} + example: https://api.github.com/users/octocat/following{/other_user} gists_url: type: string example: https://api.github.com/users/octocat/gists{/gist_id} starred_url: type: string - example: >- - https://api.github.com/users/octocat/starred{/owner}{/repo} + example: https://api.github.com/users/octocat/starred{/owner}{/repo} subscriptions_url: type: string format: uri @@ -1979,8 +1853,7 @@ paths: default-response: $ref: '#/components/examples/public-user-default-response' response-with-git-hub-plan-information: - $ref: >- - #/components/examples/public-user-response-with-git-hub-plan-information + $ref: '#/components/examples/public-user-response-with-git-hub-plan-information' '404': $ref: '#/components/responses/not_found' x-github: @@ -1992,15 +1865,10 @@ paths: /users: get: summary: List users - description: >- - Lists all users, in the order that they signed up on GitHub. This list - includes personal user accounts and organization accounts. + description: |- + Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. - - Note: Pagination is powered exclusively by the `since` parameter. Use - the [Link - header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) - to get the URL for the next page of users. + Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. tags: - users operationId: users/list @@ -2038,34 +1906,14 @@ paths: /users/{username}: get: summary: Get a user - description: >- - Provides publicly available information about someone with a GitHub - account. - + description: |- + Provides publicly available information about someone with a GitHub account. - If you are requesting information about an [Enterprise Managed - User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), - or a GitHub App bot that is installed in an organization that uses - Enterprise Managed Users, your requests must be authenticated as a user - or GitHub App that has access to the organization to view that account's - information. If you are not authorized, the request will return a `404 - Not Found` status. + If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. + The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be public which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). - The `email` key in the following response is the publicly visible email - address from your GitHub [profile - page](https://github.com/settings/profile). When setting up your - profile, you can select a primary email address to be public which - provides an email entry for this endpoint. If you do not set a public - email address for `email`, then it will have a value of `null`. You only - see publicly visible email addresses when authenticated with GitHub. For - more information, see - [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). - - - The Emails API enables you to list all of your email addresses, and - toggle a primary email to be visible publicly. For more information, see - [Emails API](https://docs.github.com/rest/users/emails). + The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see [Emails API](https://docs.github.com/rest/users/emails). tags: - users operationId: users/get-by-username @@ -2123,15 +1971,13 @@ paths: example: https://api.github.com/users/octocat/followers following_url: type: string - example: >- - https://api.github.com/users/octocat/following{/other_user} + example: https://api.github.com/users/octocat/following{/other_user} gists_url: type: string example: https://api.github.com/users/octocat/gists{/gist_id} starred_url: type: string - example: >- - https://api.github.com/users/octocat/starred{/owner}{/repo} + example: https://api.github.com/users/octocat/starred{/owner}{/repo} subscriptions_url: type: string format: uri @@ -2294,8 +2140,7 @@ paths: default-response: $ref: '#/components/examples/public-user-default-response' response-with-git-hub-plan-information: - $ref: >- - #/components/examples/public-user-response-with-git-hub-plan-information + $ref: '#/components/examples/public-user-response-with-git-hub-plan-information' '404': $ref: '#/components/responses/not_found' x-github: @@ -2307,35 +2152,18 @@ paths: /users/{username}/attestations/bulk-list: post: summary: List attestations by bulk subject digests - description: >- - List a collection of artifact attestations associated with any entry in - a list of subject digests owned by a user. - + description: |- + List a collection of artifact attestations associated with any entry in a list of subject digests owned by a user. - The collection of attestations returned by this endpoint is filtered - according to the authenticated user's permissions; if the authenticated - user cannot read a repository, the attestations associated with that - repository will not be included in the response. In addition, when using - a fine-grained access token the `attestations:read` permission is - required. + The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. - - **Please note:** in order to offer meaningful security benefits, an - attestation's signature and timestamps **must** be cryptographically - verified, and the identity of the attestation signer **must** be - validated. Attestations can be verified using the [GitHub CLI - `attestation verify` - command](https://cli.github.com/manual/gh_attestation_verify). For more - information, see [our guide on how to use artifact attestations to - establish a build's - provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). tags: - users operationId: users/list-attestations-bulk externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/attestations#list-attestations-by-bulk-subject-digests + url: https://docs.github.com/rest/users/attestations#list-attestations-by-bulk-subject-digests parameters: - $ref: '#/components/parameters/per-page' - $ref: '#/components/parameters/pagination-before' @@ -2357,13 +2185,9 @@ paths: maxItems: 1024 predicate_type: type: string - description: >- - Optional filter for fetching attestations with a given - predicate type. - - This option accepts `provenance`, `sbom`, `release`, or - freeform text - + description: |- + Optional filter for fetching attestations with a given predicate type. + This option accepts `provenance`, `sbom`, `release`, or freeform text for custom predicate types. required: - subject_digests @@ -2371,8 +2195,7 @@ paths: default: $ref: '#/components/examples/bulk-subject-digest-body' withPredicateType: - $ref: >- - #/components/examples/bulk-subject-digest-body-with-predicate-type + $ref: '#/components/examples/bulk-subject-digest-body-with-predicate-type' responses: '200': description: Response @@ -2453,16 +2276,13 @@ paths: /users/{username}/attestations/delete-request: post: summary: Delete attestations in bulk - description: >- - Delete artifact attestations in bulk by either subject digests or unique - ID. + description: Delete artifact attestations in bulk by either subject digests or unique ID. tags: - users operationId: users/delete-attestations-bulk externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/attestations#delete-attestations-in-bulk + url: https://docs.github.com/rest/users/attestations#delete-attestations-in-bulk parameters: - $ref: '#/components/parameters/username' requestBody: @@ -2471,26 +2291,20 @@ paths: application/json: schema: type: object - description: >- - The request body must include either `subject_digests` or - `attestation_ids`, but not both. + description: The request body must include either `subject_digests` or `attestation_ids`, but not both. properties: subject_digests: type: array items: type: string - description: >- - List of subject digests associated with the artifact - attestations to delete. + description: List of subject digests associated with the artifact attestations to delete. minItems: 1 maxItems: 1024 attestation_ids: type: array items: type: integer - description: >- - List of unique IDs associated with the artifact attestations - to delete. + description: List of unique IDs associated with the artifact attestations to delete. minItems: 1 maxItems: 1024 required: @@ -2529,8 +2343,7 @@ paths: operationId: users/delete-attestations-by-subject-digest externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/attestations#delete-attestations-by-subject-digest + url: https://docs.github.com/rest/users/attestations#delete-attestations-by-subject-digest parameters: - $ref: '#/components/parameters/username' - name: subject_digest @@ -2556,16 +2369,13 @@ paths: /users/{username}/attestations/{attestation_id}: delete: summary: Delete attestations by ID - description: >- - Delete an artifact attestation by unique ID that is associated with a - repository owned by a user. + description: Delete an artifact attestation by unique ID that is associated with a repository owned by a user. tags: - users operationId: users/delete-attestations-by-id externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/attestations#delete-attestations-by-id + url: https://docs.github.com/rest/users/attestations#delete-attestations-by-id parameters: - $ref: '#/components/parameters/username' - name: attestation_id @@ -2592,28 +2402,12 @@ paths: /users/{username}/attestations/{subject_digest}: get: summary: List attestations - description: >- - List a collection of artifact attestations with a given subject digest - that are associated with repositories owned by a user. - - - The collection of attestations returned by this endpoint is filtered - according to the authenticated user's permissions; if the authenticated - user cannot read a repository, the attestations associated with that - repository will not be included in the response. In addition, when using - a fine-grained access token the `attestations:read` permission is - required. + description: |- + List a collection of artifact attestations with a given subject digest that are associated with repositories owned by a user. + The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. - **Please note:** in order to offer meaningful security benefits, an - attestation's signature and timestamps **must** be cryptographically - verified, and the identity of the attestation signer **must** be - validated. Attestations can be verified using the [GitHub CLI - `attestation verify` - command](https://cli.github.com/manual/gh_attestation_verify). For more - information, see [our guide on how to use artifact attestations to - establish a build's - provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). tags: - users operationId: users/list-attestations @@ -2633,13 +2427,9 @@ paths: type: string x-multi-segment: true - name: predicate_type - description: >- - Optional filter for fetching attestations with a given predicate - type. - - This option accepts `provenance`, `sbom`, `release`, or freeform - text - + description: |- + Optional filter for fetching attestations with a given predicate type. + This option accepts `provenance`, `sbom`, `release`, or freeform text for custom predicate types. in: query required: false @@ -2671,12 +2461,9 @@ paths: type: object properties: {} additionalProperties: true - description: >- + description: |- The attestation's Sigstore Bundle. - - Refer to the [Sigstore Bundle - Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) - for more information. + Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. repository_id: type: integer bundle_url: @@ -2765,8 +2552,7 @@ paths: operationId: users/list-following-for-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/followers#list-the-people-a-user-follows + url: https://docs.github.com/rest/users/followers#list-the-people-a-user-follows parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/per-page' @@ -2801,8 +2587,7 @@ paths: operationId: users/check-following-for-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/followers#check-if-a-user-follows-another-user + url: https://docs.github.com/rest/users/followers#check-if-a-user-follows-another-user parameters: - $ref: '#/components/parameters/username' - name: target_user @@ -2859,29 +2644,22 @@ paths: /users/{username}/hovercard: get: summary: Get contextual information for a user - description: >- - Provides hovercard information. You can find out more about someone in - relation to their pull requests, issues, repositories, and - organizations. + description: |- + Provides hovercard information. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository, you would use a `subject_type` value of `repository` and a `subject_id` value of `1300192` (the ID of the `Spoon-Knife` repository). - OAuth app tokens and personal access tokens (classic) need the `repo` - scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. tags: - users operationId: users/get-context-for-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/users#get-contextual-information-for-a-user + url: https://docs.github.com/rest/users/users#get-contextual-information-for-a-user parameters: - $ref: '#/components/parameters/username' - name: subject_type - description: >- - Identifies which additional information you'd like to receive about - the person's hovercard. Can be `organization`, `repository`, - `issue`, `pull_request`. **Required** when using `subject_id`. + description: Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. in: query required: false schema: @@ -2892,9 +2670,7 @@ paths: - issue - pull_request - name: subject_id - description: >- - Uses the ID for the `subject_type` you specified. **Required** when - using `subject_type`. + description: Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. in: query required: false schema: @@ -2922,9 +2698,7 @@ paths: /users/{username}/keys: get: summary: List public keys for a user - description: >- - Lists the _verified_ public SSH keys for a user. This is accessible by - anyone. + description: Lists the _verified_ public SSH keys for a user. This is accessible by anyone. tags: - users operationId: users/list-public-keys-for-user @@ -2959,16 +2733,13 @@ paths: /users/{username}/social_accounts: get: summary: List social accounts for a user - description: >- - Lists social media accounts for a user. This endpoint is accessible by - anyone. + description: Lists social media accounts for a user. This endpoint is accessible by anyone. tags: - users operationId: users/list-social-accounts-for-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-a-user + url: https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-a-user parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/per-page' @@ -2997,16 +2768,13 @@ paths: /users/{username}/ssh_signing_keys: get: summary: List SSH signing keys for a user - description: >- - Lists the SSH signing keys for a user. This operation is accessible by - anyone. + description: Lists the SSH signing keys for a user. This operation is accessible by anyone. tags: - users operationId: users/list-ssh-signing-keys-for-user externalDocs: description: API method documentation - url: >- - https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-a-user + url: https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-a-user parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/per-page' @@ -3032,6 +2800,217 @@ paths: category: users subcategory: ssh-signing-keys x-stackQL-resource: ssh_signing_keys + /graphql?resource=contribution_calendar: + post: + operationId: graphql/users/contribution_calendar/list + summary: Contribution Calendar + description: A user's contribution calendar (the profile contribution graph), one row per week with the daily counts as a JSON array - expand with `json_each`. Defaults to the trailing year; pass `from` and `to` (ISO 8601 timestamps, at most one year apart) for another window. Backed by the GitHub GraphQL API (`user.contributionsCollection.contributionCalendar`). + x-stackQL-graphQL: + url: https://api.github.com/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.user.contributionsCollection.contributionCalendar.weeks[*] + cursor: + jsonPath: $.data.__no_cursor + query: | + query { + user(login: "{{ .username }}") { + contributionsCollection{{ if or .from .to }}({{ if .from }}from: "{{ .from }}" {{ end }}{{ if .to }}to: "{{ .to }}"{{ end }}){{ end }} { + contributionCalendar { + weeks { + first_day: firstDay + contribution_days: contributionDays { + date + weekday + contribution_count: contributionCount + color + } + } + } + } + } + } + x-stackql-protocol: graphql + externalDocs: + description: GitHub GraphQL API documentation + url: https://docs.github.com/graphql + parameters: + - name: username + in: query + required: true + schema: + type: string + description: The handle for the GitHub user account. + - name: from + in: query + required: false + schema: + type: string + format: date-time + description: Only contributions made at this time or later will be counted. ISO 8601, e.g. 2025-01-01T00:00:00Z. + - name: to + in: query + required: false + schema: + type: string + format: date-time + description: Only contributions made before and up to this time will be counted. ISO 8601. + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + user: + type: object + properties: + contributionsCollection: + type: object + properties: + contributionCalendar: + type: object + properties: + weeks: + type: array + items: + type: object + properties: + first_day: + type: string + format: date + description: The date of the first day (Sunday) of the week. + contribution_days: + type: array + description: 'Daily entries for the week: `date`, `weekday` (0 = Sunday), `contribution_count`, `color`.' + items: + type: object + properties: + date: + type: string + format: date + weekday: + type: integer + contribution_count: + type: integer + color: + type: string + /graphql?resource=sponsorships: + post: + operationId: graphql/users/sponsorships/list + summary: Sponsorships + description: GitHub Sponsors sponsorships where the user is the maintainer being sponsored. Backed by the GitHub GraphQL API (`user.sponsorshipsAsMaintainer`). Private sponsorships are only visible to the sponsored account. + x-stackQL-graphQL: + url: https://api.github.com/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.user.sponsorshipsAsMaintainer.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.user.sponsorshipsAsMaintainer.pageInfo.endCursor + terminateOnJsonPath: $.data.user.sponsorshipsAsMaintainer.pageInfo.hasNextPage + query: | + query { + user(login: "{{ .username }}") { + sponsorshipsAsMaintainer(first: 100, includePrivate: true{{ .cursor }}) { + pageInfo { endCursor hasNextPage } + nodes { + id + created_at: createdAt + is_one_time_payment: isOneTimePayment + is_active: isActive + privacy_level: privacyLevel + tier { + name + monthly_price_in_dollars: monthlyPriceInDollars + monthly_price_in_cents: monthlyPriceInCents + is_one_time: isOneTime + } + sponsor_entity: sponsorEntity { + ... on User { login name } + ... on Organization { login name } + } + } + } + } + } + x-stackql-protocol: graphql + externalDocs: + description: GitHub GraphQL API documentation + url: https://docs.github.com/graphql + parameters: + - name: username + in: query + required: true + schema: + type: string + description: The handle for the GitHub user account. + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + user: + type: object + properties: + sponsorshipsAsMaintainer: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: The GraphQL node ID of the sponsorship. + created_at: + type: string + format: date-time + is_one_time_payment: + type: boolean + is_active: + type: boolean + privacy_level: + type: string + description: PUBLIC or PRIVATE. + tier: + type: object + description: The sponsorship tier (`name`, `monthly_price_in_dollars`, `monthly_price_in_cents`, `is_one_time`). + properties: + name: + type: string + monthly_price_in_dollars: + type: integer + monthly_price_in_cents: + type: integer + is_one_time: + type: boolean + sponsor_entity: + type: object + description: The sponsoring user or organization (`login`, `name`). + properties: + login: + type: string + name: + type: string + pageInfo: + type: object + properties: + endCursor: + type: string + hasNextPage: + type: boolean components: schemas: private-user: @@ -3842,20 +3821,14 @@ components: parameters: per-page: name: per_page - description: >- - The number of results per page (max 100). For more information, see - "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query schema: type: integer default: 30 page: name: page - description: >- - The page number of the results to fetch. For more information, see - "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query schema: type: integer @@ -3904,24 +3877,14 @@ components: type: integer pagination-before: name: before - description: >- - A cursor, as given in the [Link - header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). - If specified, the query only searches for results before this cursor. - For more information, see "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query required: false schema: type: string pagination-after: name: after - description: >- - A cursor, as given in the [Link - header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). - If specified, the query only searches for results after this cursor. For - more information, see "[Using pagination in the REST - API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + description: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." in: query required: false schema: @@ -4160,10 +4123,7 @@ components: created_at: '2016-03-24T11:31:04-06:00' expires_at: '2016-03-24T11:31:04-07:00' revoked: false - raw_key: >- - "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG - v2\n\nmQENBFayYZ0BCAC4hScoJXXpyR+MXGcrBxElqw3FzCVvkViuyeko+Jp76QJhg8kr\nucRTxbnOoHfda/FmilEa/wxf9ch5/PSrrL26FxEoPHhJolp8fnIDLQeITn94NYdB\nZtnnEKslpPrG97qSUWIchvyqCPtvOb8+8fWvGx9K/ZWcEEdh1X8+WFR2jMENMeoX\nwxHWQoPnS7LpX/85/M7VUcJxvDVfv+eHsnQupmE5bGarKNih0oMe3LbdN3qA5PTz\nSCm6Iudar1VsQ+xTz08ymL7t4pnEtLguQ7EyatFHCjxNblv5RzxoL0tDgN3HqoDz\nc7TEA+q4RtDQl9amcvQ95emnXmZ974u7UkYdABEBAAG0HlNvbWUgVXNlciA8c29t\nZXVzZXJAZ21haWwuY29tPokBOAQTAQIAIgUCVrJhnQIbAwYLCQgHAwIGFQgCCQoL\nBBYCAwECHgECF4AACgkQMmLv8lug0nAViQgArWjI55+7p48URr2z9Jvak+yrBTx1\nzkufltQAnHTJkq+Kl9dySSmTnOop8o3rE4++IOpYV5Y36PkKf9EZMk4n1RQiDPKE\nAFtRVTkRaoWzOir9KQXJPfhKrl01j/QzY+utfiMvUoBJZ9ybq8Pa885SljW9lbaX\nIYw+hl8ZdJ2KStvGrEyfQvRyq3aN5c9TV//4BdGnwx7Qabq/U+G18lizG6f/yq15\ned7t0KELaCfeKPvytp4VE9/z/Ksah/h3+Qilx07/oG2Ae5kC1bEC9coD/ogPUhbv\nb2bsBIoY9E9YwsLoif2lU+o1t76zLgUktuNscRRUKobW028H1zuFS/XQhrkBDQRW\nsmGdAQgApnyyv3i144OLYy0O4UKQxd3e10Y3WpDwfnGIBefAI1m7RxnUxBag/DsU\n7gi9qLEC4VHSfq4eiNfr1LJOyCL2edTgCWFgBhVjbXjZe6YAOrAnhxwCErnN0Y7N\n6s8wVh9fObSOyf8ZE6G7JeKpcq9Q6gd/KxagfD48a1v+fyRHpyQc6J9pUEmtrDJ7\nBjmsd2VWzLBvNWdHyxDNtZweIaqIO9VUYYpr1mtTliNBOZLUelmgrt7HBRcJpWMA\nS8muVVbuP5MK0trLBq/JB8qUH3zRzB/PhMgzmkIfjEK1VYDWm4E8DYyTWEJcHqkb\neqFsNjrIlwPaA122BWC6gUOPwwH+oQARAQABiQEfBBgBAgAJBQJWsmGdAhsMAAoJ\nEDJi7/JboNJwAyAIALd4xcdmGbZD98gScJzqwzkOMcO8zFHqHNvJ42xIFvGny7c0\n1Rx7iyrdypOby5AxE+viQcjG4rpLZW/xKYBNGrCfDyQO7511I0v8x20EICMlMfD/\nNrWQCzesEPcUlKTP07d+sFyP8AyseOidbzY/92CpskTgdSBjY/ntLSaoknl/fjJE\nQM8OkPqU7IraO1Jzzdnm20d5PZL9+PIwIWdSTedU/vBMTJyNcoqvSfKf1wNC66XP\nhqfYgXJE564AdWZKA3C0IyCqiv+LHwxLnUHio1a4/r91C8KPzxs6tGxRDjXLd7ms\nuYFGWymiUGOE/giHlcxdYcHzwLnPDliMQOLiTkK5AQ0EVuxMygEIAOD+bW1cDTmE\nBxh5JECoqeHuwgl6DlLhnubWPkQ4ZeRzBRAsFcEJQlwlJjrzFDicL+lnm6Qq4tt0\n560TwHdf15/AKTZIZu7H25axvGNzgeaUkJEJdYAq9zTKWwX7wKyzBszi485nQg97\nMfAqwhMpDW0Qqf8+7Ug+WEmfBSGv9uL3aQC6WEeIsHfri0n0n8v4XgwhfShXguxO\nCsOztEsuW7WWKW9P4TngKKv4lCHdPlV6FwxeMzODBJvc2fkHVHnqc0PqszJ5xcF8\n6gZCpMM027SbpeYWCAD5zwJyYP9ntfO1p2HjnQ1dZaP9FeNcO7uIV1Lnd1eGCu6I\nsrVp5k1f3isAEQEAAYkCPgQYAQIACQUCVuxMygIbAgEpCRAyYu/yW6DScMBdIAQZ\nAQIABgUCVuxMygAKCRCKohN4dhq2b4tcCACHxmOHVXNpu47OvUGYQydLgMACUlXN\nlj+HfE0VReqShxdDmpasAY9IRpuMB2RsGK8GbNP+4SlOlAiPf5SMhS7nZNkNDgQQ\naZ3HFpgrFmFwmE10BKT4iQtoxELLM57z0qGOAfTsEjWFQa4sF+6IHAQR/ptkdkkI\nBUEXiMnAwVwBysLIJiLO8qdjB6qp52QkT074JVrwywT/P+DkMfC2k4r/AfEbf6eF\ndmPDuPk6KD87+hJZsSa5MaMUBQVvRO/mgEkhJRITVu58eWGaBOcQJ8gqurhCqM5P\nDfUA4TJ7wiqM6sS764vV1rOioTTXkszzhClQqET7hPVnVQjenYgv0EZHNyQH/1f1\n/CYqvV1vFjM9vJjMbxXsATCkZe6wvBVKD8vLsJAr8N+onKQz+4OPc3kmKq7aESu3\nCi/iuie5KKVwnuNhr9AzT61vEkKxwHcVFEvHB77F6ZAAInhRvjzmQbD2dlPLLQCC\nqDj71ODSSAPTEmUy6969bgD9PfWei7kNkBIx7s3eBv8yzytSc2EcuUgopqFazquw\nFs1+tqGHjBvQfTo6bqbJjp/9Ci2pvde3ElV2rAgUlb3lqXyXjRDqrXosh5GcRPQj\nK8Nhj1BNhnrCVskE4BP0LYbOHuzgm86uXwGCFsY+w2VOsSm16Jx5GHyG5S5WU3+D\nIts/HFYRLiFgDLmTlxo=\n=+OzK\n-----END - PGP PUBLIC KEY BLOCK-----" + raw_key: '"-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v2\n\nmQENBFayYZ0BCAC4hScoJXXpyR+MXGcrBxElqw3FzCVvkViuyeko+Jp76QJhg8kr\nucRTxbnOoHfda/FmilEa/wxf9ch5/PSrrL26FxEoPHhJolp8fnIDLQeITn94NYdB\nZtnnEKslpPrG97qSUWIchvyqCPtvOb8+8fWvGx9K/ZWcEEdh1X8+WFR2jMENMeoX\nwxHWQoPnS7LpX/85/M7VUcJxvDVfv+eHsnQupmE5bGarKNih0oMe3LbdN3qA5PTz\nSCm6Iudar1VsQ+xTz08ymL7t4pnEtLguQ7EyatFHCjxNblv5RzxoL0tDgN3HqoDz\nc7TEA+q4RtDQl9amcvQ95emnXmZ974u7UkYdABEBAAG0HlNvbWUgVXNlciA8c29t\nZXVzZXJAZ21haWwuY29tPokBOAQTAQIAIgUCVrJhnQIbAwYLCQgHAwIGFQgCCQoL\nBBYCAwECHgECF4AACgkQMmLv8lug0nAViQgArWjI55+7p48URr2z9Jvak+yrBTx1\nzkufltQAnHTJkq+Kl9dySSmTnOop8o3rE4++IOpYV5Y36PkKf9EZMk4n1RQiDPKE\nAFtRVTkRaoWzOir9KQXJPfhKrl01j/QzY+utfiMvUoBJZ9ybq8Pa885SljW9lbaX\nIYw+hl8ZdJ2KStvGrEyfQvRyq3aN5c9TV//4BdGnwx7Qabq/U+G18lizG6f/yq15\ned7t0KELaCfeKPvytp4VE9/z/Ksah/h3+Qilx07/oG2Ae5kC1bEC9coD/ogPUhbv\nb2bsBIoY9E9YwsLoif2lU+o1t76zLgUktuNscRRUKobW028H1zuFS/XQhrkBDQRW\nsmGdAQgApnyyv3i144OLYy0O4UKQxd3e10Y3WpDwfnGIBefAI1m7RxnUxBag/DsU\n7gi9qLEC4VHSfq4eiNfr1LJOyCL2edTgCWFgBhVjbXjZe6YAOrAnhxwCErnN0Y7N\n6s8wVh9fObSOyf8ZE6G7JeKpcq9Q6gd/KxagfD48a1v+fyRHpyQc6J9pUEmtrDJ7\nBjmsd2VWzLBvNWdHyxDNtZweIaqIO9VUYYpr1mtTliNBOZLUelmgrt7HBRcJpWMA\nS8muVVbuP5MK0trLBq/JB8qUH3zRzB/PhMgzmkIfjEK1VYDWm4E8DYyTWEJcHqkb\neqFsNjrIlwPaA122BWC6gUOPwwH+oQARAQABiQEfBBgBAgAJBQJWsmGdAhsMAAoJ\nEDJi7/JboNJwAyAIALd4xcdmGbZD98gScJzqwzkOMcO8zFHqHNvJ42xIFvGny7c0\n1Rx7iyrdypOby5AxE+viQcjG4rpLZW/xKYBNGrCfDyQO7511I0v8x20EICMlMfD/\nNrWQCzesEPcUlKTP07d+sFyP8AyseOidbzY/92CpskTgdSBjY/ntLSaoknl/fjJE\nQM8OkPqU7IraO1Jzzdnm20d5PZL9+PIwIWdSTedU/vBMTJyNcoqvSfKf1wNC66XP\nhqfYgXJE564AdWZKA3C0IyCqiv+LHwxLnUHio1a4/r91C8KPzxs6tGxRDjXLd7ms\nuYFGWymiUGOE/giHlcxdYcHzwLnPDliMQOLiTkK5AQ0EVuxMygEIAOD+bW1cDTmE\nBxh5JECoqeHuwgl6DlLhnubWPkQ4ZeRzBRAsFcEJQlwlJjrzFDicL+lnm6Qq4tt0\n560TwHdf15/AKTZIZu7H25axvGNzgeaUkJEJdYAq9zTKWwX7wKyzBszi485nQg97\nMfAqwhMpDW0Qqf8+7Ug+WEmfBSGv9uL3aQC6WEeIsHfri0n0n8v4XgwhfShXguxO\nCsOztEsuW7WWKW9P4TngKKv4lCHdPlV6FwxeMzODBJvc2fkHVHnqc0PqszJ5xcF8\n6gZCpMM027SbpeYWCAD5zwJyYP9ntfO1p2HjnQ1dZaP9FeNcO7uIV1Lnd1eGCu6I\nsrVp5k1f3isAEQEAAYkCPgQYAQIACQUCVuxMygIbAgEpCRAyYu/yW6DScMBdIAQZ\nAQIABgUCVuxMygAKCRCKohN4dhq2b4tcCACHxmOHVXNpu47OvUGYQydLgMACUlXN\nlj+HfE0VReqShxdDmpasAY9IRpuMB2RsGK8GbNP+4SlOlAiPf5SMhS7nZNkNDgQQ\naZ3HFpgrFmFwmE10BKT4iQtoxELLM57z0qGOAfTsEjWFQa4sF+6IHAQR/ptkdkkI\nBUEXiMnAwVwBysLIJiLO8qdjB6qp52QkT074JVrwywT/P+DkMfC2k4r/AfEbf6eF\ndmPDuPk6KD87+hJZsSa5MaMUBQVvRO/mgEkhJRITVu58eWGaBOcQJ8gqurhCqM5P\nDfUA4TJ7wiqM6sS764vV1rOioTTXkszzhClQqET7hPVnVQjenYgv0EZHNyQH/1f1\n/CYqvV1vFjM9vJjMbxXsATCkZe6wvBVKD8vLsJAr8N+onKQz+4OPc3kmKq7aESu3\nCi/iuie5KKVwnuNhr9AzT61vEkKxwHcVFEvHB77F6ZAAInhRvjzmQbD2dlPLLQCC\nqDj71ODSSAPTEmUy6969bgD9PfWei7kNkBIx7s3eBv8yzytSc2EcuUgopqFazquw\nFs1+tqGHjBvQfTo6bqbJjp/9Ci2pvde3ElV2rAgUlb3lqXyXjRDqrXosh5GcRPQj\nK8Nhj1BNhnrCVskE4BP0LYbOHuzgm86uXwGCFsY+w2VOsSm16Jx5GHyG5S5WU3+D\nIts/HFYRLiFgDLmTlxo=\n=+OzK\n-----END PGP PUBLIC KEY BLOCK-----"' key-items: value: - key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 @@ -4311,8 +4271,7 @@ components: version: 0.0.1 integratedTime: '1716998992' inclusionPromise: - signedEntryTimestamp: >- - MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL + signedEntryTimestamp: MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL inclusionProof: logIndex: '93750549' rootHash: KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60= @@ -4332,24 +4291,16 @@ components: - sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ= - 98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8= checkpoint: - envelope: >- - rekor.sigstore.dev - - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— - rekor.sigstore.dev - wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n - canonicalizedBody: >- - eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= + envelope: rekor.sigstore.dev - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— rekor.sigstore.dev wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n + canonicalizedBody: eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= timestampVerificationData: {} certificate: - rawBytes: >- - MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== + rawBytes: MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== dsseEnvelope: - payload: >- - eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 + payload: eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 payloadType: application/vnd.in-toto+json signatures: - - sig: >- - MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== + - sig: MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== repository_id: 1 - bundle: mediaType: application/vnd.dev.sigstore.bundle.v0.3+json @@ -4363,8 +4314,7 @@ components: version: 0.0.1 integratedTime: '1716998992' inclusionPromise: - signedEntryTimestamp: >- - MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL + signedEntryTimestamp: MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL inclusionProof: logIndex: '93750549' rootHash: KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60= @@ -4384,132 +4334,26 @@ components: - sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ= - 98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8= checkpoint: - envelope: >- - rekor.sigstore.dev - - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— - rekor.sigstore.dev - wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n - canonicalizedBody: >- - eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= + envelope: rekor.sigstore.dev - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— rekor.sigstore.dev wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n + canonicalizedBody: eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= timestampVerificationData: {} certificate: - rawBytes: >- - MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== + rawBytes: MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== dsseEnvelope: - payload: >- - eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 + payload: eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 payloadType: application/vnd.in-toto+json signatures: - - sig: >- - MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== + - sig: MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== repository_id: 1 list-attestations: value: attestations: - - bundle: - mediaType: application/vnd.dev.sigstore.bundle.v0.3+json - verificationMaterial: - tlogEntries: - - logIndex: '97913980' - logId: - keyId: wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0= - kindVersion: - kind: dsse - version: 0.0.1 - integratedTime: '1716998992' - inclusionPromise: - signedEntryTimestamp: >- - MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL - inclusionProof: - logIndex: '93750549' - rootHash: KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60= - treeSize: '93750551' - hashes: - - 8LI21mzwxnUSo0fuZeFsUrz2ujZ4QAL+oGeTG+5toZg= - - nCb369rcIytNhGwWoqBv+eV49X3ZKpo/HJGKm9V+dck= - - hnNQ9mUdSwYCfdV21pd87NucrdRRNZATowlaRR1hJ4A= - - MBhhK33vlD4Tq/JKgAaXUI4VjmosWKe6+7RNpQ2ncNM= - - XKWUE3stvGV1OHsIGiCGfn047Ok6uD4mFkh7BaicaEc= - - Tgve40VPFfuei+0nhupdGpfPPR+hPpZjxgTiDT8WNoY= - - wV+S/7tLtYGzkLaSb6UDqexNyhMvumHK/RpTNvEZuLU= - - uwaWufty6sn6XqO1Tb9M3Vz6sBKPu0HT36mStxJNd7s= - - jUfeMOXQP0XF1JAnCEETVbfRKMUwCzrVUzYi8vnDMVs= - - xQKjzJAwwdlQG/YUYBKPXxbCmhMYKo1wnv+6vDuKWhQ= - - cX3Agx+hP66t1ZLbX/yHbfjU46/3m/VAmWyG/fhxAVc= - - sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ= - - 98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8= - checkpoint: - envelope: >- - rekor.sigstore.dev - - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— - rekor.sigstore.dev - wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n - canonicalizedBody: >- - eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= - timestampVerificationData: {} - certificate: - rawBytes: >- - MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== - dsseEnvelope: - payload: >- - eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 - payloadType: application/vnd.in-toto+json - signatures: - - sig: >- - MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== - repository_id: 1 - - bundle: - mediaType: application/vnd.dev.sigstore.bundle.v0.3+json - verificationMaterial: - tlogEntries: - - logIndex: '97913980' - logId: - keyId: wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0= - kindVersion: - kind: dsse - version: 0.0.1 - integratedTime: '1716998992' - inclusionPromise: - signedEntryTimestamp: >- - MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL - inclusionProof: - logIndex: '93750549' - rootHash: KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60= - treeSize: '93750551' - hashes: - - 8LI21mzwxnUSo0fuZeFsUrz2ujZ4QAL+oGeTG+5toZg= - - nCb369rcIytNhGwWoqBv+eV49X3ZKpo/HJGKm9V+dck= - - hnNQ9mUdSwYCfdV21pd87NucrdRRNZATowlaRR1hJ4A= - - MBhhK33vlD4Tq/JKgAaXUI4VjmosWKe6+7RNpQ2ncNM= - - XKWUE3stvGV1OHsIGiCGfn047Ok6uD4mFkh7BaicaEc= - - Tgve40VPFfuei+0nhupdGpfPPR+hPpZjxgTiDT8WNoY= - - wV+S/7tLtYGzkLaSb6UDqexNyhMvumHK/RpTNvEZuLU= - - uwaWufty6sn6XqO1Tb9M3Vz6sBKPu0HT36mStxJNd7s= - - jUfeMOXQP0XF1JAnCEETVbfRKMUwCzrVUzYi8vnDMVs= - - xQKjzJAwwdlQG/YUYBKPXxbCmhMYKo1wnv+6vDuKWhQ= - - cX3Agx+hP66t1ZLbX/yHbfjU46/3m/VAmWyG/fhxAVc= - - sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ= - - 98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8= - checkpoint: - envelope: >- - rekor.sigstore.dev - - 2605736670972794746\n93750551\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\n\n— - rekor.sigstore.dev - wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\n - canonicalizedBody: >- - eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0= - timestampVerificationData: {} - certificate: - rawBytes: >- - MIIGjTCCBhSgAwIBAgIUWYxqKsrMS3Svl5Ij5ODfBgMJO/IwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQwNTI5MTYwOTUyWhcNMjQwNTI5MTYxOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdmghNNw3nU/KueQgspGHW7gh9XLD/WdI8YMB+0p0V4o1kHo6cM1sDJgrCgPQUzxpuYuo+xwPHyl/kDyf3ELjkaOCBTMwggUvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUqfCPvXKAvS4CdhQ2hbZWJSOEvVowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wWgYDVR0RAQH/BFAwToZMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwGAYKKwYBBAGDvzABBAQKRGVwbG95bWVudDAVBgorBgEEAYO/MAEFBAdjbGkvY2xpMB4GCisGAQQBg78wAQYEEHJlZnMvaGVhZHMvdHJ1bmswOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMFwGCisGAQQBg78wAQkETgxMaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWxAcmVmcy9oZWFkcy90cnVuazA4BgorBgEEAYO/MAEKBCoMKGZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMCoGCisGAQQBg78wAQwEHAwaaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkwOAYKKwYBBAGDvzABDQQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCAGCisGAQQBg78wAQ4EEgwQcmVmcy9oZWFkcy90cnVuazAZBgorBgEEAYO/MAEPBAsMCTIxMjYxMzA0OTAmBgorBgEEAYO/MAEQBBgMFmh0dHBzOi8vZ2l0aHViLmNvbS9jbGkwGAYKKwYBBAGDvzABEQQKDAg1OTcwNDcxMTBcBgorBgEEAYO/MAESBE4MTGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpLy5naXRodWIvd29ya2Zsb3dzL2RlcGxveW1lbnQueW1sQHJlZnMvaGVhZHMvdHJ1bmswOAYKKwYBBAGDvzABEwQqDChmYWVmMmRkZDgxYjA3MzY3NDg0MTNhN2M2NDZjZDBiZmMyNmMwMGEwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwTQYKKwYBBAGDvzABFQQ/DD1odHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9hY3Rpb25zL3J1bnMvOTI4OTA3NTc1Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGPxR1zbgAABAMASDBGAiEA+8glQIxOAhXBAOS6S+8ZqwJcdwwSr/TWihs3dLqVAvoCIQDby9h1IcuDEr+zsWiL8Pw5CSTtkltJ421sE81Vvu6ApTAKBggqhkjOPQQDAwNnADBkAjA+DH7P+hh4VHWfCWXtrKToBKubBkKpfWCYQxjXM2vV/nPqbZFYOVZObe6ANrgydoYCMFUMb3xzsFNQYvsEYOi2KnrvF0tgopmXGVoznZ+q/2AIDW9F1E7Y6Y061eouAYdHWw== - dsseEnvelope: - payload: >- - eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19 - payloadType: application/vnd.in-toto+json - signatures: - - sig: >- - MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ== - repository_id: 1 + - repository_id: 1 + bundle_url: https://tmastaging.blob.core.windows.net/attestations/1/2024/11/08/4.json.sn?se=2024-11-09T17%3A13%3A43Z&sig=jPSbbJnIEshUyCjBLU5Ykq0uuGc5UYxTZE1%2FhdBNMXk%3D&sp=r&spr=https%2Chttp&sr=b&st=2024-11-08T17%3A13%3A43Z&sv=2024-08-04 + initiator: user + - repository_id: 1 + bundle_url: https://tmastaging.blob.core.windows.net/attestations/1/2024/11/08/5.json.sn?se=2024-11-09T17%3A13%3A43Z&sig=jPSbbJnIEshUyCjBLU5Ykq0uuGc5UYxTZE1%2FhdBNMXk%3D&sp=r&spr=https%2Chttp&sr=b&st=2024-11-08T17%3A13%3A43Z&sv=2024-08-04 + initiator: user hovercard: value: contexts: @@ -4521,53 +4365,82 @@ components: key: ssh-rsa AAA... headers: link: - example: >- - ; rel="next", - ; rel="last" + example: ; rel="next", ; rel="last" schema: type: string x-stackQL-resources: - users: - id: github.users.users - name: users - title: Users + attestations: + id: github.users.attestations + name: attestations + title: Attestations methods: - get_authenticated: + delete_attestations_by_subject_digest: operation: - $ref: '#/paths/~1user/get' + $ref: '#/paths/~1users~1{username}~1attestations~1digest~1{subject_digest}/delete' response: mediaType: application/json openAPIDocKey: '200' - update_authenticated: - config: - requestBodyTranslate: - algorithm: naive + delete_attestations_by_id: operation: - $ref: '#/paths/~1user/patch' + $ref: '#/paths/~1users~1{username}~1attestations~1{attestation_id}/delete' response: mediaType: application/json openAPIDocKey: '200' - get_by_id: + list_attestations: operation: - $ref: '#/paths/~1user~1{account_id}/get' + $ref: '#/paths/~1users~1{username}~1attestations~1{subject_digest}/get' response: mediaType: application/json openAPIDocKey: '200' - get_by_username: + objectKey: $.attestations + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/attestations/methods/list_attestations' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/attestations/methods/delete_attestations_by_subject_digest' + - $ref: '#/components/x-stackQL-resources/attestations/methods/delete_attestations_by_id' + replace: [] + attestations_bulk_deletes: + id: github.users.attestations_bulk_deletes + name: attestations_bulk_deletes + title: Attestations Bulk Deletes + methods: + delete_attestations_bulk: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1users~1{username}/get' + $ref: '#/paths/~1users~1{username}~1attestations~1delete-request/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/users/methods/get_by_id' - - $ref: '#/components/x-stackQL-resources/users/methods/get_by_username' - - $ref: '#/components/x-stackQL-resources/users/methods/get_authenticated' + select: [] insert: [] - update: - - $ref: >- - #/components/x-stackQL-resources/users/methods/update_authenticated + update: [] + delete: [] + replace: [] + attestations_bulk_list: + id: github.users.attestations_bulk_list + name: attestations_bulk_list + title: Attestations Bulk List + methods: + list_attestations_bulk: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1users~1{username}~1attestations~1bulk-list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/attestations_bulk_list/methods/list_attestations_bulk' + update: [] delete: [] replace: [] blocking: @@ -4601,8 +4474,27 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/blocking/methods/list_blocked_by_authenticated_user + - $ref: '#/components/x-stackQL-resources/blocking/methods/list_blocked_by_authenticated_user' + insert: [] + update: [] + delete: [] + replace: [] + contribution_calendar: + id: github.users.contribution_calendar + name: contribution_calendar + title: Contribution Calendar + methods: + list: + operation: + $ref: '#/paths/~1graphql?resource=contribution_calendar/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.user.contributionsCollection.contributionCalendar.weeks + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/contribution_calendar/methods/list' insert: [] update: [] delete: [] @@ -4644,17 +4536,13 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/emails/methods/list_emails_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/emails/methods/list_emails_for_authenticated_user' insert: - - $ref: >- - #/components/x-stackQL-resources/emails/methods/add_email_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/emails/methods/add_email_for_authenticated_user' update: - - $ref: >- - #/components/x-stackQL-resources/emails/methods/set_primary_email_visibility_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/emails/methods/set_primary_email_visibility_for_authenticated_user' delete: - - $ref: >- - #/components/x-stackQL-resources/emails/methods/delete_email_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/emails/methods/delete_email_for_authenticated_user' replace: [] followers: id: github.users.followers @@ -4675,10 +4563,8 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/followers/methods/list_followers_for_user - - $ref: >- - #/components/x-stackQL-resources/followers/methods/list_followers_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/followers/methods/list_followers_for_user' + - $ref: '#/components/x-stackQL-resources/followers/methods/list_followers_for_authenticated_user' insert: [] update: [] delete: [] @@ -4726,10 +4612,8 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/following/methods/list_following_for_user - - $ref: >- - #/components/x-stackQL-resources/following/methods/list_followed_by_authenticated_user + - $ref: '#/components/x-stackQL-resources/following/methods/list_following_for_user' + - $ref: '#/components/x-stackQL-resources/following/methods/list_followed_by_authenticated_user' insert: [] update: [] delete: [] @@ -4774,19 +4658,33 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/gpg_keys/methods/get_gpg_key_for_authenticated_user - - $ref: >- - #/components/x-stackQL-resources/gpg_keys/methods/list_gpg_keys_for_user - - $ref: >- - #/components/x-stackQL-resources/gpg_keys/methods/list_gpg_keys_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/gpg_keys/methods/get_gpg_key_for_authenticated_user' + - $ref: '#/components/x-stackQL-resources/gpg_keys/methods/list_gpg_keys_for_user' + - $ref: '#/components/x-stackQL-resources/gpg_keys/methods/list_gpg_keys_for_authenticated_user' insert: - - $ref: >- - #/components/x-stackQL-resources/gpg_keys/methods/create_gpg_key_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/gpg_keys/methods/create_gpg_key_for_authenticated_user' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/gpg_keys/methods/delete_gpg_key_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/gpg_keys/methods/delete_gpg_key_for_authenticated_user' + replace: [] + hovercard: + id: github.users.hovercard + name: hovercard + title: Hovercard + methods: + get_context_for_user: + operation: + $ref: '#/paths/~1users~1{username}~1hovercard/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.contexts + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/hovercard/methods/get_context_for_user' + insert: [] + update: [] + delete: [] replace: [] keys: id: github.users.keys @@ -4828,19 +4726,14 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/keys/methods/get_public_ssh_key_for_authenticated_user - - $ref: >- - #/components/x-stackQL-resources/keys/methods/list_public_keys_for_user - - $ref: >- - #/components/x-stackQL-resources/keys/methods/list_public_ssh_keys_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/keys/methods/get_public_ssh_key_for_authenticated_user' + - $ref: '#/components/x-stackQL-resources/keys/methods/list_public_keys_for_user' + - $ref: '#/components/x-stackQL-resources/keys/methods/list_public_ssh_keys_for_authenticated_user' insert: - - $ref: >- - #/components/x-stackQL-resources/keys/methods/create_public_ssh_key_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/keys/methods/create_public_ssh_key_for_authenticated_user' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/keys/methods/delete_public_ssh_key_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/keys/methods/delete_public_ssh_key_for_authenticated_user' replace: [] public_emails: id: github.users.public_emails @@ -4855,8 +4748,25 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/public_emails/methods/list_public_emails_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/public_emails/methods/list_public_emails_for_authenticated_user' + insert: [] + update: [] + delete: [] + replace: [] + public_users: + id: github.users.public_users + name: public_users + title: Public Users + methods: + list: + operation: + $ref: '#/paths/~1users/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/public_users/methods/list' insert: [] update: [] delete: [] @@ -4895,17 +4805,33 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/social_accounts/methods/list_social_accounts_for_user - - $ref: >- - #/components/x-stackQL-resources/social_accounts/methods/list_social_accounts_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/social_accounts/methods/list_social_accounts_for_user' + - $ref: '#/components/x-stackQL-resources/social_accounts/methods/list_social_accounts_for_authenticated_user' insert: - - $ref: >- - #/components/x-stackQL-resources/social_accounts/methods/add_social_account_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/social_accounts/methods/add_social_account_for_authenticated_user' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/social_accounts/methods/delete_social_account_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/social_accounts/methods/delete_social_account_for_authenticated_user' + replace: [] + sponsorships: + id: github.users.sponsorships + name: sponsorships + title: Sponsorships + methods: + list: + operation: + $ref: '#/paths/~1graphql?resource=sponsorships/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.user.sponsorshipsAsMaintainer.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/sponsorships/methods/list' + insert: [] + update: [] + delete: [] replace: [] ssh_signing_keys: id: github.users.ssh_signing_keys @@ -4947,136 +4873,64 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/ssh_signing_keys/methods/get_ssh_signing_key_for_authenticated_user - - $ref: >- - #/components/x-stackQL-resources/ssh_signing_keys/methods/list_ssh_signing_keys_for_user - - $ref: >- - #/components/x-stackQL-resources/ssh_signing_keys/methods/list_ssh_signing_keys_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/ssh_signing_keys/methods/get_ssh_signing_key_for_authenticated_user' + - $ref: '#/components/x-stackQL-resources/ssh_signing_keys/methods/list_ssh_signing_keys_for_user' + - $ref: '#/components/x-stackQL-resources/ssh_signing_keys/methods/list_ssh_signing_keys_for_authenticated_user' insert: - - $ref: >- - #/components/x-stackQL-resources/ssh_signing_keys/methods/create_ssh_signing_key_for_authenticated_user + - $ref: '#/components/x-stackQL-resources/ssh_signing_keys/methods/create_ssh_signing_key_for_authenticated_user' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/ssh_signing_keys/methods/delete_ssh_signing_key_for_authenticated_user - replace: [] - public_users: - id: github.users.public_users - name: public_users - title: Public Users - methods: - list: - operation: - $ref: '#/paths/~1users/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/public_users/methods/list' - insert: [] - update: [] - delete: [] + - $ref: '#/components/x-stackQL-resources/ssh_signing_keys/methods/delete_ssh_signing_key_for_authenticated_user' replace: [] - attestations_bulk_list: - id: github.users.attestations_bulk_list - name: attestations_bulk_list - title: Attestations Bulk List + users: + id: github.users.users + name: users + title: Users methods: - list_attestations_bulk: - config: - requestBodyTranslate: - algorithm: naive + get_authenticated: operation: - $ref: '#/paths/~1users~1{username}~1attestations~1bulk-list/post' + $ref: '#/paths/~1user/get' response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: - - $ref: >- - #/components/x-stackQL-resources/attestations_bulk_list/methods/list_attestations_bulk - update: [] - delete: [] - replace: [] - attestations_bulk_deletes: - id: github.users.attestations_bulk_deletes - name: attestations_bulk_deletes - title: Attestations Bulk Deletes - methods: - delete_attestations_bulk: + update_authenticated: config: requestBodyTranslate: algorithm: naive operation: - $ref: '#/paths/~1users~1{username}~1attestations~1delete-request/post' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] - replace: [] - attestations: - id: github.users.attestations - name: attestations - title: Attestations - methods: - delete_attestations_by_subject_digest: - operation: - $ref: >- - #/paths/~1users~1{username}~1attestations~1digest~1{subject_digest}/delete - response: - mediaType: application/json - openAPIDocKey: '200' - delete_attestations_by_id: - operation: - $ref: '#/paths/~1users~1{username}~1attestations~1{attestation_id}/delete' + $ref: '#/paths/~1user/patch' response: mediaType: application/json openAPIDocKey: '200' - list_attestations: + get_by_id: operation: - $ref: '#/paths/~1users~1{username}~1attestations~1{subject_digest}/get' + $ref: '#/paths/~1user~1{account_id}/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.attestations - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/attestations/methods/list_attestations - insert: [] - update: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/attestations/methods/delete_attestations_by_subject_digest - - $ref: >- - #/components/x-stackQL-resources/attestations/methods/delete_attestations_by_id - replace: [] - hovercard: - id: github.users.hovercard - name: hovercard - title: Hovercard - methods: - get_context_for_user: + get_by_username: operation: - $ref: '#/paths/~1users~1{username}~1hovercard/get' + $ref: '#/paths/~1users~1{username}/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.contexts sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/hovercard/methods/get_context_for_user + - $ref: '#/components/x-stackQL-resources/users/methods/get_by_id' + - $ref: '#/components/x-stackQL-resources/users/methods/get_by_username' + - $ref: '#/components/x-stackQL-resources/users/methods/get_authenticated' insert: [] - update: [] + update: + - $ref: '#/components/x-stackQL-resources/users/methods/update_authenticated' delete: [] replace: [] servers: - url: https://api.github.com +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header