diff --git a/assets/images/help/copilot/eclipse-advanced-code-completion-menu.png b/assets/images/help/copilot/eclipse-advanced-code-completion-menu.png
new file mode 100644
index 000000000000..c7d65c1fb4be
Binary files /dev/null and b/assets/images/help/copilot/eclipse-advanced-code-completion-menu.png differ
diff --git a/assets/images/help/copilot/xcode-advanced-code-completion-menu.png b/assets/images/help/copilot/xcode-advanced-code-completion-menu.png
new file mode 100644
index 000000000000..0cb58572028d
Binary files /dev/null and b/assets/images/help/copilot/xcode-advanced-code-completion-menu.png differ
diff --git a/content/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale.md b/content/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale.md
index 68f9dcd188e3..adab203f4061 100644
--- a/content/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale.md
+++ b/content/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale.md
@@ -72,6 +72,14 @@ If your organization uses private registries, providing {% data variables.produc
{% endif %}
+{% ifversion fpt or ghec %}
+
+## About integrating production context
+
+If your organization uses {% data variables.product.prodname_microsoft_defender %}, JFrog Artifactory, or CI/CD to promote artifacts to production, you can integrate this data into {% data variables.product.github %}. This production context helps you prioritize {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_dependabot %} alerts. For more information, see [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code).
+
+{% endif %}
+
## Next steps
{% ifversion security-configurations-cloud %}
diff --git a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/about-your-exposure-to-vulnerable-dependencies.md b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/about-your-exposure-to-vulnerable-dependencies.md
index d08e165cf282..de126a753e04 100644
--- a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/about-your-exposure-to-vulnerable-dependencies.md
+++ b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/about-your-exposure-to-vulnerable-dependencies.md
@@ -1,11 +1,12 @@
---
-title: About your exposure to vulnerable dependencies
-shortTitle: Dependency vulnerability exposure
-intro: 'Understanding your organization’s exposure to vulnerable dependencies is essential for identifying and prioritizing security risks. Leveraging {% data variables.product.prodname_dependabot %} metrics on {% data variables.product.github %} enables you to efficiently assess, prioritize, and remediate vulnerabilities, reducing the likelihood of security breaches.'
+title: About exposure to vulnerabilities in your code and in dependencies
+shortTitle: Vulnerability exposure
+intro: 'Understanding your organization’s exposure to vulnerabilities in first-party code and in all dependencies is essential for enabling you to efficiently assess, prioritize, and remediate vulnerabilities, reducing the likelihood of security breaches.'
allowTitleToDifferFromFilename: true
product: '{% data reusables.gated-features.ghas-billing %}'
versions:
feature: dependabot-metrics
+contentType: concepts
topics:
- Code Security
- Secret Protection
@@ -15,29 +16,33 @@ redirect_from:
- /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilites/about-your-exposure-to-vulnerable-dependencies
---
-## About exposure to vulnerable dependencies
+## About exposure to vulnerable code
-Assessing your exposure to vulnerable dependencies is crucial if you want to prevent:
+Your organization has exposure to vulnerabilities in both the code you write and maintain, and in the open-source or third-party dependencies your code uses. Assessing your exposure to vulnerable dependencies is crucial if you want to prevent:
-* **Supply chain compromise**. Attackers can exploit vulnerabilities in open source or third-party dependencies to inject malicious code, elevate privileges, or gain unauthorized access to your systems. Compromised dependencies can serve as indirect entry points for malicious actors, leading to wide-reaching security incidents.
+* **Unplanned downtime and operational disruption**. Exploitation of vulnerabilities can result in application outages, degraded service quality, or cascading failures in critical systems, disrupting your business operations.
+
+* **Increased remediation costs**. The longer vulnerable code remains unaddressed, the more difficult and expensive it becomes to fix, especially if the code is deeply integrated or if incidents occur. Early detection and remediation reduce the risk of costly incident response, emergency patching, and reputational harm.
-* **Widespread propagation of risk**. Vulnerable dependencies are often reused across multiple applications and services, meaning a single flaw can propagate throughout your organization, compounding the risk and impact of exploitation.
+* **Widespread propagation of risk**. Vulnerable modules and dependencies are often reused across multiple applications and services, meaning a single flaw can propagate throughout your organization, compounding the risk and impact of exploitation.
-* **Unplanned downtime and operational disruption**. Exploitation of dependency vulnerabilities can result in application outages, degraded service quality, or cascading failures in critical systems, disrupting your business operations.
+* **Supply chain compromise**. Attackers can exploit vulnerabilities in open source or third-party dependencies to inject malicious code, elevate privileges, or gain unauthorized access to your systems. Compromised dependencies can serve as indirect entry points for malicious actors, leading to wide-reaching security incidents.
* **Regulatory and licensing issues**. Many regulations and industry standards require organizations to proactively address known vulnerabilities in their software supply chain. Failing to remediate vulnerable dependencies can result in non-compliance, audits, legal penalties, or breaches of open source license obligations.
-* **Increased remediation costs**. The longer vulnerable dependencies remain unaddressed, the more difficult and expensive they become to fix, especially if they are deeply integrated or if incidents occur. Early detection and remediation reduce the risk of costly incident response, emergency patching, and reputational harm.
+Regularly assessing your exposure to vulnerabilities is good practice to help identify risks early, implement effective remediation strategies, and maintain resilient, trustworthy software.
+
+## Ways to monitor your repositories for vulnerable code
-Regularly assessing your exposure to dependency vulnerabilities is good practice to help identify risks early, implement effective remediation strategies, and maintain resilient, trustworthy software.
+* **{% data variables.product.prodname_code_scanning_caps %}** automatically monitors your project's code for vulnerabilities. When it detects a security issue in a pull request, it creates an alert with an autofix suggestion to resolve the vulnerability. This lowers the barrier to resolution and helps ensure your project remains secure. See [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning).
-{% data variables.product.prodname_dependabot %} automatically monitors your project’s dependencies for vulnerabilities and outdated packages. When it detects a security issue or a new version, it creates pull requests to update the affected dependencies, helping you quickly address security risks and keep your software up to date. This reduces manual effort and helps ensure your project remains secure. See [AUTOTITLE](/code-security/getting-started/dependabot-quickstart-guide).
+* **{% data variables.product.prodname_dependabot %}** automatically monitors your project’s dependencies for vulnerabilities and outdated packages. When it detects a security issue or a new version, it creates pull requests to update the affected dependencies, helping you quickly address security risks and keep your software up to date. This reduces manual effort and helps ensure your project remains secure. See [AUTOTITLE](/code-security/getting-started/dependabot-quickstart-guide).
{% data variables.product.github %} provides a comprehensive set of {% data variables.product.prodname_dependabot %} metrics to help you monitor, prioritize, and remediate these risks across all repositories in your organization. See [AUTOTITLE](/code-security/security-overview/viewing-metrics-for-dependabot-alerts).
## Key tasks for AppSec managers
-### 1. Monitor vulnerability metrics
+### 1. Monitor vulnerability metrics for dependencies
Use the metrics overview for {% data variables.product.prodname_dependabot %} to gain visibility into the current state of your organization's dependency vulnerabilities. See [AUTOTITLE](/code-security/security-overview/viewing-metrics-for-dependabot-alerts).
@@ -45,27 +50,38 @@ Use the metrics overview for {% data variables.product.prodname_dependabot %} to
* **Repository-level breakdown:** Identify which repositories have the highest number of critical or exploitable vulnerabilities.
* **Remediation tracking:** Track the number and percentage of alerts fixed over time to measure the effectiveness of your vulnerability management program.
-### 2. Prioritize remediation efforts
+### 2. Monitor introduction of new {% data variables.product.prodname_code_scanning %} alerts
+
+Use the alert view for {% data variables.product.prodname_code_scanning %} to gain visibility into remediation activity in your organization's pull requests. See [AUTOTITLE](/code-security/security-overview/viewing-metrics-for-pull-request-alerts).
+
+* **Alerts in pull requests:** Review how many alerts were detected and merged into the default branch without resolution.
+* **Most prevalent rules:** Identify rules that are frequently triggered where developer education is needed.
+* **Repository-level breakdown:** Identify which repositories have the highest number of alerts detected in pull requests but still merged into the default branch.
+* **Remediation tracking:** Track the number and percentage of alerts fixed over time to measure the effectiveness of your vulnerability management program.
+
+### 3. Prioritize remediation efforts
Focus on vulnerabilities that present the highest risk to your organization.
-* Prioritize alerts with high or critical severity, high EPSS scores, and available patches.
-* Use the repository breakdown to direct remediation efforts to the most at-risk projects.
-* Encourage development teams to address vulnerabilities that are actually used in deployed artifacts through repository custom properties.
+* Prioritize alerts with high or critical severity. For {% data variables.product.prodname_dependabot_alerts %}, also prioritize high EPSS scores, and available patches.
+* Use the repository breakdown information to direct remediation efforts to the most at-risk projects.{% ifversion fpt or ghec %}
+* Encourage development teams to address vulnerabilities that are actually used in deployed artifacts through repository custom properties and using production context. See [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code).{% endif %}
+* Create security campaigns to encourage and track the remediation of high priority {% data variables.product.prodname_code_scanning %} alerts. See [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-managing-security-campaigns).
-### 3. Communicate risk and progress
+### 4. Communicate risk and progress
-* Use the {% data variables.product.prodname_dependabot %} metrics page to communicate key risk factors and remediation progress to stakeholders.
+* Use the metrics pages to communicate key risk factors and remediation progress to stakeholders.
* Provide regular updates on trends, such as the reduction in open critical vulnerabilities or improvements in remediation rates.
* Highlight repositories or teams that require additional support or attention.
-### 4. Establish and enforce policies
+### 5. Establish and enforce policies
-* Set organization-wide policies to require dependency review and {% data variables.product.prodname_dependabot_alerts %} on all repositories. See [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review) and [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).
-* Ensure that new repositories are automatically enrolled in dependency monitoring.
+* Set an organization-wide security configuration that enables {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} on all existing and new repositories. See [AUTOTITLE](/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale).
+* Enable dependency review to comment on pull requests in all repositories.
+* Create an organization-wide ruleset to protect the default branch and require critical {% data variables.product.prodname_code_scanning %} alerts to be fixed before a pull request can be merged. See [AUTOTITLE](/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization).
* Work with repository administrators to enable automated security updates where possible. See [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates).
-### 5. Assess the impact of {% data variables.product.prodname_dependabot_alerts %}
+### 6. Assess the impact of alerts
-* Regularly review how {% data variables.product.prodname_dependabot_alerts %} are helping to block security vulnerabilities from entering your codebase.
+* Regularly review how {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} alerts are helping to block security vulnerabilities from entering your codebase.
* Use historical data to demonstrate the value of proactive dependency management.
diff --git a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code.md b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code.md
new file mode 100644
index 000000000000..c4e21a5ee2fc
--- /dev/null
+++ b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code.md
@@ -0,0 +1,101 @@
+---
+title: Prioritizing Dependabot and code scanning alerts using production context
+shortTitle: Alerts in production code
+intro: 'Focus remediation on real risk by targeting {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} alerts in artifacts deployed to production, using metadata from external registries like JFrog Artifactory, your own CI/CD workflows, or from {% data variables.product.prodname_microsoft_defender %}.'
+versions:
+ fpt: '*'
+ ghec: '*'
+contentType: tutorials
+topics:
+ - Code Security
+ - Dependabot
+ - Code scanning
+ - Organizations
+ - Security
+redirect_from:
+ - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context
+---
+
+{% data reusables.security.production-context-mdc-preview %}
+
+## Prioritizing alerts using production context
+
+Application Security (AppSec) managers are often overwhelmed by a high volume of alerts, many of which may not represent real risk because the affected code never makes it to production. By associating production context with your alerts, you can filter and prioritize vulnerabilities that impact artifacts actually approved for production environments. This enables your team to focus remediation efforts on the vulnerabilities that matter most, reducing noise and improving your security posture.
+
+## Associating production context with alerts
+
+{% data variables.product.github %} enables you to provide production context for {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} alerts using the REST API:
+
+* [Storage Record](/rest/orgs/artifact-metadata#create-artifact-metadata-storage-record)
+* [Deployment Record](/rest/orgs/artifact-metadata#create-an-artifact-deployment-record)
+
+### Storage Record API
+
+This API allows package registries or GitOps workflows to send artifact lifecycle data to {% data variables.product.github %}. You should configure your system to call the endpoint whenever an artifact is promoted to a production-approved package repository.
+
+{% data variables.product.github %} processes this metadata and uses it to power new alert filters, such as `artifact-registry-url` and `artifact-registry`. For more information, see [Create artifact metadata storage record](/rest/orgs/artifact-metadata#create-artifact-metadata-storage-record) in the REST API documentation.
+
+> [!TIP]
+> If you use JFrog Artifactory, you do not need to perform any custom integration. Artifactory natively integrates with the Storage Record API. You only need to enable the integration in your Artifactory settings, and Artifactory will automatically emit production promotion events to {% data variables.product.github %}. For setup instructions, see [JFrog and GitHub Integration: JFrog for {% data variables.product.github %} {% data variables.product.prodname_dependabot %}](https://jfrog.com/help/r/jfrog-and-github-integration-guide/jfrog-for-github-dependabot) in the JFrog documentation.
+
+### Deployment Record API
+
+This API allows systems to send deployment data for a specific artifact to {% data variables.product.github %}, such as its name, digest, environments, cluster, and deployment.
+
+{% data variables.product.github %} processes this metadata and uses it to power new alert filters, such as `has:deployment` and `runtime-risk`. For more information, see [Create an artifact deployment record](/rest/orgs/artifact-metadata#create-an-artifact-deployment-record) in the REST API documentation.
+
+> [!TIP]
+> If you use {% data variables.product.prodname_mdc_definition %} and connect your instance to a {% data variables.product.github %} organization, {% data variables.product.prodname_mdc %} will automatically send deployment and runtime data to {% data variables.product.github %}. For more information, see [Quick Start: Connect your {% data variables.product.github %} Environment to {% data variables.product.prodname_microsoft_defender %}](https://learn.microsoft.com/en-us/azure/defender-for-cloud/quickstart-onboard-github) in the documentation for {% data variables.product.prodname_mdc %}.
+
+## Enable and use production context for alert prioritization
+
+### 1. Detect and report production artifact promotions and deployments
+
+In your CI/CD or GitOps workflow, whenever an artifact is promoted to a production-approved package repository, call the Storage Record API to send the artifact's metadata to {% data variables.product.github %}. Whenever an artifact is deployed to production, call the Deployment Record API to send additional metadata for the artifact to {% data variables.product.github %}.
+
+### 2. Use production context filters
+
+Production context filters are made available in alert views and security campaign views under the **Security** tab.
+
+* **{% data variables.product.prodname_dependabot_alerts %} view**: See [Viewing {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#viewing-dependabot-alerts).
+* **{% data variables.product.prodname_code_scanning_caps %} alerts view**: See [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository).
+* **Security campaign view**: See [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-managing-security-campaigns).
+
+Once the alert list is displayed, use the `artifact-registry-url` or `artifact-registry` filters in organization views to focus on vulnerabilities affecting artifacts present in production.
+
+* For your own artifact repository that is hosted at `my-registry.example.com`, you would use:
+
+ ```text copy
+ artifact-registry-url:my-registry.example.com
+ ```
+
+* If you use JFrog Artifactory, you can use `artifact-registry` with no further setup in {% data variables.product.github %}:
+
+ ```text copy
+ artifact-registry:jfrog-artifactory
+ ```
+
+You can also use the `has:deployment` and `runtime-risk` filters to focus on vulnerabilites that deployment metadata shows as in deployment or at risk of runtime vulnerabilities. This data is populated automatically if you have connected {% data variables.product.prodname_mdc %}. For example:
+
+* To focus on alerts in deployed code that is exposed to the internet, you would use:
+
+ ```text copy
+ has:deployment AND runtime-risk:internet-exposed
+ ```
+
+You can also combine these production context filters with other filters, such as EPSS:
+
+```text copy
+epss > 0.5 AND artifact-registry-url:my-registry.example.com
+```
+
+### 3. Remediate alerts in production code
+
+Now you have identified the alerts that put your production code at risk of exploitation, you need to remediate them as a matter of urgency. Where possible use automation to lower the barrier to remediation.
+
+* **{% data variables.product.prodname_dependabot_alerts %}:** Use automated pull requests for security fixes. See [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates).
+* **{% data variables.product.prodname_code_scanning_caps %} alerts:** Create targeted campaigns with {% data variables.copilot.copilot_autofix_short %}. See [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-managing-security-campaigns).
+
+## Further reading
+
+* [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics)
diff --git a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/index.md b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/index.md
index 154742c0fb69..a43170bef68a 100644
--- a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/index.md
+++ b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/index.md
@@ -1,18 +1,19 @@
---
title: 'Understanding your organization''s exposure to vulnerabilities'
shortTitle: Exposure to vulnerabilities
-intro: 'Understanding your organization''s exposure to vulnerable dependencies is crucial for identifying and prioritizing security risks. This awareness allows you to prioritize remediation efforts, reduce the likelihood of security breaches, protect sensitive data, and maintain the overall integrity and reputation of the organization.'
+intro: 'Understanding your organization''s exposure to vulnerable code and dependencies is crucial for identifying and prioritizing security risks. This awareness allows you to prioritize remediation efforts, reduce the likelihood of security breaches, protect sensitive data, and maintain the overall integrity and reputation of the organization.'
versions:
feature: dependabot-metrics
topics:
- Code Security
- Dependabot
+ - Code scanning
- Organizations
- Security
children:
- /about-your-exposure-to-vulnerable-dependencies
- /prioritizing-dependabot-alerts-using-metrics
- - /prioritizing-dependabot-alerts-using-production-context
+ - /alerts-in-production-code
redirect_from:
- /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilites
---
diff --git a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics.md b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics.md
index 5a7b24c3ccdb..d1c58040742d 100644
--- a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics.md
+++ b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics.md
@@ -7,9 +7,11 @@ product: '{% data reusables.gated-features.security-overview-fpt-cs-only %}'
permissions: '{% data reusables.permissions.security-org-enable %}'
versions:
feature: dependabot-metrics
+contentType: tutorials
topics:
- Code Security
- Dependabot
+ - Code scanning
- Organizations
- Security
redirect_from:
diff --git a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context.md b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context.md
deleted file mode 100644
index 1acda852c6a5..000000000000
--- a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-title: Prioritizing Dependabot alerts using production context
-shortTitle: Dependabot production context
-intro: 'You can focus remediation on real risk by prioritizing {% data variables.product.prodname_dependabot_alerts %} for artifacts actually present in production, using metadata from external registries like JFrog Artifactory or your own CI/CD workflows.'
-product: '{% data reusables.gated-features.dependabot-alerts %}'
-versions:
- fpt: '*'
- ghec: '*'
-type: how_to
-topics:
- - Code Security
- - Dependabot
- - Organizations
- - Security
----
-
-> [!NOTE] Production context is in {% data variables.release-phases.public_preview %} and subject to change.
-
-## Prioritizing {% data variables.product.prodname_dependabot_alerts %} using production context
-
-Application Security (AppSec) managers are often overwhelmed by a high volume of {% data variables.product.prodname_dependabot_alerts %}, many of which may not represent real risk because the affected code never makes it to production. By associating production context with your alerts, you can filter and prioritize vulnerabilities that impact artifacts actually approved for production environments. This enables your team to focus remediation efforts on the vulnerabilities that matter most, reducing noise and improving your security posture.
-
-## Associating production context with {% data variables.product.prodname_dependabot_alerts %}
-
-{% data variables.product.github %} enables production context for your {% data variables.product.prodname_dependabot_alerts %} by providing a Storage Record API. This API allows package registries or GitOps workflows to send artifact lifecycle data to {% data variables.product.github %}. The API should be called whenever an artifact is promoted to a production-approved package repository.
-
-{% data variables.product.github %} processes this metadata and uses it to power new alert filters, such as `artifact-registry-url` and `artifact-registry`. For more information, see [Create artifact metadata storage record](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-metadata-storage-record) in the REST API documentation.
-
-## Steps to prioritize alerts
-
-Follow these steps to enable and use production context for alert prioritization:
-
-### Step 1: Detect and report production artifact promotions
-
-In your CI/CD or GitOps workflow, whenever an artifact is promoted to a production-approved package repository, call the Storage Record API to to send the artifact's metadata to {% data variables.product.github %}. This includes information such as the artifact's registry, repository, and version. See [AUTOTITLE](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-metadata-storage-record).
-
-If you use JFrog Artifactory, you do not need to perform any custom integration. Artifactory natively integrates with the Storage Record API. You only need to enable the integration in your Artifactory settings, and Artifactory will automatically emit production promotion events to {% data variables.product.github %}.
-
-The `artifact-registry:jfrog-artifactory` filter will work out of the box with no further setup in {% data variables.product.github %}. For setup instructions, see [JFrog and GitHub Integration: JFrog for [{% data variables.product.github %} {% data variables.product.prodname_dependabot %}]](https://jfrog.com/help/r/jfrog-and-github-integration-guide/jfrog-for-github-dependabot) in the JFrog documentation.
-
-### Step 2: Use production context filters
-
-{% data reusables.dependabot.where-to-view-dependabot-alerts %}. For information about accessing this tab, see [Viewing {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#viewing-dependabot-alerts).
-
-Once the alert list is displayed, use the `artifact-registry-url` or `artifact-registry` filters to focus on vulnerabilities affecting artifacts present in production. For example:
-
-```text
-artifact-registry-url:my-registry.example.com
-artifact-registry:jfrog-artifactory
-```
-
-You can also combine these with other filters, such as EPSS.
-
-```text
-epss > 0.5 AND artifact-registry-url:my-registry.example.com
-```
-
-## Further reading
-
-* [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics)
diff --git a/content/code-security/security-overview/filtering-alerts-in-security-overview.md b/content/code-security/security-overview/filtering-alerts-in-security-overview.md
index d8d96eab36da..6fa7d4de4554 100644
--- a/content/code-security/security-overview/filtering-alerts-in-security-overview.md
+++ b/content/code-security/security-overview/filtering-alerts-in-security-overview.md
@@ -158,6 +158,22 @@ You can also filter the "Overview" view by properties of alerts.
|`severity`| Display data only for alerts of a specific severity (`critical`, `high`, `medium`, or `low`).|
|`third-party.rule`| Display data only for {% data variables.product.prodname_code_scanning %} identified by a specific rule for a tool developed by a third party. For example, `third-party.rule:CVE-2021-26291-maven-artifact` shows only results for the `CVE-2021-26291-maven-artifact` rule of a third-party {% data variables.product.prodname_code_scanning %} tool.|
+{% ifversion fpt or ghec %}
+
+## Production context filters
+
+{% data reusables.security.production-context-mdc-preview %}
+
+You can filter views of {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} alerts by production context. See [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code).
+
+| Qualifier | Description |
+| -------- | -------- |
+| `artifact-registry` or `artifact-registry-url` | Defines the name or location of the artifact registry used by the repository. For example: `artifact-registry:jfrog-artifactory` or `artifact-registry-url:my-registry.example.com`.
Uses metadata from the [Storage Record API](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-metadata-storage-record). |
+| `has: deployment` | Limits alerts to those reported as in deployment.
Uses metadata from the [Deployment Record API](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-deployment-record). |
+| `runtime-risk` | Limits alerts to those reported as presenting a specific type of runtime risk. For example: `runtime-risk:internet-exposed`
Uses metadata from the [Deployment Record API](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-deployment-record). |
+
+{% endif %}
+
## {% data variables.product.prodname_dependabot %} alert view filters
You can filter the view to show {% data variables.product.prodname_dependabot_alerts %} that are ready to fix or where additional information about exposure is available. You can click any result to see full details of the alert.
diff --git a/content/copilot/concepts/agents/coding-agent/about-custom-agents.md b/content/copilot/concepts/agents/coding-agent/about-custom-agents.md
index 1adaa2a47c5e..455f3f575367 100644
--- a/content/copilot/concepts/agents/coding-agent/about-custom-agents.md
+++ b/content/copilot/concepts/agents/coding-agent/about-custom-agents.md
@@ -13,7 +13,7 @@ topics:
{% data variables.copilot.custom_agents_caps_short %} are specialized versions of {% data variables.copilot.copilot_coding_agent %} that you can tailor to your unique workflows, coding conventions, and use cases. Instead of repeatedly providing the same instructions and context, {% data variables.copilot.custom_agents_short %} allow you to define specialized agents that act like tailored teammates—following standards, using the right tools, and implementing team-specific practices.
-{% data variables.copilot.custom_agents_caps_short %} are defined using Markdown files, called {% data variables.copilot.agent_profiles %}, that specify prompts, tools, and MCP servers. This allows individuals and teams to encode their conventions, frameworks, and desired outcomes directly into {% data variables.product.prodname_copilot_short %}. The {% data variables.copilot.agent_profile %} serves as the artifact that defines the custom agent's behavior, and assigning the agent to a task or issue instantiates the {% data variables.copilot.copilot_custom_agent_short %}.
+{% data variables.copilot.custom_agents_caps_short %} are defined using Markdown files, called {% data variables.copilot.agent_profiles %}, that specify prompts, tools, and MCP servers. This allows individuals and teams to encode their conventions, frameworks, and desired outcomes directly into {% data variables.product.prodname_copilot_short %}. The {% data variables.copilot.agent_profile %} serves as the artifact that defines the {% data variables.copilot.copilot_custom_agent_short %}'s behavior, and assigning the agent to a task or issue instantiates the {% data variables.copilot.copilot_custom_agent_short %}.
## {% data variables.copilot.agent_profile_caps %} format
@@ -53,9 +53,13 @@ You can define {% data variables.copilot.agent_profiles %} at the repository lev
## Where you can use {% data variables.copilot.custom_agents_short %}
-Once created, your {% data variables.copilot.custom_agents_short %} are available wherever you can use {% data variables.copilot.copilot_coding_agent %}, including {% data variables.product.prodname_dotcom_the_website %} (the agents tab and panel, issue assignment, pull requests), the {% data variables.copilot.copilot_cli %}, and {% data variables.product.prodname_vscode %}. Each interaction maintains consistency based on the agent's defined profile, ensuring targeted support tailored to your specific needs.
+{% data reusables.copilot.custom-agents-ide-preview %}
-{% data variables.copilot.agent_profiles_caps %} can be used directly in {% data variables.product.prodname_vscode %}, though some properties may function differently or be ignored between the {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_vscode_shortname %} environments. See [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents?utm_source=docs-signup-custom-agents&utm_medium=docs&utm_campaign=universe25post) in the {% data variables.product.prodname_vscode_shortname %} documentation.
+Once created, your {% data variables.copilot.custom_agents_short %} are available wherever you can use {% data variables.copilot.copilot_coding_agent %}, including {% data variables.product.prodname_dotcom_the_website %} (the agents tab and panel, issue assignment, pull requests), the {% data variables.copilot.copilot_cli %}, and in {% data variables.product.prodname_vscode %}, JetBrains IDEs, Eclipse, and Xcode.
+
+{% data variables.copilot.agent_profiles_caps %} can be used directly in {% data variables.product.prodname_vscode %}, JetBrains IDEs, Eclipse, and Xcode, though some properties may function differently, or be ignored, between environments.
+
+For more information on using {% data variables.copilot.custom_agents_short %} in {% data variables.product.prodname_vscode %} specifically, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents?utm_source=docs-signup-custom-agents&utm_medium=docs&utm_campaign=universe25post) in the {% data variables.product.prodname_vscode_shortname %} documentation.
## Next steps
diff --git a/content/copilot/concepts/auto-model-selection.md b/content/copilot/concepts/auto-model-selection.md
index 4ae5326fe614..e90bc2fbbf80 100644
--- a/content/copilot/concepts/auto-model-selection.md
+++ b/content/copilot/concepts/auto-model-selection.md
@@ -2,8 +2,8 @@
title: 'About {% data variables.product.prodname_copilot_short %} auto model selection'
allowTitleToDifferFromFilename: true
shortTitle: 'Auto model selection'
-intro: 'Optimize {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %} without needing to select a model'
-product: '{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is in {% data variables.release-phases.public_preview %} in {% data variables.product.prodname_vscode_shortname %} and in {% data variables.product.prodname_vs %} with all {% data variables.product.prodname_copilot %} plans.'
+intro: 'Automatically select models for {% data variables.copilot.copilot_chat_short %}.'
+product: '{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is in {% data variables.release-phases.public_preview %} for supported IDEs with all {% data variables.product.prodname_copilot %} plans.'
topics:
- Copilot
versions:
@@ -17,15 +17,22 @@ category:
Experience less rate limiting and reduce the mental load of choosing a model by letting {% data variables.copilot.copilot_auto_model_selection %} automatically choose the best available model.
-In {% data variables.product.prodname_vscode_shortname %} and {% data variables.product.prodname_vs %}, {% data variables.copilot.copilot_auto_model_selection %} chooses from {% data variables.copilot.copilot_gpt_41 %}, {% data variables.copilot.copilot_gpt_5_mini %}, {% data variables.copilot.copilot_gpt_5 %}, {% data variables.copilot.copilot_claude_haiku_45 %}, and {% data variables.copilot.copilot_claude_sonnet_45 %}, based on availability and to help reduce rate limiting. Included models may change over time.
+{% data variables.copilot.copilot_auto_model_selection %} chooses from {% data variables.copilot.copilot_gpt_41 %}, {% data variables.copilot.copilot_gpt_5_mini %}, {% data variables.copilot.copilot_gpt_5 %}, {% data variables.copilot.copilot_claude_haiku_45 %}, and {% data variables.copilot.copilot_claude_sonnet_45 %}, based on availability and to help reduce rate limiting. Included models may change over time.
+
+> [!NOTE] To see which model was used for each response, hover over the response in {% data variables.copilot.copilot_chat_short %}.
+
+{% data variables.copilot.copilot_auto_model_selection %} is available in the following IDEs:
+ * {% data variables.product.prodname_vscode_shortname %}
+ * {% data variables.product.prodname_vs %}
+ * Eclipse
+ * JetBrains IDEs
+ * Xcode
Automatically selected models **won't** include these models:
* Models with premium request multipliers greater than one. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#model-multipliers).
* Models excluded by individual or administrator policies. See [AUTOTITLE](/copilot/how-tos/use-ai-models/configure-access-to-ai-models).
* Models not available in your plan. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#supported-ai-models-per-copilot-plan).
-To see which model was used for each response, hover over the response in {% data variables.copilot.copilot_chat_short %}.
-
## AI models for {% data variables.copilot.copilot_chat_short %}
While {% data variables.copilot.copilot_auto_model_selection_short %} is an option for {% data variables.copilot.copilot_chat_short %}, you can manually choose a different model to override this selection. {% data reusables.copilot.change-the-ai-model %}
diff --git a/content/copilot/concepts/completions/code-suggestions.md b/content/copilot/concepts/completions/code-suggestions.md
index ea24d3de44f8..c8615a5dfa2d 100644
--- a/content/copilot/concepts/completions/code-suggestions.md
+++ b/content/copilot/concepts/completions/code-suggestions.md
@@ -9,7 +9,7 @@ defaultTool: vscode
topics:
- Copilot
contentType: concepts
-category:
+category:
- Learn about Copilot
---
@@ -73,7 +73,12 @@ category:
## About code suggestions in Xcode
-{% data variables.product.prodname_copilot %} offers inline suggestions as you type.
+{% data variables.product.prodname_copilot %} in Xcode provides two kinds of code suggestions:
+
+* **Ghost text suggestions**
+ * {% data variables.product.prodname_copilot_short %} offers coding suggestions as you type. You can also describe something you want to do using natural language within a comment, and {% data variables.product.prodname_copilot_short %} will suggest the code to accomplish your goal.
+* **{% data variables.copilot.next_edit_suggestions_caps %} ({% data variables.release-phases.public_preview %})**
+ * Based on the edits you are making, {% data variables.product.prodname_copilot_short %} will predict the location of the next edit you are likely to make and suggest a completion for it. Suggestions may span an entire line, or multiple lines, depending on the scope of the potential change. {% data variables.copilot.next_edit_suggestions_caps %} are enabled by default. To disable, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide?tool=xcode#enabling-next-edit-suggestions-2).
{% endxcode %}
@@ -81,7 +86,14 @@ category:
## About code suggestions in Eclipse
-{% data variables.product.prodname_copilot %} offers inline suggestions as you type.
+{% data variables.product.prodname_copilot %} in Eclipse provides two kinds of code suggestions:
+
+* **Ghost text suggestions**
+ * {% data variables.product.prodname_copilot_short %} offers coding suggestions as you type. You can also describe something you want to do using natural language within a comment, and {% data variables.product.prodname_copilot_short %} will suggest the code to accomplish your goal.
+* **{% data variables.copilot.next_edit_suggestions_caps %} ({% data variables.release-phases.public_preview %})**
+ * Based on the edits you are making, {% data variables.product.prodname_copilot_short %} will predict the location of the next edit you are likely to make and suggest a completion for it. Suggestions may span a single symbol, an entire line, or multiple lines, depending on the scope of the potential change. To enable {% data variables.copilot.next_edit_suggestions %}, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide?tool=eclipse#enabling-next-edit-suggestions-3).
+
+{% data reusables.copilot.supported-languages %}
{% endeclipse %}
diff --git a/content/copilot/get-started/features.md b/content/copilot/get-started/features.md
index 9785472aa487..d0b0afd5f7e5 100644
--- a/content/copilot/get-started/features.md
+++ b/content/copilot/get-started/features.md
@@ -23,7 +23,7 @@ category:
Autocomplete-style suggestions from {% data variables.product.prodname_copilot_short %} in supported IDEs _({% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, JetBrains IDEs, Azure Data Studio, Xcode, Vim/Neovim, and Eclipse)_. See [AUTOTITLE](/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot).
-If you use {% data variables.product.prodname_vscode_shortname %}, you can also use {% data variables.copilot.next_edit_suggestions %}, which will predict the location of the next edit you are likely to make and suggest a completion for it.
+If you use {% data variables.product.prodname_vscode_shortname %}, Xcode, and Eclipse, you can also use {% data variables.copilot.next_edit_suggestions %} ({% data variables.release-phases.public_preview %}), which will predict the location of the next edit you are likely to make and suggest a completion for it.
### {% data variables.copilot.copilot_chat_short %}
diff --git a/content/copilot/get-started/quickstart.md b/content/copilot/get-started/quickstart.md
index 053623bbe4eb..8444b43f5aeb 100644
--- a/content/copilot/get-started/quickstart.md
+++ b/content/copilot/get-started/quickstart.md
@@ -20,7 +20,7 @@ shortTitle: Quickstart
topics:
- Copilot
contentType: get-started
-category:
+category:
- Configure Copilot
---
@@ -195,7 +195,7 @@ The following example uses JavaScript, however other languages will work similar
{% data reusables.copilot.quickstart-nextsteps1 %}
* **Use {% data variables.product.prodname_copilot_short %} like a pro** - Learn how to write effective prompts for {% data variables.product.prodname_copilot %}. For more information, see [Best practices for using {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/prompt-crafting) in the {% data variables.product.prodname_vscode %} documentation.
-* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [About {% data variables.copilot.next_edit_suggestions %}](/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot#about-next-edit-suggestions).
+* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [Navigating and accepting {% data variables.copilot.next_edit_suggestions %}](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions#navigating-and-accepting-next-edit-suggestions-1).
{% data reusables.copilot.quickstart-nextsteps2 %}
{% endvscode %}
@@ -368,6 +368,7 @@ The following example uses Swift, however other languages will work similarly.
## Next steps
{% data reusables.copilot.quickstart-nextsteps1 %}
+* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [Navigating and accepting {% data variables.copilot.next_edit_suggestions %}](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions?tool=xcode#navigating-and-accepting-next-edit-suggestions-2).
{% data reusables.copilot.quickstart-nextsteps2 %}
{% endxcode %}
@@ -424,6 +425,7 @@ The following example uses Java, however other languages will work similarly.
## Next steps
{% data reusables.copilot.quickstart-nextsteps1 %}
+* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [Navigating and accepting {% data variables.copilot.next_edit_suggestions %}](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions?tool=eclipse#navigating-and-accepting-next-edit-suggestions-3).
{% data reusables.copilot.quickstart-nextsteps2 %}
{% endeclipse %}
diff --git a/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md b/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md
index ce3aca185709..cfdfe865f4b4 100644
--- a/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md
+++ b/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md
@@ -27,6 +27,10 @@ category:
This guide describes how to use {% data variables.copilot.copilot_chat_short %} to ask questions about software development in your IDE. You can ask general questions about software development, or specific questions about the code in your project. For more information, see [AUTOTITLE](/copilot/concepts/about-github-copilot-chat).
+
+
+
+
{% vscode %}
## Prerequisites
@@ -174,32 +178,42 @@ For more information, see [{% data variables.copilot.copilot_edits_short %}](htt
{% data reusables.copilot.copilot-edits.agent-mode-requests %}
-### Plan mode
+### Using {% data variables.copilot.subagents_short %}
-> [!NOTE]
-> Plan mode in {% data variables.product.prodname_vscode_shortname %} is currently in {% data variables.release-phases.public_preview %} and subject to change.
+{% data reusables.copilot.subagent-intro %}
+
+#### Enabling {% data variables.copilot.subagents_short %}
+
+1. In the {% data variables.copilot.copilot_chat_short %} window, click the tools icon.
+1. Enable the `runSubagent` tool.
-Plan mode helps you to create detailed implementation plans before executing them. This ensures that all requirements are considered and addressed before any code changes are made. The plan agent does not make any code changes until the plan is reviewed and approved by you. Once approved, you can hand off the plan to the default agent or save it for further refinement, review, or team discussions.
+If you use custom prompt files or {% data variables.copilot.custom_agents_short %}, ensure you specify the `runSubagent` tool in the `tools` frontmatter property.
-The plan agent is designed to:
+#### Invoking {% data variables.copilot.subagents_short %}
-* Research the task comprehensively using read-only tools and codebase analysis to identify requirements and constraints.
-* Break down the task into manageable, actionable steps and include open questions about ambiguous requirements.
-* Present a concise plan draft, based on a standardized plan format, for user review and iteration.
+{% data reusables.copilot.using-subagents %}
+* **Calling the #runSubagent tool.**.
+ ```text
+ Evaluate the #file:databaseSchema using #runSubagent and generate an optimized data-migration plan.
+ ```
+
+When the {% data variables.copilot.subagent_short %} completes its task, its results appear back in the main chat session, ready for follow-up questions or next steps.
+
+### Plan mode
+
+{% data reusables.copilot.plan-agent-intro %}
#### Using plan mode
1. If the chat view is not already displayed, select **Open Chat** from the {% data variables.copilot.copilot_chat_short %} menu.
1. At the bottom of the chat view, select **Plan** from the agents dropdown.
-1. Enter a task for which you want to create a plan, then press Enter.
-
- The plan agent provides a high-level summary and a breakdown of steps, including any open questions for clarification.
+1. Type a prompt that describes a task, such as adding a feature to an existing application, refactoring code, fixing a bug, or creating an initial version of a new application.
-1. Review the plan and answer any questions the agent has asked.
+ For example: `Create a simple to-do web app with HTML, CSS, and JS files.`
- You can iterate multiple times to clarify requirements, adjust scope, or answer questions.
+ After a few moments, the plan agent outputs a plan in the chat view. The plan provides a high-level summary and a breakdown of steps, including any open questions for clarification.
-1. Once the plan is finalized, choose to save it or hand it off to an implementation agent to start coding, by using the corresponding controls.
+{% data reusables.copilot.plan-agent-steps %}
For more information, see [Planning in VS Code chat](https://code.visualstudio.com/docs/copilot/chat/chat-planning) in the {% data variables.product.prodname_vscode %} documentation.
@@ -239,6 +253,10 @@ To leave feedback about the {% data variables.copilot.copilot_chat %} extension,
{% endvscode %}
+
+
+
+
{% visualstudio %}
## Prerequisites
@@ -386,6 +404,10 @@ To share feedback about {% data variables.copilot.copilot_chat_short %}, you can
{% endvisualstudio %}
+
+
+
+
{% jetbrains %}
## Prerequisites
@@ -414,19 +436,9 @@ You can ask {% data variables.copilot.copilot_chat_short %} to give you code sug
To see the files that {% data variables.copilot.copilot_chat_short %} used to generate the response, click the **References** link below the response. The references may include a link to a custom instructions file for your repository. This file contains additional information that is automatically added to all of your chat questions to improve the quality of the responses. For more information, see [AUTOTITLE](/copilot/how-tos/custom-instructions/adding-repository-custom-instructions-for-github-copilot).
-## Using keywords in your prompt
-
-You can use special keywords to help {% data variables.product.prodname_copilot_short %} understand your prompt.
-
-### Chat participants
-
-Chat participants are like domain experts who have a specialty that they can help you with. You can use a chat participant to scope your prompt to a specific domain. To do this, type `@` in the chat prompt box, followed by a chat participant name.
-
-For a list of available chat participants, type `@` in the chat prompt box. See also [AUTOTITLE](/copilot/using-github-copilot/github-copilot-chat-cheat-sheet?tool=jetbrains#chat-participants-1).
+## Supplementing your prompt
-### Extending {% data variables.copilot.copilot_chat_short %}
-
-{% data reusables.copilot.copilot-extensions.extending-copilot-chat %}
+You can use slash commands and file references to help {% data variables.product.prodname_copilot_short %} understand your what you are asking it to do.
### Slash commands
@@ -488,6 +500,43 @@ Use {% data variables.copilot.copilot_edits_short %} to make changes across mult
{% data reusables.copilot.copilot-edits.agent-mode-requests %}
+### Using {% data variables.copilot.subagents_short %}
+
+{% data reusables.copilot.subagent-intro %}
+
+To use {% data variables.copilot.subagents_short %}, you **must have {% data variables.copilot.custom_agents_short %} configured in your environment**. See [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents).
+
+#### Enabling {% data variables.copilot.subagents_short %}
+
+To enable {% data variables.copilot.subagents_short %}:
+
+1. Click **Tools** in the menu bar, then click **{% data variables.product.prodname_copilot %}**, then **Edit Settings**.
+1. In the popup menu, click **Chat**, then click the **Enable {% data variables.copilot.subagent_caps_short %}** checkbox.
+
+#### Invoking {% data variables.copilot.subagents_short %}
+
+{% data reusables.copilot.using-subagents %}
+
+When the {% data variables.copilot.subagent_short %} completes its task, its results appear back in the main chat session, ready for follow-up questions or next steps.
+
+## Using plan mode
+
+{% data reusables.copilot.plan-agent-intro %}
+
+To use plan mode:
+
+1. If it is not already displayed, open the {% data variables.copilot.copilot_chat_short %} panel by clicking the **{% data variables.copilot.copilot_chat %}** icon at the right side of the JetBrains IDE window.
+1. At the bottom of the {% data variables.copilot.copilot_chat_short %} panel, select **Plan** from the agents dropdown.
+1. Type a prompt that describes a task, such as adding a feature to an existing application, refactoring code, fixing a bug, or creating an initial version of a new application.
+
+ For example: `Create a simple to-do web app with HTML, CSS, and JS files.`
+
+1. Submit the prompt.
+
+ After a few moments, the plan agent outputs a plan in the chat panel. The plan provides a high-level summary and a breakdown of steps, including any open questions for clarification.
+
+{% data reusables.copilot.plan-agent-steps %}
+
## Sharing feedback
To share feedback about {% data variables.copilot.copilot_chat_short %}, you can use the **share feedback** link in JetBrains.
@@ -512,6 +561,10 @@ To share feedback about {% data variables.copilot.copilot_chat_short %}, you can
{% endjetbrains %}
+
+
+
+
{% xcode %}
## Prerequisites
@@ -526,7 +579,7 @@ To share feedback about {% data variables.copilot.copilot_chat_short %}, you can
You can ask {% data variables.copilot.copilot_chat_short %} to give you code suggestions, explain code, generate unit tests, and suggest code fixes.
-1. To open the chat view, click **Editor** in the menu bar, then click **{% data variables.product.prodname_copilot %}** then **Open Chat**. {% data variables.copilot.copilot_chat_short %} opens in a new window.
+1. To open the chat window, click **Editor** in the menu bar, then click **{% data variables.product.prodname_copilot %}** then **Open Chat**. {% data variables.copilot.copilot_chat_short %} opens in a new window.
1. Enter a prompt in the prompt box. For example prompts, see [AUTOTITLE](/copilot/get-started/getting-started-with-prompts-for-copilot-chat).
@@ -554,13 +607,31 @@ Use slash commands to avoid writing complex prompts for common scenarios. To use
To see all available slash commands, type `/` in the chat prompt box. For more information, see [AUTOTITLE](/copilot/using-github-copilot/github-copilot-chat-cheat-sheet?tool=xcode#slash-commands).
-## {% data variables.product.prodname_copilot_short %} agent mode
+## Using plan mode
+
+{% data reusables.copilot.plan-agent-intro %}
+
+To use plan mode:
+
+1. If it is not already displayed, open the {% data variables.copilot.copilot_chat_short %} window by clicking **Editor** in the menu bar, then clicking **{% data variables.product.prodname_copilot %}** then **Open Chat**.
+1. At the bottom of the {% data variables.copilot.copilot_chat_short %} window, select **Plan** from the agents dropdown.
+1. Type a prompt that describes a task, such as adding a feature to an existing application, refactoring code, fixing a bug, or creating an initial version of a new application.
+
+ For example: `Create a simple to-do app with Swift files.`
+
+1. Submit the prompt.
+
+ After a few moments, the plan agent outputs a plan in the chat panel. The plan provides a high-level summary and a breakdown of steps, including any open questions for clarification.
+
+{% data reusables.copilot.plan-agent-steps %}
+
+## Using {% data variables.product.prodname_copilot_short %} agent mode
{% data reusables.copilot.copilot-edits.agent-mode-description %}
### Using agent mode
-1. To open the chat view, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}** in the menu bar, then click **Open Chat**.
+1. If it is not already displayed, open the {% data variables.copilot.copilot_chat_short %} window by clicking **Editor** in the menu bar, then clicking **{% data variables.product.prodname_copilot %}** then **Open Chat**.
1. At the bottom of the chat panel, select **Agent** from the agents dropdown.
1. Optionally, add relevant files to the _working set_ view to indicate to {% data variables.product.prodname_copilot_short %} which files you want to work on.
1. Submit a prompt. In response to your prompt, {% data variables.product.prodname_copilot_short %} streams the edits in the editor, updates the working set, and if necessary, suggests terminal commands to run.
@@ -568,6 +639,23 @@ To see all available slash commands, type `/` in the chat prompt box. For more i
{% data reusables.copilot.copilot-edits.agent-mode-requests %}
+### Using {% data variables.copilot.subagents_short %}
+
+{% data reusables.copilot.subagent-intro %}
+
+To use {% data variables.copilot.subagents_short %}, you **must have {% data variables.copilot.custom_agents_short %} configured in your environment**. See [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents).
+
+#### Enabling {% data variables.copilot.subagents_short %}
+
+1. Click **Editor** in the menu bar, then click **{% data variables.product.prodname_copilot %}** then **Open GitHub Copilot for Xcode Settings**.
+1. Click **Advanced** in the chat panel, then under **Chat Settings** click the **Enable {% data variables.copilot.subagents_caps_short %}** toggle.
+
+#### Invoking {% data variables.copilot.subagents_short %}
+
+{% data reusables.copilot.using-subagents %}
+
+When the {% data variables.copilot.subagent_short %} completes its task, its results appear back in the main chat session, ready for follow-up questions or next steps.
+
## File references
By default, {% data variables.copilot.copilot_chat_short %} will reference the file that you have open or the code that you have selected. To attach a specific file as reference, click {% octicon "paperclip" aria-label="Add attachments" %} in the chat prompt box.
@@ -592,6 +680,10 @@ To indicate whether a response was helpful, use {% octicon "thumbsup" aria-label
{% endxcode %}
+
+
+
+
{% eclipse %}
## Prerequisites
@@ -632,19 +724,55 @@ To see all available slash commands, type `/` in the chat prompt box.
{% data reusables.copilot.change-the-ai-model %}
-## {% data variables.product.prodname_copilot_short %} agent mode
+## Using plan mode
+
+{% data reusables.copilot.plan-agent-intro %}
+
+To use plan mode:
+
+1. If it is not already displayed, open the {% data variables.copilot.copilot_chat_short %} panel by clicking the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse, then clicking **Open Chat**.
+1. At the bottom of the chat panel, select **Plan** from the agents dropdown.
+1. Type a prompt that describes a task, such as adding a feature to an existing application, refactoring code, fixing a bug, or creating an initial version of a new application.
+
+ For example: `Create a simple to-do app using JavaFX.`
+
+1. Submit the prompt.
+
+ After a few moments, the plan agent outputs a plan in the chat panel. The plan provides a high-level summary and a breakdown of steps, including any open questions for clarification.
+
+{% data reusables.copilot.plan-agent-steps %}
+
+## Using {% data variables.product.prodname_copilot_short %} agent mode
{% data reusables.copilot.copilot-edits.agent-mode-description %}
-### Using agent mode
+To use agent mode:
-1. To open the {% data variables.copilot.copilot_chat_short %} panel, click the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse, then click **Open Chat**.
+1. Open the {% data variables.copilot.copilot_chat_short %} panel by clicking the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse, then clicking **Open Chat**.
1. At the bottom of the chat panel, select **Agent** from the agents dropdown.
1. Submit a prompt. In response to your prompt, {% data variables.product.prodname_copilot_short %} streams the edits in the editor, updates the working set, and if necessary, suggests terminal commands to run.
1. Review the changes. If {% data variables.product.prodname_copilot_short %} suggested terminal commands, confirm whether or not {% data variables.product.prodname_copilot_short %} can run them. In response, {% data variables.product.prodname_copilot_short %} iterates and performs additional actions to complete the task in your original prompt.
{% data reusables.copilot.copilot-edits.agent-mode-requests %}
+### Using {% data variables.copilot.subagents_short %}
+
+{% data reusables.copilot.subagent-intro %}
+
+To use {% data variables.copilot.subagents_short %}, you **must have {% data variables.copilot.custom_agents_short %} configured in your environment**. See [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents).
+
+#### Enabling {% data variables.copilot.subagents_short %}
+
+1. Click the **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %}** icon in the status bar.
+1. In the popup menu, click **Edit Preferences**.
+1. Under **Chat**, click the **Enable sub-agent** check box
+
+#### Invoking {% data variables.copilot.subagents_short %}
+
+{% data reusables.copilot.using-subagents %}
+
+When the {% data variables.copilot.subagent_short %} completes its task, its results appear back in the main chat session, ready for follow-up questions or next steps.
+
## Further reading
* [AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot)
diff --git a/content/copilot/how-tos/configure-personal-settings/configure-in-ide.md b/content/copilot/how-tos/configure-personal-settings/configure-in-ide.md
index cfa776d06666..522a61304fad 100644
--- a/content/copilot/how-tos/configure-personal-settings/configure-in-ide.md
+++ b/content/copilot/how-tos/configure-personal-settings/configure-in-ide.md
@@ -17,7 +17,7 @@ topics:
versions:
feature: copilot
contentType: how-tos
-category:
+category:
- Configure Copilot
---
@@ -360,6 +360,12 @@ You can configure the {% data variables.product.prodname_copilot %} extension to
After updating the extension, Xcode must be restarted for the changes to take effect.
+## Disabling {% data variables.copilot.next_edit_suggestions %}
+
+{% data variables.copilot.next_edit_suggestions_caps %} are enabled by default. To disable {% data variables.copilot.next_edit_suggestions %}, go to the "Advanced" tab in the {% data variables.product.prodname_copilot %} for Xcode extension settings. You can also choose to disable the option to "Accept suggestions with Tab".
+
+{% data reusables.copilot.editor-preview-settings %}
+
{% data reusables.copilot.dotcom-settings %}
{% endxcode %}
@@ -387,6 +393,12 @@ If you don't want to use the default keyboard shortcuts for {% data variables.pr
For advanced settings, you can set auto-completion behavior, configure proxy, and assign a {% data variables.product.prodname_enterprise %} authentication endpoint.
+## Enabling {% data variables.copilot.next_edit_suggestions %}
+
+You can enable {% data variables.copilot.next_edit_suggestions %} under "Completions" in the {% data variables.product.prodname_copilot %} extension settings in Eclipse.
+
+{% data reusables.copilot.editor-preview-settings %}
+
{% data reusables.copilot.dotcom-settings %}
{% endeclipse %}
diff --git a/content/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions.md b/content/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions.md
index 589bca71aeac..a46789155ed8 100644
--- a/content/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions.md
+++ b/content/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions.md
@@ -13,7 +13,7 @@ defaultTool: vscode
topics:
- Copilot
contentType: how-tos
-category:
+category:
- Author and optimize with Copilot
---
@@ -25,7 +25,7 @@ category:
The organization name. The name is not case sensitive.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the summary of the free and paid GitHub Actions minutes used.
\nPaid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".
\nOAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.
Response
", - "example": { - "total_minutes_used": 305, - "total_paid_minutes_used": 0, - "included_minutes": 3000, - "minutes_used_breakdown": { - "UBUNTU": 205, - "MACOS": 10, - "WINDOWS": 90 - } - }, - "schema": { - "type": "object", - "properties": { - "total_minutes_used": { - "type": "integer", - "description": "The sum of the free and paid GitHub Actions minutes used." - }, - "total_paid_minutes_used": { - "type": "integer", - "description": "The total paid GitHub Actions minutes used." - }, - "included_minutes": { - "type": "integer", - "description": "The amount of free GitHub Actions minutes available." - }, - "minutes_used_breakdown": { - "type": "object", - "properties": { - "UBUNTU": { - "type": "integer", - "description": "Total minutes used on Ubuntu runner machines." - }, - "MACOS": { - "type": "integer", - "description": "Total minutes used on macOS runner machines." - }, - "WINDOWS": { - "type": "integer", - "description": "Total minutes used on Windows runner machines." - }, - "ubuntu_4_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 4 core runner machines." - }, - "ubuntu_8_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 8 core runner machines." - }, - "ubuntu_16_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 16 core runner machines." - }, - "ubuntu_32_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 32 core runner machines." - }, - "ubuntu_64_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 64 core runner machines." - }, - "windows_4_core": { - "type": "integer", - "description": "Total minutes used on Windows 4 core runner machines." - }, - "windows_8_core": { - "type": "integer", - "description": "Total minutes used on Windows 8 core runner machines." - }, - "windows_16_core": { - "type": "integer", - "description": "Total minutes used on Windows 16 core runner machines." - }, - "windows_32_core": { - "type": "integer", - "description": "Total minutes used on Windows 32 core runner machines." - }, - "windows_64_core": { - "type": "integer", - "description": "Total minutes used on Windows 64 core runner machines." - }, - "macos_12_core": { - "type": "integer", - "description": "Total minutes used on macOS 12 core runner machines." - }, - "total": { - "type": "integer", - "description": "Total minutes used on all runner machines." - } - } - } - }, - "required": [ - "total_minutes_used", - "total_paid_minutes_used", - "included_minutes", - "minutes_used_breakdown" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages", - "title": "Get GitHub Packages billing for an organization", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the free and paid storage used for GitHub Packages in gigabytes.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nOAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.
Response
", - "example": { - "total_gigabytes_bandwidth_used": 50, - "total_paid_gigabytes_bandwidth_used": 40, - "included_gigabytes_bandwidth": 10 - }, - "schema": { - "type": "object", - "properties": { - "total_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Sum of the free and paid storage space (GB) for GitHuub Packages." - }, - "total_paid_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Total paid storage space (GB) for GitHuub Packages." - }, - "included_gigabytes_bandwidth": { - "type": "integer", - "description": "Free storage space (GB) for GitHub Packages." - } - }, - "required": [ - "total_gigabytes_bandwidth_used", - "total_paid_gigabytes_bandwidth_used", - "included_gigabytes_bandwidth" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage", - "title": "Get shared storage billing for an organization", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nOAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.
Response
", - "example": { - "days_left_in_billing_cycle": 20, - "estimated_paid_storage_for_month": 15, - "estimated_storage_for_month": 40 - }, - "schema": { - "type": "object", - "properties": { - "days_left_in_billing_cycle": { - "type": "integer", - "description": "Numbers of days left in billing cycle." - }, - "estimated_paid_storage_for_month": { - "type": "integer", - "description": "Estimated storage space (GB) used in billing cycle." - }, - "estimated_storage_for_month": { - "type": "integer", - "description": "Estimated sum of free and paid storage space (GB) used in billing cycle." - } - }, - "required": [ - "days_left_in_billing_cycle", - "estimated_paid_storage_for_month", - "estimated_storage_for_month" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/actions", - "title": "Get GitHub Actions billing for a user", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "username", - "description": "The handle for the GitHub user account.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the summary of the free and paid GitHub Actions minutes used.
\nPaid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".
\nOAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.
Response
", - "example": { - "total_minutes_used": 305, - "total_paid_minutes_used": 0, - "included_minutes": 3000, - "minutes_used_breakdown": { - "UBUNTU": 205, - "MACOS": 10, - "WINDOWS": 90 - } - }, - "schema": { - "type": "object", - "properties": { - "total_minutes_used": { - "type": "integer", - "description": "The sum of the free and paid GitHub Actions minutes used." - }, - "total_paid_minutes_used": { - "type": "integer", - "description": "The total paid GitHub Actions minutes used." - }, - "included_minutes": { - "type": "integer", - "description": "The amount of free GitHub Actions minutes available." - }, - "minutes_used_breakdown": { - "type": "object", - "properties": { - "UBUNTU": { - "type": "integer", - "description": "Total minutes used on Ubuntu runner machines." - }, - "MACOS": { - "type": "integer", - "description": "Total minutes used on macOS runner machines." - }, - "WINDOWS": { - "type": "integer", - "description": "Total minutes used on Windows runner machines." - }, - "ubuntu_4_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 4 core runner machines." - }, - "ubuntu_8_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 8 core runner machines." - }, - "ubuntu_16_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 16 core runner machines." - }, - "ubuntu_32_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 32 core runner machines." - }, - "ubuntu_64_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 64 core runner machines." - }, - "windows_4_core": { - "type": "integer", - "description": "Total minutes used on Windows 4 core runner machines." - }, - "windows_8_core": { - "type": "integer", - "description": "Total minutes used on Windows 8 core runner machines." - }, - "windows_16_core": { - "type": "integer", - "description": "Total minutes used on Windows 16 core runner machines." - }, - "windows_32_core": { - "type": "integer", - "description": "Total minutes used on Windows 32 core runner machines." - }, - "windows_64_core": { - "type": "integer", - "description": "Total minutes used on Windows 64 core runner machines." - }, - "macos_12_core": { - "type": "integer", - "description": "Total minutes used on macOS 12 core runner machines." - }, - "total": { - "type": "integer", - "description": "Total minutes used on all runner machines." - } - } - } - }, - "required": [ - "total_minutes_used", - "total_paid_minutes_used", - "included_minutes", - "minutes_used_breakdown" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/packages", - "title": "Get GitHub Packages billing for a user", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "username", - "description": "The handle for the GitHub user account.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the free and paid storage used for GitHub Packages in gigabytes.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nOAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.
Response
", - "example": { - "total_gigabytes_bandwidth_used": 50, - "total_paid_gigabytes_bandwidth_used": 40, - "included_gigabytes_bandwidth": 10 - }, - "schema": { - "type": "object", - "properties": { - "total_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Sum of the free and paid storage space (GB) for GitHuub Packages." - }, - "total_paid_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Total paid storage space (GB) for GitHuub Packages." - }, - "included_gigabytes_bandwidth": { - "type": "integer", - "description": "Free storage space (GB) for GitHub Packages." - } - }, - "required": [ - "total_gigabytes_bandwidth_used", - "total_paid_gigabytes_bandwidth_used", - "included_gigabytes_bandwidth" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/shared-storage", - "title": "Get shared storage billing for a user", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "username", - "description": "The handle for the GitHub user account.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nOAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.
Response
", - "example": { - "days_left_in_billing_cycle": 20, - "estimated_paid_storage_for_month": 15, - "estimated_storage_for_month": 40 - }, - "schema": { - "type": "object", - "properties": { - "days_left_in_billing_cycle": { - "type": "integer", - "description": "Numbers of days left in billing cycle." - }, - "estimated_paid_storage_for_month": { - "type": "integer", - "description": "Estimated storage space (GB) used in billing cycle." - }, - "estimated_storage_for_month": { - "type": "integer", - "description": "Estimated sum of free and paid storage space (GB) used in billing cycle." - } - }, - "required": [ - "days_left_in_billing_cycle", - "estimated_paid_storage_for_month", - "estimated_storage_for_month" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] - } - } - ], - "enhanced-billing": [ + "budgets": [ { "serverUrl": "https://api.github.com", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/budgets", "title": "Get all budgets for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "org", @@ -114717,7 +114081,7 @@ "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", "title": "Get a budget by ID for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "org", @@ -114909,7 +114273,7 @@ "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", "title": "Update a budget for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "org", @@ -115152,7 +114516,7 @@ "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", "title": "Delete a budget for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "org", @@ -115251,14 +114615,16 @@ } ] } - }, + } + ], + "usage": [ { "serverUrl": "https://api.github.com", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/premium_request/usage", "title": "Get billing premium request usage report for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { "name": "org", @@ -115519,7 +114885,7 @@ "requestPath": "/organizations/{org}/settings/billing/usage", "title": "Get billing usage report for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { "name": "org", @@ -115703,7 +115069,7 @@ "requestPath": "/organizations/{org}/settings/billing/usage/summary", "title": "Get billing usage summary for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { "name": "org", @@ -115954,7 +115320,7 @@ "requestPath": "/users/{username}/settings/billing/premium_request/usage", "title": "Get billing premium request usage report for a user", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { "name": "username", @@ -116202,7 +115568,7 @@ "requestPath": "/users/{username}/settings/billing/usage", "title": "Get billing usage report for a user", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { "name": "username", @@ -116380,7 +115746,7 @@ "requestPath": "/users/{username}/settings/billing/usage/summary", "title": "Get billing usage summary for a user", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { "name": "username", diff --git a/src/rest/data/ghec-2022-11-28/schema.json b/src/rest/data/ghec-2022-11-28/schema.json index 19ea14ca17c2..ca95f5248cf4 100644 --- a/src/rest/data/ghec-2022-11-28/schema.json +++ b/src/rest/data/ghec-2022-11-28/schema.json @@ -124690,159 +124690,6 @@ }, "billing": { "billing": [ - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/actions", - "title": "Get GitHub Actions billing for an organization", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the summary of the free and paid GitHub Actions minutes used.
\nPaid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".
\nOAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.
Response
", - "example": { - "total_minutes_used": 305, - "total_paid_minutes_used": 0, - "included_minutes": 3000, - "minutes_used_breakdown": { - "UBUNTU": 205, - "MACOS": 10, - "WINDOWS": 90 - } - }, - "schema": { - "type": "object", - "properties": { - "total_minutes_used": { - "type": "integer", - "description": "The sum of the free and paid GitHub Actions minutes used." - }, - "total_paid_minutes_used": { - "type": "integer", - "description": "The total paid GitHub Actions minutes used." - }, - "included_minutes": { - "type": "integer", - "description": "The amount of free GitHub Actions minutes available." - }, - "minutes_used_breakdown": { - "type": "object", - "properties": { - "UBUNTU": { - "type": "integer", - "description": "Total minutes used on Ubuntu runner machines." - }, - "MACOS": { - "type": "integer", - "description": "Total minutes used on macOS runner machines." - }, - "WINDOWS": { - "type": "integer", - "description": "Total minutes used on Windows runner machines." - }, - "ubuntu_4_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 4 core runner machines." - }, - "ubuntu_8_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 8 core runner machines." - }, - "ubuntu_16_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 16 core runner machines." - }, - "ubuntu_32_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 32 core runner machines." - }, - "ubuntu_64_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 64 core runner machines." - }, - "windows_4_core": { - "type": "integer", - "description": "Total minutes used on Windows 4 core runner machines." - }, - "windows_8_core": { - "type": "integer", - "description": "Total minutes used on Windows 8 core runner machines." - }, - "windows_16_core": { - "type": "integer", - "description": "Total minutes used on Windows 16 core runner machines." - }, - "windows_32_core": { - "type": "integer", - "description": "Total minutes used on Windows 32 core runner machines." - }, - "windows_64_core": { - "type": "integer", - "description": "Total minutes used on Windows 64 core runner machines." - }, - "macos_12_core": { - "type": "integer", - "description": "Total minutes used on macOS 12 core runner machines." - }, - "total": { - "type": "integer", - "description": "Total minutes used on all runner machines." - } - } - } - }, - "required": [ - "total_minutes_used", - "total_paid_minutes_used", - "included_minutes", - "minutes_used_breakdown" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] - } - }, { "serverUrl": "https://api.github.com", "verb": "get", @@ -125050,497 +124897,16 @@ } ] } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages", - "title": "Get GitHub Packages billing for an organization", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the free and paid storage used for GitHub Packages in gigabytes.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nOAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.
Response
", - "example": { - "total_gigabytes_bandwidth_used": 50, - "total_paid_gigabytes_bandwidth_used": 40, - "included_gigabytes_bandwidth": 10 - }, - "schema": { - "type": "object", - "properties": { - "total_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Sum of the free and paid storage space (GB) for GitHuub Packages." - }, - "total_paid_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Total paid storage space (GB) for GitHuub Packages." - }, - "included_gigabytes_bandwidth": { - "type": "integer", - "description": "Free storage space (GB) for GitHub Packages." - } - }, - "required": [ - "total_gigabytes_bandwidth_used", - "total_paid_gigabytes_bandwidth_used", - "included_gigabytes_bandwidth" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage", - "title": "Get shared storage billing for an organization", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nOAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.
Response
", - "example": { - "days_left_in_billing_cycle": 20, - "estimated_paid_storage_for_month": 15, - "estimated_storage_for_month": 40 - }, - "schema": { - "type": "object", - "properties": { - "days_left_in_billing_cycle": { - "type": "integer", - "description": "Numbers of days left in billing cycle." - }, - "estimated_paid_storage_for_month": { - "type": "integer", - "description": "Estimated storage space (GB) used in billing cycle." - }, - "estimated_storage_for_month": { - "type": "integer", - "description": "Estimated sum of free and paid storage space (GB) used in billing cycle." - } - }, - "required": [ - "days_left_in_billing_cycle", - "estimated_paid_storage_for_month", - "estimated_storage_for_month" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/actions", - "title": "Get GitHub Actions billing for a user", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "username", - "description": "The handle for the GitHub user account.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the summary of the free and paid GitHub Actions minutes used.
\nPaid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".
\nOAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.
Response
", - "example": { - "total_minutes_used": 305, - "total_paid_minutes_used": 0, - "included_minutes": 3000, - "minutes_used_breakdown": { - "UBUNTU": 205, - "MACOS": 10, - "WINDOWS": 90 - } - }, - "schema": { - "type": "object", - "properties": { - "total_minutes_used": { - "type": "integer", - "description": "The sum of the free and paid GitHub Actions minutes used." - }, - "total_paid_minutes_used": { - "type": "integer", - "description": "The total paid GitHub Actions minutes used." - }, - "included_minutes": { - "type": "integer", - "description": "The amount of free GitHub Actions minutes available." - }, - "minutes_used_breakdown": { - "type": "object", - "properties": { - "UBUNTU": { - "type": "integer", - "description": "Total minutes used on Ubuntu runner machines." - }, - "MACOS": { - "type": "integer", - "description": "Total minutes used on macOS runner machines." - }, - "WINDOWS": { - "type": "integer", - "description": "Total minutes used on Windows runner machines." - }, - "ubuntu_4_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 4 core runner machines." - }, - "ubuntu_8_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 8 core runner machines." - }, - "ubuntu_16_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 16 core runner machines." - }, - "ubuntu_32_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 32 core runner machines." - }, - "ubuntu_64_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 64 core runner machines." - }, - "windows_4_core": { - "type": "integer", - "description": "Total minutes used on Windows 4 core runner machines." - }, - "windows_8_core": { - "type": "integer", - "description": "Total minutes used on Windows 8 core runner machines." - }, - "windows_16_core": { - "type": "integer", - "description": "Total minutes used on Windows 16 core runner machines." - }, - "windows_32_core": { - "type": "integer", - "description": "Total minutes used on Windows 32 core runner machines." - }, - "windows_64_core": { - "type": "integer", - "description": "Total minutes used on Windows 64 core runner machines." - }, - "macos_12_core": { - "type": "integer", - "description": "Total minutes used on macOS 12 core runner machines." - }, - "total": { - "type": "integer", - "description": "Total minutes used on all runner machines." - } - } - } - }, - "required": [ - "total_minutes_used", - "total_paid_minutes_used", - "included_minutes", - "minutes_used_breakdown" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/packages", - "title": "Get GitHub Packages billing for a user", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "username", - "description": "The handle for the GitHub user account.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the free and paid storage used for GitHub Packages in gigabytes.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nOAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.
Response
", - "example": { - "total_gigabytes_bandwidth_used": 50, - "total_paid_gigabytes_bandwidth_used": 40, - "included_gigabytes_bandwidth": 10 - }, - "schema": { - "type": "object", - "properties": { - "total_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Sum of the free and paid storage space (GB) for GitHuub Packages." - }, - "total_paid_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Total paid storage space (GB) for GitHuub Packages." - }, - "included_gigabytes_bandwidth": { - "type": "integer", - "description": "Free storage space (GB) for GitHub Packages." - } - }, - "required": [ - "total_gigabytes_bandwidth_used", - "total_paid_gigabytes_bandwidth_used", - "included_gigabytes_bandwidth" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/shared-storage", - "title": "Get shared storage billing for a user", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "username", - "description": "The handle for the GitHub user account.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nOAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.
Response
", - "example": { - "days_left_in_billing_cycle": 20, - "estimated_paid_storage_for_month": 15, - "estimated_storage_for_month": 40 - }, - "schema": { - "type": "object", - "properties": { - "days_left_in_billing_cycle": { - "type": "integer", - "description": "Numbers of days left in billing cycle." - }, - "estimated_paid_storage_for_month": { - "type": "integer", - "description": "Estimated storage space (GB) used in billing cycle." - }, - "estimated_storage_for_month": { - "type": "integer", - "description": "Estimated sum of free and paid storage space (GB) used in billing cycle." - } - }, - "required": [ - "days_left_in_billing_cycle", - "estimated_paid_storage_for_month", - "estimated_storage_for_month" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] - } } ], - "enhanced-billing": [ + "budgets": [ { "serverUrl": "https://api.github.com", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/budgets", "title": "Get all budgets", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "enterprise", @@ -125750,7 +125116,7 @@ "requestPath": "/enterprises/{enterprise}/settings/billing/budgets", "title": "Create a budget", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "enterprise", @@ -126013,7 +125379,7 @@ "requestPath": "/enterprises/{enterprise}/settings/billing/budgets/{budget_id}", "title": "Get a budget by ID", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "enterprise", @@ -126201,7 +125567,7 @@ "requestPath": "/enterprises/{enterprise}/settings/billing/budgets/{budget_id}", "title": "Update a budget", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "enterprise", @@ -126467,7 +125833,7 @@ "requestPath": "/enterprises/{enterprise}/settings/billing/budgets/{budget_id}", "title": "Delete a budget", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "enterprise", @@ -126562,27 +125928,42 @@ "fineGrainedPat": false, "permissions": [] } - }, + } + ], + "cost-centers": [ { "serverUrl": "https://api.github.com", "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets", - "title": "Get all budgets for an organization", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers", + "title": "Get all cost centers for an enterprise", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", + "name": "enterprise", + "description": "The slug version of the enterprise name.
", "in": "path", "required": true, "schema": { "type": "string" } + }, + { + "name": "state", + "in": "query", + "description": "Set to active or deleted to only list cost centers in a specific state.
Note
\n\nThis endpoint is in public preview and is subject to change.
\nGets all budgets for an organization. The authenticated user must be an organization admin or billing manager.
", + "descriptionHTML": "Gets a list of all the cost centers for an enterprise.
", "codeExamples": [ { "key": "default", @@ -126590,163 +125971,104 @@ "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "parameters": { - "org": "ORG" + "enterprise": "ENTERPRISE" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "Response when getting all budgets
", + "description": "Response when getting cost centers
", "example": { - "budgets": [ - { - "id": "2066deda-923f-43f9-88d2-62395a28c0cdd", - "budget_type": "ProductPricing", - "budget_product_skus": [ - "actions" - ], - "budget_scope": "enterprise", - "budget_amount": 1000, - "prevent_further_usage": true, - "budget_alerting": { - "will_alert": true, - "alert_recipients": [ - "enterprise-admin", - "billing-manager" - ] - } - }, + "costCenters": [ { - "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", - "budget_type": "SkuPricing", - "budget_product_skus": [ - "actions_linux" - ], - "budget_scope": "organization", - "budget_amount": 500, - "prevent_further_usage": false, - "budget_alerting": { - "will_alert": true, - "alert_recipients": [ - "org-owner" - ] - } + "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", + "name": "Cost Center Name", + "state": "active", + "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resources": [ + { + "type": "User", + "name": "Monalisa" + }, + { + "type": "Repo", + "name": "octocat/hello-world" + } + ] }, { - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "budget_type": "ProductPricing", - "budget_product_skus": [ - "packages" - ], - "budget_scope": "cost_center", - "budget_amount": 250, - "prevent_further_usage": true, - "budget_alerting": { - "will_alert": false, - "alert_recipients": [] - } + "id": "3ffb9ffe-6903-11ee-8c99-0242ac120003", + "name": "Another Cost Center", + "state": "active", + "resources": [ + { + "type": "User", + "name": "Octocat" + } + ] } ] }, "schema": { "type": "object", "properties": { - "budgets": { + "costCenters": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", - "description": "The unique identifier for the budget", - "examples": [ - "2066deda-923f-43f9-88d2-62395a28c0cdd" - ] - }, - "budget_type": { - "type": "string", - "description": "The type of pricing for the budget", - "enum": [ - "SkuPricing", - "ProductPricing" - ], - "examples": [ - "SkuPricing" - ] - }, - "budget_amount": { - "type": "integer", - "description": "The budget amount limit in whole dollars. For license-based products, this represents the number of licenses." - }, - "prevent_further_usage": { - "type": "boolean", - "description": "The type of limit enforcement for the budget", - "examples": [ - true - ] + "description": "ID of the cost center." }, - "budget_scope": { + "name": { "type": "string", - "description": "The scope of the budget (enterprise, organization, repository, cost center)", - "examples": [ - "enterprise" - ] + "description": "Name of the cost center." }, - "budget_entity_name": { + "state": { "type": "string", - "description": "The name of the entity for the budget (enterprise does not require a name).", - "examples": [ - "octocat/hello-world" + "description": "State of the cost center.", + "enum": [ + "active", + "deleted" ] }, - "budget_product_sku": { - "type": "string", - "description": "A single product or sku to apply the budget to." + "azure_subscription": { + "type": [ + "string", + "null" + ], + "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." }, - "budget_alerting": { - "type": "object", - "properties": { - "will_alert": { - "type": "boolean", - "description": "Whether alerts are enabled for this budget", - "examples": [ - true - ] - }, - "alert_recipients": { - "type": "array", - "items": { - "type": "string" + "resources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the resource." }, - "description": "Array of user login names who will receive alerts", - "examples": [ - "mona", - "lisa" - ] - } - }, - "required": [ - "will_alert", - "alert_recipients" - ] + "name": { + "type": "string", + "description": "Name of the resource." + } + }, + "required": [ + "type", + "name" + ] + } } }, "required": [ "id", - "budget_type", - "budget_product_sku", - "budget_scope", - "budget_amount", - "prevent_further_usage", - "budget_alerting" + "name", + "resources" ] - }, - "description": "Array of budget objects for the enterprise" + } } - }, - "required": [ - "budgets" - ] + } } } } @@ -126754,183 +126076,128 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "Response when getting all budgets
" + "description": "Response when getting cost centers
" }, { - "httpStatusCode": "403", - "description": "Forbidden
" + "httpStatusCode": "400", + "description": "Bad Request
" }, { - "httpStatusCode": "404", - "description": "Resource not found
" + "httpStatusCode": "403", + "description": "Forbidden
" }, { "httpStatusCode": "500", "description": "Internal Error
" + }, + { + "httpStatusCode": "503", + "description": "Service unavailable
" } ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", - "title": "Get a budget by ID for an organization", + "verb": "post", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers", + "title": "Create a new cost center", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", + "name": "enterprise", + "description": "The slug version of the enterprise name.
", "in": "path", "required": true, "schema": { "type": "string" } - }, + } + ], + "bodyParameters": [ { - "name": "budget_id", - "description": "The ID corresponding to the budget.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } + "type": "string", + "name": "name", + "in": "body", + "description": "The name of the cost center (max length 255 characters)
", + "isRequired": true } ], - "bodyParameters": [], - "descriptionHTML": "Note
\n\nThis endpoint is in public preview and is subject to change.
\nGets a budget by ID. The authenticated user must be an organization admin or billing manager.
", + "descriptionHTML": "Creates a new cost center for an enterprise. The authenticated user must be an enterprise admin.
", "codeExamples": [ { - "key": "default", + "key": "example-1", "request": { - "description": "Example", + "contentType": "application/json", + "description": "Example request to create a cost center", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "Engineering Team" + }, "parameters": { - "org": "ORG", - "budget_id": "BUDGET_ID" + "enterprise": "ENTERPRISE" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "Response when updating a budget
", + "description": "Example response for a created cost center
", "example": { - "id": "2066deda-923f-43f9-88d2-62395a28c0cdd", - "budget_type": "ProductPricing", - "budget_product_sku": "actions_linux", - "budget_scope": "repository", - "budget_entity_name": "example-repo-name", - "budget_amount": 0, - "prevent_further_usage": true, - "budget_alerting": { - "will_alert": true, - "alert_recipients": [ - "mona", - "lisa" - ] - } + "id": "abc123", + "name": "Engineering Team", + "resources": [] }, "schema": { "type": "object", "properties": { "id": { "type": "string", - "description": "ID of the budget." - }, - "budget_scope": { - "type": "string", - "description": "The type of scope for the budget", - "enum": [ - "enterprise", - "organization", - "repository", - "cost_center" - ], - "examples": [ - "enterprise" - ] + "description": "Unique identifier for the cost center" }, - "budget_entity_name": { + "name": { "type": "string", - "description": "The name of the entity to apply the budget to", - "examples": [ - "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", - "examples": [ - true - ] + "description": "Name of the cost center" }, - "budget_product_sku": { - "type": "string", - "description": "A single product or sku to apply the budget to.", - "examples": [ - "actions_linux" - ] + "azure_subscription": { + "type": [ + "string", + "null" + ], + "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." }, - "budget_type": { + "state": { "type": "string", - "description": "The type of pricing for the budget", + "description": "State of the cost center.", "enum": [ - "ProductPricing", - "SkuPricing" - ], - "examples": [ - "ProductPricing" + "active", + "deleted" ] }, - "budget_alerting": { - "type": "object", - "properties": { - "will_alert": { - "type": "boolean", - "description": "Whether alerts are enabled for this budget", - "examples": [ - true - ] - }, - "alert_recipients": { - "type": "array", - "items": { - "type": "string" + "resources": { + "type": "array", + "description": "List of resources assigned to this cost center", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of resource (User, Org, or Repo)" }, - "description": "Array of user login names who will receive alerts", - "examples": [ - "mona", - "lisa" - ] + "name": { + "type": "string", + "description": "Name/login of the resource" + } } } } - }, - "required": [ - "id", - "budget_amount", - "prevent_further_usage", - "budget_product_sku", - "budget_type", - "budget_alerting", - "budget_scope", - "budget_entity_name" - ] + } } } } @@ -126938,52 +126205,40 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "Response when updating a budget
" + "description": "Cost center created successfully
" }, { "httpStatusCode": "400", - "description": "Bad Request
" - }, - { - "httpStatusCode": "403", - "description": "Forbidden
" + "description": "Bad request
" }, { - "httpStatusCode": "404", - "description": "Resource not found
" + "httpStatusCode": "409", + "description": "Conflict
" }, { "httpStatusCode": "500", - "description": "Internal Error
" - }, - { - "httpStatusCode": "503", - "description": "Service unavailable
" + "description": "Internal server error
" } ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", - "verb": "patch", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", - "title": "Update a budget for an organization", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}", + "title": "Get a cost center by ID", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", + "name": "enterprise", + "description": "The slug version of the enterprise name.
", "in": "path", "required": true, "schema": { @@ -126991,8 +126246,8 @@ } }, { - "name": "budget_id", - "description": "The ID corresponding to the budget.
", + "name": "cost_center_id", + "description": "The ID corresponding to the cost center.
", "in": "path", "required": true, "schema": { @@ -127000,176 +126255,91 @@ } } ], - "bodyParameters": [ - { - "type": "integer", - "name": "budget_amount", - "in": "body", - "description": "The budget amount in whole dollars. For license-based products, this represents the number of licenses.
" - }, - { - "type": "boolean", - "name": "prevent_further_usage", - "in": "body", - "description": "Whether to prevent additional spending once the budget is exceeded
" - }, - { - "type": "object", - "name": "budget_alerting", - "in": "body", - "description": "", - "childParamsGroups": [ - { - "type": "boolean", - "name": "will_alert", - "description": "Whether alerts are enabled for this budget
" - }, - { - "type": "array of strings", - "name": "alert_recipients", - "description": "Array of user login names who will receive alerts
" - } - ] - }, - { - "type": "string", - "name": "budget_scope", - "in": "body", - "description": "The scope of the budget
", - "enum": [ - "enterprise", - "organization", - "repository", - "cost_center" - ] - }, - { - "type": "string", - "name": "budget_entity_name", - "in": "body", - "description": "The name of the entity to apply the budget to
" - }, - { - "type": "string", - "name": "budget_type", - "in": "body", - "description": "The type of pricing for the budget
", - "enum": [ - "ProductPricing", - "SkuPricing" - ] - }, - { - "type": "string", - "name": "budget_product_sku", - "in": "body", - "description": "A single product or SKU that will be covered in the budget
" - } - ], - "descriptionHTML": "Note
\n\nThis endpoint is in public preview and is subject to change.
\nUpdates an existing budget for an organization. The authenticated user must be an organization admin or billing manager.
", + "bodyParameters": [], + "descriptionHTML": "Gets a cost center by ID. The authenticated user must be an enterprise admin.
", "codeExamples": [ { - "key": "update-budget", + "key": "default", "request": { - "contentType": "application/json", - "description": "Update budget example", + "description": "Example", "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "prevent_further_usage": false, - "budget_amount": 10, - "budget_alerting": { - "will_alert": false, - "alert_recipients": [] - } - }, "parameters": { - "org": "ORG", - "budget_id": "BUDGET_ID" + "enterprise": "ENTERPRISE", + "cost_center_id": "COST_CENTER_ID" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "Budget updated successfully
", + "description": "Response when getting a cost center
", "example": { - "message": "Budget successfully updated.", - "id": "550e8400-e29b-41d4-a716-446655440000" + "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", + "name": "Cost Center Name", + "state": "active", + "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resources": [ + { + "type": "User", + "name": "Monalisa" + }, + { + "type": "Repo", + "name": "octocat/hello-world" + } + ] }, "schema": { "type": "object", "properties": { - "message": { + "id": { "type": "string", - "examples": [ - "Budget successfully updated." + "description": "ID of the cost center." + }, + "name": { + "type": "string", + "description": "Name of the cost center." + }, + "azure_subscription": { + "type": [ + "string", + "null" + ], + "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." + }, + "state": { + "type": "string", + "description": "State of the cost center.", + "enum": [ + "active", + "deleted" ] }, - "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" - } + "resources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the resource." + }, + "name": { + "type": "string", + "description": "Name of the resource." } }, - "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": { - "type": "string", - "description": "The type of pricing for the budget", - "enum": [ - "ProductPricing", - "SkuPricing" - ] - }, - "budget_product_sku": { - "type": "string", - "description": "A single product or SKU that will be covered in the budget" - } + "required": [ + "type", + "name" + ] } } - } + }, + "required": [ + "id", + "name", + "resources" + ] } } } @@ -127177,108 +126347,156 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "Budget updated successfully
" + "description": "Response when getting a cost center
" }, { "httpStatusCode": "400", "description": "Bad Request
" }, - { - "httpStatusCode": "401", - "description": "Requires authentication
" - }, { "httpStatusCode": "403", "description": "Forbidden
" }, { - "httpStatusCode": "404", - "description": "Budget not found or feature not enabled
" - }, - { - "httpStatusCode": "422", - "description": "Validation failed, or the endpoint has been spammed.
" + "httpStatusCode": "500", + "description": "Internal Error
" }, { - "httpStatusCode": "500", - "description": "Internal server error
" + "httpStatusCode": "503", + "description": "Service unavailable
" } ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "write" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", - "verb": "delete", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", - "title": "Delete a budget for an organization", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}", + "title": "Update a cost center name", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", + "name": "enterprise", "in": "path", "required": true, "schema": { "type": "string" - } + }, + "description": "The slug version of the enterprise name
" }, { - "name": "budget_id", - "description": "The ID corresponding to the budget.
", + "name": "cost_center_id", "in": "path", "required": true, "schema": { "type": "string" - } + }, + "description": "The unique identifier of the cost center
" } ], - "bodyParameters": [], - "descriptionHTML": "Note
\n\nThis endpoint is in public preview and is subject to change.
\nDeletes a budget by ID for an organization. The authenticated user must be an organization admin or billing manager.
", + "bodyParameters": [ + { + "type": "string", + "name": "name", + "in": "body", + "description": "The new name for the cost center
", + "isRequired": true + } + ], + "descriptionHTML": "Updates an existing cost center name.
", "codeExamples": [ { - "key": "default", + "key": "update-cost-center", "request": { - "description": "Example", + "contentType": "application/json", + "description": "Update cost center name example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "New Cost Center Name" + }, "parameters": { - "org": "ORG", - "budget_id": "BUDGET_ID" + "enterprise": "ENTERPRISE", + "cost_center_id": "COST_CENTER_ID" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "Response when deleting a budget
", + "description": "Response when updating a cost center
", "example": { - "message": "Budget successfully deleted.", - "budget_id": "2c1feb79-3947-4dc8-a16e-80cbd732cc0b" + "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", + "name": "Cost Center Name", + "state": "active", + "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resources": [ + { + "type": "User", + "name": "Monalisa" + }, + { + "type": "Repo", + "name": "octocat/hello-world" + } + ] }, "schema": { "type": "object", "properties": { - "message": { + "id": { "type": "string", - "description": "A message indicating the result of the deletion operation" + "description": "ID of the cost center." }, - "id": { + "name": { "type": "string", - "description": "The ID of the deleted budget" + "description": "Name of the cost center." + }, + "azure_subscription": { + "type": [ + "string", + "null" + ], + "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." + }, + "state": { + "type": "string", + "description": "State of the cost center.", + "enum": [ + "active", + "deleted" + ] + }, + "resources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the resource." + }, + "name": { + "type": "string", + "description": "Name of the resource." + } + }, + "required": [ + "type", + "name" + ] + } } }, "required": [ - "message", - "id" + "id", + "name", + "resources" ] } } @@ -127287,7 +126505,7 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "Response when deleting a budget
" + "description": "Response when updating a cost center
" }, { "httpStatusCode": "400", @@ -127301,6 +126519,10 @@ "httpStatusCode": "404", "description": "Resource not found
" }, + { + "httpStatusCode": "409", + "description": "Conflict
" + }, { "httpStatusCode": "500", "description": "Internal Error
" @@ -127312,27 +126534,23 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "write" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/premium_request/usage", - "title": "Get billing premium request usage report for an organization", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}", + "title": "Delete a cost center", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", + "name": "enterprise", + "description": "The slug version of the enterprise name.
", "in": "path", "required": true, "schema": { @@ -127340,62 +126558,17 @@ } }, { - "name": "year", - "description": "If specified, only return results for a single year. The value of year is an integer with four digits representing a year. For example, 2025. Default value is the current year.
If specified, only return results for a single month. The value of month is an integer between 1 and 12. Default value is the current month. If no year is specified the default year is used.
If specified, only return results for a single day. The value of day is an integer between 1 and 31. If no year or month is specified, the default year and month are used.
The user name to query usage for. The name is not case sensitive.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "model", - "description": "The model name to query usage for. The name is not case sensitive.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "product", - "description": "The product name to query usage for. The name is not case sensitive.
", - "in": "query", - "required": false, + "name": "cost_center_id", + "description": "The ID corresponding to the cost center.
", + "in": "path", + "required": true, "schema": { "type": "string" } } ], "bodyParameters": [], - "descriptionHTML": "Gets a report of premium request usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account.
\nNote: Only data from the past 24 months is accessible via this endpoint.
", + "descriptionHTML": "Archieves a cost center by ID. The authenticated user must be an enterprise admin.
", "codeExamples": [ { "key": "default", @@ -127403,143 +126576,48 @@ "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "parameters": { - "org": "ORG" + "enterprise": "ENTERPRISE", + "cost_center_id": "COST_CENTER_ID" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "Response when getting a billing premium request usage report
", + "description": "Response when deleting a cost center
", "example": { - "timePeriod": { - "year": 2025 - }, - "organization": "GitHub", - "usageItems": [ - { - "product": "Copilot", - "sku": "Copilot Premium Request", - "model": "GPT-5", - "unitType": "requests", - "pricePerUnit": 0.04, - "grossQuantity": 100, - "grossAmount": 4, - "discountQuantity": 0, - "discountAmount": 0, - "netQuantity": 100, - "netAmount": 4 - } - ] + "message": "Cost center successfully deleted.", + "id": "2066deda-923f-43f9-88d2-62395a28c0cdd", + "name": "cc3", + "costCenterState": "CostCenterArchived" }, "schema": { "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" - ] - }, - "organization": { + "message": { "type": "string", - "description": "The unique identifier of the organization." + "description": "A message indicating the result of the deletion operation" }, - "user": { + "id": { "type": "string", - "description": "The name of the user for the usage report." + "description": "The unique identifier of the deleted cost center" }, - "product": { + "name": { "type": "string", - "description": "The product for the usage report." + "description": "The name of the deleted cost center" }, - "model": { + "costCenterState": { "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" - ] - } + "enum": [ + "CostCenterArchived" + ], + "description": "The state of the cost center after deletion" } }, "required": [ - "timePeriod", - "organization", - "usageItems" + "message", + "id", + "name", + "costCenterState" ] } } @@ -127548,7 +126626,7 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "Response when getting a billing premium request usage report
" + "description": "Response when deleting a cost center
" }, { "httpStatusCode": "400", @@ -127573,27 +126651,23 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage", - "title": "Get billing usage report for an organization", + "verb": "post", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}/resource", + "title": "Add resources to a cost center", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", + "name": "enterprise", + "description": "The slug version of the enterprise name.
", "in": "path", "required": true, "schema": { @@ -127601,131 +126675,104 @@ } }, { - "name": "year", - "description": "If specified, only return results for a single year. The value of year is an integer with four digits representing a year. For example, 2025. Default value is the current year.
The ID corresponding to the cost center.
", + "in": "path", + "required": true, "schema": { - "type": "integer" + "type": "string" } + } + ], + "bodyParameters": [ + { + "type": "array of strings", + "name": "users", + "in": "body", + "description": "The usernames of the users to add to the cost center.
" }, { - "name": "month", - "description": "If specified, only return results for a single month. The value of month is an integer between 1 and 12. If no year is specified the default year is used.
The organizations to add to the cost center.
" }, { - "name": "day", - "description": "If specified, only return results for a single day. The value of day is an integer between 1 and 31. If no year or month is specified, the default year and month are used.
The repositories to add to the cost center.
" } ], - "bodyParameters": [], - "descriptionHTML": "Gets a report of the total usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account.
\nNote: This endpoint is only available to organizations with access to the enhanced billing platform. For more information, see \"About the enhanced billing platform.\"
", + "descriptionHTML": "Adds resources to a cost center.
\nThe usage for the resources will be charged to the cost center's budget. The authenticated user must be an enterprise admin in order to use this endpoint.
", "codeExamples": [ { "key": "default", "request": { + "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "monalisa" + ] + }, "parameters": { - "org": "ORG" + "enterprise": "ENTERPRISE", + "cost_center_id": "COST_CENTER_ID" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "Billing usage report response for an organization
", + "description": "Response when adding resources to a cost center
", "example": { - "usageItems": [ + "message": "Resources successfully added to the cost center.", + "reassigned_resources": [ { - "date": "2023-08-01", - "product": "Actions", - "sku": "Actions Linux", - "quantity": 100, - "unitType": "minutes", - "pricePerUnit": 0.008, - "grossAmount": 0.8, - "discountAmount": 0, - "netAmount": 0.8, - "organizationName": "GitHub", - "repositoryName": "github/example" + "resource_type": "user", + "name": "monalisa", + "previous_cost_center": "old-cost-center" + }, + { + "resource_type": "organization", + "name": "octo-org", + "previous_cost_center": "another-cost-center" + }, + { + "resource_type": "repository", + "name": "octo-repo", + "previous_cost_center": "yet-another-cost-center" } ] }, "schema": { "type": "object", "properties": { - "usageItems": { - "type": "array", + "message": { + "type": "string" + }, + "reassigned_resources": { + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { - "date": { - "type": "string", - "description": "Date of the usage line item." - }, - "product": { - "type": "string", - "description": "Product name." - }, - "sku": { - "type": "string", - "description": "SKU name." - }, - "quantity": { - "type": "integer", - "description": "Quantity of the usage line item." - }, - "unitType": { + "resource_type": { "type": "string", - "description": "Unit type of the usage line item." - }, - "pricePerUnit": { - "type": "number", - "description": "Price per unit of the usage line item." - }, - "grossAmount": { - "type": "number", - "description": "Gross amount of the usage line item." - }, - "discountAmount": { - "type": "number", - "description": "Discount amount of the usage line item." - }, - "netAmount": { - "type": "number", - "description": "Net amount of the usage line item." + "description": "The type of resource that was reassigned." }, - "organizationName": { + "name": { "type": "string", - "description": "Name of the organization." + "description": "The name of the resource that was reassigned." }, - "repositoryName": { + "previous_cost_center": { "type": "string", - "description": "Name of the repository." + "description": "The previous cost center of the resource." } - }, - "required": [ - "date", - "product", - "sku", - "quantity", - "unitType", - "pricePerUnit", - "grossAmount", - "discountAmount", - "netAmount", - "organizationName" - ] + } } } } @@ -127736,7 +126783,7 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "Billing usage report response for an organization
" + "description": "Response when adding resources to a cost center
" }, { "httpStatusCode": "400", @@ -127746,6 +126793,10 @@ "httpStatusCode": "403", "description": "Forbidden
" }, + { + "httpStatusCode": "409", + "description": "Conflict
" + }, { "httpStatusCode": "500", "description": "Internal Error
" @@ -127757,27 +126808,23 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage/summary", - "title": "Get billing usage summary for an organization", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}/resource", + "title": "Remove resources from a cost center", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", + "name": "enterprise", + "description": "The slug version of the enterprise name.
", "in": "path", "required": true, "schema": { @@ -127785,201 +126832,67 @@ } }, { - "name": "year", - "description": "If specified, only return results for a single year. The value of year is an integer with four digits representing a year. For example, 2025. Default value is the current year.
If specified, only return results for a single month. The value of month is an integer between 1 and 12. Default value is the current month. If no year is specified the default year is used.
If specified, only return results for a single day. The value of day is an integer between 1 and 31. If no year or month is specified, the default year and month are used.
The repository name to query for usage in the format owner/repository.
", - "in": "query", - "required": false, + "name": "cost_center_id", + "description": "The ID corresponding to the cost center.
", + "in": "path", + "required": true, "schema": { "type": "string" } + } + ], + "bodyParameters": [ + { + "type": "array of strings", + "name": "users", + "in": "body", + "description": "The usernames of the users to remove from the cost center.
" }, { - "name": "product", - "description": "The product name to query usage for. The name is not case sensitive.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } + "type": "array of strings", + "name": "organizations", + "in": "body", + "description": "The organizations to remove from the cost center.
" }, { - "name": "sku", - "description": "The SKU to query for usage.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } + "type": "array of strings", + "name": "repositories", + "in": "body", + "description": "The repositories to remove from the cost center.
" } ], - "bodyParameters": [], - "descriptionHTML": "Note
\n\nThis endpoint is in public preview and is subject to change.
\nGets a summary report of usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account.
\nNote: Only data from the past 24 months is accessible via this endpoint.
", + "descriptionHTML": "Remove resources from a cost center.
\nThe usage for the resources will no longer be charged to the cost center's budget. The authenticated user must be an enterprise admin in order to use this endpoint.
", "codeExamples": [ { "key": "default", "request": { + "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "monalisa" + ] + }, "parameters": { - "org": "ORG" + "enterprise": "ENTERPRISE", + "cost_center_id": "COST_CENTER_ID" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "Response when getting a billing usage summary
", + "description": "Response when removing resources from a cost center
", "example": { - "timePeriod": { - "year": 2025 - }, - "organization": "GitHub", - "usageItems": [ - { - "product": "Actions", - "sku": "actions_linux", - "unitType": "minutes", - "pricePerUnit": 0.008, - "grossQuantity": 1000, - "grossAmount": 8, - "discountQuantity": 0, - "discountAmount": 0, - "netQuantity": 1000, - "netAmount": 8 - } - ] + "message": "Resources successfully removed from the cost center." }, "schema": { "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" - ] - }, - "organization": { - "type": "string", - "description": "The unique identifier of the organization." - }, - "repository": { - "type": "string", - "description": "The name of the repository for the usage report." - }, - "product": { - "type": "string", - "description": "The product for the usage report." - }, - "sku": { - "type": "string", - "description": "The SKU for the usage report." - }, - "usageItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "product": { - "type": "string", - "description": "Product name." - }, - "sku": { - "type": "string", - "description": "SKU 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", - "unitType", - "pricePerUnit", - "grossQuantity", - "grossAmount", - "discountQuantity", - "discountAmount", - "netQuantity", - "netAmount" - ] - } + "message": { + "type": "string" } - }, - "required": [ - "timePeriod", - "organization", - "usageItems" - ] + } } } } @@ -127987,7 +126900,7 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "Response when getting a billing usage summary
" + "description": "Response when removing resources from a cost center
" }, { "httpStatusCode": "400", @@ -128008,27 +126921,25 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } - }, + } + ], + "usage": [ { "serverUrl": "https://api.github.com", "verb": "get", - "requestPath": "/users/{username}/settings/billing/premium_request/usage", - "title": "Get billing premium request usage report for a user", + "requestPath": "/enterprises/{enterprise}/settings/billing/premium_request/usage", + "title": "Get billing premium request usage report for an enterprise", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { - "name": "username", - "description": "The handle for the GitHub user account.
", + "name": "enterprise", + "description": "The slug version of the enterprise name.
", "in": "path", "required": true, "schema": { @@ -128062,6 +126973,24 @@ "type": "integer" } }, + { + "name": "organization", + "description": "The organization name to query usage for. The name is not case sensitive.
", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "user", + "description": "The user name to query usage for. The name is not case sensitive.
", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, { "name": "model", "description": "The model name to query usage for. The name is not case sensitive.
", @@ -128079,10 +127008,19 @@ "schema": { "type": "string" } + }, + { + "name": "cost_center_id", + "description": "The ID corresponding to a cost center. An ID of 'none' will target usage not associated to any cost center.
", + "in": "query", + "required": false, + "schema": { + "type": "string" + } } ], "bodyParameters": [], - "descriptionHTML": "Gets a report of premium request usage for a user.
\nNote: Only data from the past 24 months is accessible via this endpoint.
", + "descriptionHTML": "Gets a report of premium request usage for an enterprise. To use this endpoint, you must be an administrator or billing manager of the enterprise.
\nNote: Only data from the past 24 months is accessible via this endpoint.
", "codeExamples": [ { "key": "default", @@ -128090,7 +127028,7 @@ "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "parameters": { - "username": "USERNAME" + "enterprise": "ENTERPRISE" } }, "response": { @@ -128101,7 +127039,7 @@ "timePeriod": { "year": 2025 }, - "user": "monalisa", + "enterprise": "GitHub", "usageItems": [ { "product": "Copilot", @@ -128141,9 +127079,17 @@ "year" ] }, + "enterprise": { + "type": "string", + "description": "The unique identifier of the enterprise." + }, "user": { "type": "string", - "description": "The unique identifier of the user." + "description": "The name of the user for the usage report." + }, + "organization": { + "type": "string", + "description": "The name of the organization for the usage report." }, "product": { "type": "string", @@ -128153,6 +127099,23 @@ "type": "string", "description": "The model for the usage report." }, + "costCenter": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier of the cost center." + }, + "name": { + "type": "string", + "description": "The name of the cost center." + } + }, + "required": [ + "id", + "name" + ] + }, "usageItems": { "type": "array", "items": { @@ -128221,7 +127184,7 @@ }, "required": [ "timePeriod", - "user", + "enterprise", "usageItems" ] } @@ -128256,27 +127219,23 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, + "userToServerRest": false, "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", "verb": "get", - "requestPath": "/users/{username}/settings/billing/usage", - "title": "Get billing usage report for a user", + "requestPath": "/enterprises/{enterprise}/settings/billing/usage", + "title": "Get billing usage report for an enterprise", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { - "name": "username", - "description": "The handle for the GitHub user account.
", + "name": "enterprise", + "description": "The slug version of the enterprise name.
", "in": "path", "required": true, "schema": { @@ -128309,10 +127268,19 @@ "schema": { "type": "integer" } + }, + { + "name": "cost_center_id", + "description": "The ID corresponding to a cost center. The default value is no cost center.
", + "in": "query", + "required": false, + "schema": { + "type": "string" + } } ], "bodyParameters": [], - "descriptionHTML": "Gets a report of the total usage for a user.
\nNote: This endpoint is only available to users with access to the enhanced billing platform.
", + "descriptionHTML": "Gets a report of usage by cost center for an enterprise. To use this endpoint, you must be an administrator or billing manager of the enterprise. By default this endpoint will return usage that does not have a cost center.
\nNote: This endpoint is only available to enterprises with access to the enhanced billing platform. For more information, see \"About the enhanced billing platform for enterprises.\"
", "codeExamples": [ { "key": "default", @@ -128320,7 +127288,7 @@ "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "parameters": { - "username": "USERNAME" + "enterprise": "ENTERPRISE" } }, "response": { @@ -128339,7 +127307,8 @@ "grossAmount": 0.8, "discountAmount": 0, "netAmount": 0.8, - "repositoryName": "user/example" + "organizationName": "GitHub", + "repositoryName": "github/example" } ] }, @@ -128387,6 +127356,10 @@ "type": "number", "description": "Net amount of the usage line item." }, + "organizationName": { + "type": "string", + "description": "Name of the organization." + }, "repositoryName": { "type": "string", "description": "Name of the repository." @@ -128401,7 +127374,8 @@ "pricePerUnit", "grossAmount", "discountAmount", - "netAmount" + "netAmount", + "organizationName" ] } } @@ -128434,27 +127408,23 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, + "userToServerRest": false, "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", "verb": "get", - "requestPath": "/users/{username}/settings/billing/usage/summary", - "title": "Get billing usage summary for a user", + "requestPath": "/enterprises/{enterprise}/settings/billing/usage/summary", + "title": "Get billing usage summary for an enterprise", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { - "name": "username", - "description": "The handle for the GitHub user account.
", + "name": "enterprise", + "description": "The slug version of the enterprise name.
", "in": "path", "required": true, "schema": { @@ -128488,6 +127458,15 @@ "type": "integer" } }, + { + "name": "organization", + "description": "The organization name to query usage for. The name is not case sensitive.
", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, { "name": "repository", "description": "The repository name to query for usage in the format owner/repository.
", @@ -128514,10 +127493,19 @@ "schema": { "type": "string" } + }, + { + "name": "cost_center_id", + "description": "The ID corresponding to a cost center. An ID of 'none' will target usage not associated to any cost center.
", + "in": "query", + "required": false, + "schema": { + "type": "string" + } } ], "bodyParameters": [], - "descriptionHTML": "Note
\n\nThis endpoint is in public preview and is subject to change.
\nGets a summary report of usage for a user.
\nNote: Only data from the past 24 months is accessible via this endpoint.
", + "descriptionHTML": "Note
\n\nThis endpoint is in public preview and is subject to change.
\nGets a summary report of usage for an enterprise. To use this endpoint, you must be an administrator or billing manager of the enterprise. By default, this endpoint will return usage across all cost centers in the enterprise.
\nNote: Only data from the past 24 months is accessible via this endpoint.
", "codeExamples": [ { "key": "default", @@ -128525,7 +127513,7 @@ "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "parameters": { - "username": "USERNAME" + "enterprise": "ENTERPRISE" } }, "response": { @@ -128536,7 +127524,7 @@ "timePeriod": { "year": 2025 }, - "user": "monalisa", + "enterprise": "GitHub", "usageItems": [ { "product": "Actions", @@ -128575,9 +127563,13 @@ "year" ] }, - "user": { + "enterprise": { + "type": "string", + "description": "The unique identifier of the enterprise." + }, + "organization": { "type": "string", - "description": "The unique identifier of the user." + "description": "The name of the organization for the usage report." }, "repository": { "type": "string", @@ -128591,6 +127583,23 @@ "type": "string", "description": "The SKU for the usage report." }, + "costCenter": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier of the cost center." + }, + "name": { + "type": "string", + "description": "The name of the cost center." + } + }, + "required": [ + "id", + "name" + ] + }, "usageItems": { "type": "array", "items": { @@ -128654,7 +127663,7 @@ }, "required": [ "timePeriod", - "user", + "enterprise", "usageItems" ] } @@ -128674,10 +127683,6 @@ "httpStatusCode": "403", "description": "Forbidden
" }, - { - "httpStatusCode": "404", - "description": "Resource not found
" - }, { "httpStatusCode": "500", "description": "Internal Error
" @@ -128689,14 +127694,10 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, + "userToServerRest": false, "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] + "fineGrainedPat": false, + "permissions": [] } } ] @@ -297837,2293 +296838,234 @@ "type": "string", "name": "domain", "description": "Domain of Splunk instance.
", - "isRequired": true - }, - { - "type": "integer", - "name": "port", - "description": "The port number for connecting to Splunk.
", - "isRequired": true - }, - { - "type": "string", - "name": "key_id", - "description": "Key ID obtained from the audit log stream key endpoint used to encrypt secrets.
", - "isRequired": true - }, - { - "type": "string", - "name": "encrypted_token", - "description": "Encrypted Token.
", - "isRequired": true - }, - { - "type": "boolean", - "name": "ssl_verify", - "description": "SSL verification helps ensure your events are sent to your Splunk endpoint securely.
", - "isRequired": true - } - ] - }, - { - "type": "object", - "name": "HecConfig", - "description": "Hec Config for Audit Log Stream Configuration
", - "isRequired": [ - "domain", - "encrypted_token", - "path", - "key_id", - "port", - "ssl_verify" - ], - "childParamsGroups": [ - { - "type": "string", - "name": "domain", - "description": "Domain of Hec instance.
", - "isRequired": true - }, - { - "type": "integer", - "name": "port", - "description": "The port number for connecting to HEC.
", - "isRequired": true - }, - { - "type": "string", - "name": "key_id", - "description": "Key ID obtained from the audit log stream key endpoint used to encrypt secrets.
", - "isRequired": true - }, - { - "type": "string", - "name": "encrypted_token", - "description": "Encrypted Token.
", - "isRequired": true - }, - { - "type": "string", - "name": "path", - "description": "Path to send events to.
", - "isRequired": true - }, - { - "type": "boolean", - "name": "ssl_verify", - "description": "SSL verification helps ensure your events are sent to your HEC endpoint securely.
", - "isRequired": true - } - ] - }, - { - "type": "object", - "name": "GoogleCloudConfig", - "description": "Google Cloud Config for audit log streaming configuration.
", - "isRequired": [ - "bucket", - "key_id", - "encrypted_json_credentials" - ], - "childParamsGroups": [ - { - "type": "string", - "name": "bucket", - "description": "Google Cloud Bucket Name
", - "isRequired": true - }, - { - "type": "string", - "name": "key_id", - "description": "Key ID obtained from the audit log stream key endpoint used to encrypt secrets.
", - "isRequired": true - }, - { - "type": "string", - "name": "encrypted_json_credentials", - "description": "", - "isRequired": true - } - ] - }, - { - "type": "object", - "name": "DatadogConfig", - "description": "Datadog Config for audit log streaming configuration.
", - "isRequired": [ - "encrypted_token", - "site", - "key_id" - ], - "childParamsGroups": [ - { - "type": "string", - "name": "encrypted_token", - "description": "Encrypted Splunk token.
", - "isRequired": true - }, - { - "type": "string", - "name": "site", - "description": "Datadog Site to use.
", - "isRequired": true, - "enum": [ - "US", - "US3", - "US5", - "EU1", - "US1-FED", - "AP1" - ] - }, - { - "type": "string", - "name": "key_id", - "description": "Key ID obtained from the audit log stream key endpoint used to encrypt secrets.
", - "isRequired": true - } - ] - } - ], - "oneOfObject": true - } - ], - "descriptionHTML": "Updates an existing audit log stream configuration for an enterprise.
\nWhen using this endpoint, you must encrypt the credentials following the same encryption steps as outlined in the guide on encrypting secrets. See \"Encrypting secrets for the REST API.\"
", - "codeExamples": [ - { - "key": "default", - "request": { - "contentType": "application/json", - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "enabled": false, - "stream_type": "Azure Event Hubs", - "vendor_specific": { - "namespace": "newnamespace", - "shared_access_key_name": "newaccesskeyname", - "shared_access_key": "newaccesskey", - "event_hub_name": "neweventhub" - } - }, - "parameters": { - "enterprise": "ENTERPRISE", - "stream_id": "STREAM_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "Successful update
", - "example": { - "id": 1, - "stream_type": "Splunk", - "stream_details": "US", - "enabled": true, - "created_at": "2024-06-06T08:00:00Z", - "updated_at": "2024-06-06T08:00:00Z", - "paused_at": null - }, - "schema": { - "title": "Get an audit log streaming configuration", - "description": "Get an audit log streaming configuration for an enterprise.", - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "stream_type": { - "type": "string" - }, - "stream_details": { - "type": "string" - }, - "enabled": { - "type": "boolean" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "paused_at": { - "type": [ - "string", - "null" - ], - "format": "date-time" - } - }, - "required": [ - "id", - "stream_type", - "stream_details", - "enabled", - "created_at", - "updated_at" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Successful update
" - }, - { - "httpStatusCode": "422", - "description": "Validation error
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "delete", - "requestPath": "/enterprises/{enterprise}/audit-log/streams/{stream_id}", - "title": "Delete an audit log streaming configuration for an enterprise", - "category": "enterprise-admin", - "subcategory": "audit-log", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "stream_id", - "description": "The ID of the audit log stream configuration.
", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Deletes an existing audit log stream configuration for an enterprise.
\nWhen using this endpoint, you must encrypt the credentials following the same encryption steps as outlined in the guide on encrypting secrets. See \"Encrypting secrets for the REST API.\"
", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE", - "stream_id": "STREAM_ID" - } - }, - "response": { - "statusCode": "204", - "description": "The audit log stream configuration was deleted successfully.
" - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "204", - "description": "The audit log stream configuration was deleted successfully.
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - } - ], - "billing": [ - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/actions", - "title": "Get GitHub Actions billing for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the summary of the free and paid GitHub Actions minutes used.
\nPaid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".
\nThe authenticated user must be an enterprise admin.
\nNote
\n\nThis endpoint is available to enterprise customers who are using the legacy billing platform.
\nResponse
", - "example": { - "total_minutes_used": 305, - "total_paid_minutes_used": 0, - "included_minutes": 3000, - "minutes_used_breakdown": { - "UBUNTU": 205, - "MACOS": 10, - "WINDOWS": 90 - } - }, - "schema": { - "type": "object", - "properties": { - "total_minutes_used": { - "type": "integer", - "description": "The sum of the free and paid GitHub Actions minutes used." - }, - "total_paid_minutes_used": { - "type": "integer", - "description": "The total paid GitHub Actions minutes used." - }, - "included_minutes": { - "type": "integer", - "description": "The amount of free GitHub Actions minutes available." - }, - "minutes_used_breakdown": { - "type": "object", - "properties": { - "UBUNTU": { - "type": "integer", - "description": "Total minutes used on Ubuntu runner machines." - }, - "MACOS": { - "type": "integer", - "description": "Total minutes used on macOS runner machines." - }, - "WINDOWS": { - "type": "integer", - "description": "Total minutes used on Windows runner machines." - }, - "ubuntu_4_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 4 core runner machines." - }, - "ubuntu_8_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 8 core runner machines." - }, - "ubuntu_16_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 16 core runner machines." - }, - "ubuntu_32_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 32 core runner machines." - }, - "ubuntu_64_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 64 core runner machines." - }, - "windows_4_core": { - "type": "integer", - "description": "Total minutes used on Windows 4 core runner machines." - }, - "windows_8_core": { - "type": "integer", - "description": "Total minutes used on Windows 8 core runner machines." - }, - "windows_16_core": { - "type": "integer", - "description": "Total minutes used on Windows 16 core runner machines." - }, - "windows_32_core": { - "type": "integer", - "description": "Total minutes used on Windows 32 core runner machines." - }, - "windows_64_core": { - "type": "integer", - "description": "Total minutes used on Windows 64 core runner machines." - }, - "macos_12_core": { - "type": "integer", - "description": "Total minutes used on macOS 12 core runner machines." - }, - "total": { - "type": "integer", - "description": "Total minutes used on all runner machines." - } - } - } - }, - "required": [ - "total_minutes_used", - "total_paid_minutes_used", - "included_minutes", - "minutes_used_breakdown" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": false, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ], - "disabledForPatV2": true - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", - "title": "Get GitHub Advanced Security active committers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "advanced_security_product", - "in": "query", - "description": "The security product to get GitHub Advanced Security active committers for.
\nFor standalone Code Scanning or Secret Protection products, this parameter is required to specify which product you want committer information for. For other plans this parameter cannot be used.
", - "required": false, - "schema": { - "type": "string", - "enum": [ - "code_security", - "secret_protection" - ] - } - }, - { - "name": "per_page", - "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Success
", - "example": { - "total_advanced_security_committers": 2, - "total_count": 2, - "maximum_advanced_security_committers": 4, - "purchased_advanced_security_committers": 4, - "repositories": [ - { - "name": "octocat-org/Hello-World", - "advanced_security_committers": 2, - "advanced_security_committers_breakdown": [ - { - "user_login": "octocat", - "last_pushed_date": "2021-11-03", - "last_pushed_email": "octocat@github.com" - }, - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-25", - "last_pushed_email": "octokitten@github.com" - } - ] - }, - { - "name": "octocat-org/server", - "advanced_security_committers": 1, - "advanced_security_committers_breakdown": [ - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-26", - "last_pushed_email": "octokitten@github.com" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "total_advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "total_count": { - "type": "integer", - "examples": [ - 2 - ] - }, - "maximum_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", - "examples": [ - 4 - ] - }, - "purchased_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences purchased", - "examples": [ - 4 - ] - }, - "repositories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "octocat/Hello-World" - ] - }, - "advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "advanced_security_committers_breakdown": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_login": { - "type": "string" - }, - "last_pushed_date": { - "type": "string", - "examples": [ - "2021-11-03" - ] - }, - "last_pushed_email": { - "type": "string", - "examples": [ - "monalisa@github.com" - ] - } - }, - "required": [ - "user_login", - "last_pushed_date", - "last_pushed_email" - ] - } - } - }, - "required": [ - "name", - "advanced_security_committers", - "advanced_security_committers_breakdown" - ] - } - } - }, - "required": [ - "repositories" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Success
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers", - "title": "Get all cost centers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "state", - "in": "query", - "description": "Set to active or deleted to only list cost centers in a specific state.
Gets a list of all the cost centers for an enterprise.
", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "Response when getting cost centers
", - "example": { - "costCenters": [ - { - "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", - "name": "Cost Center Name", - "state": "active", - "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", - "resources": [ - { - "type": "User", - "name": "Monalisa" - }, - { - "type": "Repo", - "name": "octocat/hello-world" - } - ] - }, - { - "id": "3ffb9ffe-6903-11ee-8c99-0242ac120003", - "name": "Another Cost Center", - "state": "active", - "resources": [ - { - "type": "User", - "name": "Octocat" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "costCenters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "ID of the cost center." - }, - "name": { - "type": "string", - "description": "Name of the cost center." - }, - "state": { - "type": "string", - "description": "State of the cost center.", - "enum": [ - "active", - "deleted" - ] - }, - "azure_subscription": { - "type": [ - "string", - "null" - ], - "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." - }, - "resources": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of the resource." - }, - "name": { - "type": "string", - "description": "Name of the resource." - } - }, - "required": [ - "type", - "name" - ] - } - } - }, - "required": [ - "id", - "name", - "resources" - ] - } - } - } - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Response when getting cost centers
" - }, - { - "httpStatusCode": "400", - "description": "Bad Request
" - }, - { - "httpStatusCode": "403", - "description": "Forbidden
" - }, - { - "httpStatusCode": "500", - "description": "Internal Error
" - }, - { - "httpStatusCode": "503", - "description": "Service unavailable
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "post", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers", - "title": "Create a new cost center", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [ - { - "type": "string", - "name": "name", - "in": "body", - "description": "The name of the cost center (max length 255 characters)
", - "isRequired": true - } - ], - "descriptionHTML": "Creates a new cost center for an enterprise. The authenticated user must be an enterprise admin.
", - "codeExamples": [ - { - "key": "example-1", - "request": { - "contentType": "application/json", - "description": "Example request to create a cost center", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "name": "Engineering Team" - }, - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "Example response for a created cost center
", - "example": { - "id": "abc123", - "name": "Engineering Team", - "resources": [] - }, - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the cost center" - }, - "name": { - "type": "string", - "description": "Name of the cost center" - }, - "azure_subscription": { - "type": [ - "string", - "null" - ], - "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." - }, - "state": { - "type": "string", - "description": "State of the cost center.", - "enum": [ - "active", - "deleted" - ] - }, - "resources": { - "type": "array", - "description": "List of resources assigned to this cost center", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of resource (User, Org, or Repo)" - }, - "name": { - "type": "string", - "description": "Name/login of the resource" - } - } - } - } - } - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Cost center created successfully
" - }, - { - "httpStatusCode": "400", - "description": "Bad request
" - }, - { - "httpStatusCode": "409", - "description": "Conflict
" - }, - { - "httpStatusCode": "500", - "description": "Internal server error
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}", - "title": "Get a cost center by ID", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "cost_center_id", - "description": "The ID corresponding to the cost center.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets a cost center by ID. The authenticated user must be an enterprise admin.
", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE", - "cost_center_id": "COST_CENTER_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "Response when getting a cost center
", - "example": { - "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", - "name": "Cost Center Name", - "state": "active", - "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", - "resources": [ - { - "type": "User", - "name": "Monalisa" - }, - { - "type": "Repo", - "name": "octocat/hello-world" - } - ] - }, - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "ID of the cost center." - }, - "name": { - "type": "string", - "description": "Name of the cost center." - }, - "azure_subscription": { - "type": [ - "string", - "null" - ], - "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." - }, - "state": { - "type": "string", - "description": "State of the cost center.", - "enum": [ - "active", - "deleted" - ] - }, - "resources": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of the resource." - }, - "name": { - "type": "string", - "description": "Name of the resource." - } - }, - "required": [ - "type", - "name" - ] - } - } - }, - "required": [ - "id", - "name", - "resources" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Response when getting a cost center
" - }, - { - "httpStatusCode": "400", - "description": "Bad Request
" - }, - { - "httpStatusCode": "403", - "description": "Forbidden
" - }, - { - "httpStatusCode": "500", - "description": "Internal Error
" - }, - { - "httpStatusCode": "503", - "description": "Service unavailable
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "patch", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}", - "title": "Update a cost center name", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "The slug version of the enterprise name
" - }, - { - "name": "cost_center_id", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "The unique identifier of the cost center
" - } - ], - "bodyParameters": [ - { - "type": "string", - "name": "name", - "in": "body", - "description": "The new name for the cost center
", - "isRequired": true - } - ], - "descriptionHTML": "Updates an existing cost center name.
", - "codeExamples": [ - { - "key": "update-cost-center", - "request": { - "contentType": "application/json", - "description": "Update cost center name example", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "name": "New Cost Center Name" - }, - "parameters": { - "enterprise": "ENTERPRISE", - "cost_center_id": "COST_CENTER_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "Response when updating a cost center
", - "example": { - "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", - "name": "Cost Center Name", - "state": "active", - "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", - "resources": [ - { - "type": "User", - "name": "Monalisa" - }, - { - "type": "Repo", - "name": "octocat/hello-world" - } - ] - }, - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "ID of the cost center." - }, - "name": { - "type": "string", - "description": "Name of the cost center." - }, - "azure_subscription": { - "type": [ - "string", - "null" - ], - "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." - }, - "state": { - "type": "string", - "description": "State of the cost center.", - "enum": [ - "active", - "deleted" - ] - }, - "resources": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of the resource." - }, - "name": { - "type": "string", - "description": "Name of the resource." - } - }, - "required": [ - "type", - "name" - ] - } - } - }, - "required": [ - "id", - "name", - "resources" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Response when updating a cost center
" - }, - { - "httpStatusCode": "400", - "description": "Bad Request
" - }, - { - "httpStatusCode": "403", - "description": "Forbidden
" - }, - { - "httpStatusCode": "404", - "description": "Resource not found
" - }, - { - "httpStatusCode": "409", - "description": "Conflict
" - }, - { - "httpStatusCode": "500", - "description": "Internal Error
" - }, - { - "httpStatusCode": "503", - "description": "Service unavailable
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "delete", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}", - "title": "Delete a cost center", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "cost_center_id", - "description": "The ID corresponding to the cost center.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Archieves a cost center by ID. The authenticated user must be an enterprise admin.
", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE", - "cost_center_id": "COST_CENTER_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "Response when deleting a cost center
", - "example": { - "message": "Cost center successfully deleted.", - "id": "2066deda-923f-43f9-88d2-62395a28c0cdd", - "name": "cc3", - "costCenterState": "CostCenterArchived" - }, - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "A message indicating the result of the deletion operation" - }, - "id": { - "type": "string", - "description": "The unique identifier of the deleted cost center" - }, - "name": { - "type": "string", - "description": "The name of the deleted cost center" - }, - "costCenterState": { - "type": "string", - "enum": [ - "CostCenterArchived" - ], - "description": "The state of the cost center after deletion" - } - }, - "required": [ - "message", - "id", - "name", - "costCenterState" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Response when deleting a cost center
" - }, - { - "httpStatusCode": "400", - "description": "Bad Request
" - }, - { - "httpStatusCode": "403", - "description": "Forbidden
" - }, - { - "httpStatusCode": "404", - "description": "Resource not found
" - }, - { - "httpStatusCode": "500", - "description": "Internal Error
" - }, - { - "httpStatusCode": "503", - "description": "Service unavailable
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "post", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}/resource", - "title": "Add resources to a cost center", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "cost_center_id", - "description": "The ID corresponding to the cost center.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [ - { - "type": "array of strings", - "name": "users", - "in": "body", - "description": "The usernames of the users to add to the cost center.
" - }, - { - "type": "array of strings", - "name": "organizations", - "in": "body", - "description": "The organizations to add to the cost center.
" - }, - { - "type": "array of strings", - "name": "repositories", - "in": "body", - "description": "The repositories to add to the cost center.
" - } - ], - "descriptionHTML": "Adds resources to a cost center.
\nThe usage for the resources will be charged to the cost center's budget. The authenticated user must be an enterprise admin in order to use this endpoint.
", - "codeExamples": [ - { - "key": "default", - "request": { - "contentType": "application/json", - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "users": [ - "monalisa" - ] - }, - "parameters": { - "enterprise": "ENTERPRISE", - "cost_center_id": "COST_CENTER_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "Response when adding resources to a cost center
", - "example": { - "message": "Resources successfully added to the cost center.", - "reassigned_resources": [ - { - "resource_type": "user", - "name": "monalisa", - "previous_cost_center": "old-cost-center" - }, - { - "resource_type": "organization", - "name": "octo-org", - "previous_cost_center": "another-cost-center" - }, - { - "resource_type": "repository", - "name": "octo-repo", - "previous_cost_center": "yet-another-cost-center" - } - ] - }, - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reassigned_resources": { - "type": [ - "array", - "null" - ], - "items": { - "type": "object", - "properties": { - "resource_type": { - "type": "string", - "description": "The type of resource that was reassigned." - }, - "name": { - "type": "string", - "description": "The name of the resource that was reassigned." - }, - "previous_cost_center": { - "type": "string", - "description": "The previous cost center of the resource." - } - } - } - } - } - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Response when adding resources to a cost center
" - }, - { - "httpStatusCode": "400", - "description": "Bad Request
" - }, - { - "httpStatusCode": "403", - "description": "Forbidden
" - }, - { - "httpStatusCode": "409", - "description": "Conflict
" - }, - { - "httpStatusCode": "500", - "description": "Internal Error
" - }, - { - "httpStatusCode": "503", - "description": "Service unavailable
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "delete", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}/resource", - "title": "Remove resources from a cost center", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "cost_center_id", - "description": "The ID corresponding to the cost center.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [ - { - "type": "array of strings", - "name": "users", - "in": "body", - "description": "The usernames of the users to remove from the cost center.
" - }, - { - "type": "array of strings", - "name": "organizations", - "in": "body", - "description": "The organizations to remove from the cost center.
" - }, - { - "type": "array of strings", - "name": "repositories", - "in": "body", - "description": "The repositories to remove from the cost center.
" - } - ], - "descriptionHTML": "Remove resources from a cost center.
\nThe usage for the resources will no longer be charged to the cost center's budget. The authenticated user must be an enterprise admin in order to use this endpoint.
", - "codeExamples": [ - { - "key": "default", - "request": { - "contentType": "application/json", - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "users": [ - "monalisa" - ] - }, - "parameters": { - "enterprise": "ENTERPRISE", - "cost_center_id": "COST_CENTER_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "Response when removing resources from a cost center
", - "example": { - "message": "Resources successfully removed from the cost center." - }, - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - } - } - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Response when removing resources from a cost center
" - }, - { - "httpStatusCode": "400", - "description": "Bad Request
" - }, - { - "httpStatusCode": "403", - "description": "Forbidden
" - }, - { - "httpStatusCode": "500", - "description": "Internal Error
" - }, - { - "httpStatusCode": "503", - "description": "Service unavailable
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/packages", - "title": "Get GitHub Packages billing for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the free and paid storage used for GitHub Packages in gigabytes.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nThe authenticated user must be an enterprise admin.
\nNote
\n\nThis endpoint is available to enterprise customers who are using the legacy billing platform.
\nResponse
", - "example": { - "total_gigabytes_bandwidth_used": 50, - "total_paid_gigabytes_bandwidth_used": 40, - "included_gigabytes_bandwidth": 10 - }, - "schema": { - "type": "object", - "properties": { - "total_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Sum of the free and paid storage space (GB) for GitHuub Packages." - }, - "total_paid_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Total paid storage space (GB) for GitHuub Packages." - }, - "included_gigabytes_bandwidth": { - "type": "integer", - "description": "Free storage space (GB) for GitHub Packages." - } - }, - "required": [ - "total_gigabytes_bandwidth_used", - "total_paid_gigabytes_bandwidth_used", - "included_gigabytes_bandwidth" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": false, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ], - "disabledForPatV2": true - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/premium_request/usage", - "title": "Get billing premium request usage report for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "year", - "description": "If specified, only return results for a single year. The value of year is an integer with four digits representing a year. For example, 2025. Default value is the current year.
If specified, only return results for a single month. The value of month is an integer between 1 and 12. Default value is the current month. If no year is specified the default year is used.
If specified, only return results for a single day. The value of day is an integer between 1 and 31. If no year or month is specified, the default year and month are used.
The organization name to query usage for. The name is not case sensitive.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "user", - "description": "The user name to query usage for. The name is not case sensitive.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "model", - "description": "The model name to query usage for. The name is not case sensitive.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "product", - "description": "The product name to query usage for. The name is not case sensitive.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "cost_center_id", - "description": "The ID corresponding to a cost center. An ID of 'none' will target usage not associated to any cost center.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets a report of premium request usage for an enterprise. To use this endpoint, you must be an administrator or billing manager of the enterprise.
\nNote: Only data from the past 24 months is accessible via this endpoint.
", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "Response when getting a billing premium request usage report
", - "example": { - "timePeriod": { - "year": 2025 - }, - "enterprise": "GitHub", - "usageItems": [ + "isRequired": true + }, { - "product": "Copilot", - "sku": "Copilot Premium Request", - "model": "GPT-5", - "unitType": "requests", - "pricePerUnit": 0.04, - "grossQuantity": 100, - "grossAmount": 4, - "discountQuantity": 0, - "discountAmount": 0, - "netQuantity": 100, - "netAmount": 4 + "type": "integer", + "name": "port", + "description": "The port number for connecting to Splunk.
", + "isRequired": true + }, + { + "type": "string", + "name": "key_id", + "description": "Key ID obtained from the audit log stream key endpoint used to encrypt secrets.
", + "isRequired": true + }, + { + "type": "string", + "name": "encrypted_token", + "description": "Encrypted Token.
", + "isRequired": true + }, + { + "type": "boolean", + "name": "ssl_verify", + "description": "SSL verification helps ensure your events are sent to your Splunk endpoint securely.
", + "isRequired": true } ] }, - "schema": { + { "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" - ] + "name": "HecConfig", + "description": "Hec Config for Audit Log Stream Configuration
", + "isRequired": [ + "domain", + "encrypted_token", + "path", + "key_id", + "port", + "ssl_verify" + ], + "childParamsGroups": [ + { + "type": "string", + "name": "domain", + "description": "Domain of Hec instance.
", + "isRequired": true }, - "enterprise": { + { + "type": "integer", + "name": "port", + "description": "The port number for connecting to HEC.
", + "isRequired": true + }, + { "type": "string", - "description": "The unique identifier of the enterprise." + "name": "key_id", + "description": "Key ID obtained from the audit log stream key endpoint used to encrypt secrets.
", + "isRequired": true }, - "user": { + { "type": "string", - "description": "The name of the user for the usage report." + "name": "encrypted_token", + "description": "Encrypted Token.
", + "isRequired": true }, - "organization": { + { "type": "string", - "description": "The name of the organization for the usage report." + "name": "path", + "description": "Path to send events to.
", + "isRequired": true }, - "product": { + { + "type": "boolean", + "name": "ssl_verify", + "description": "SSL verification helps ensure your events are sent to your HEC endpoint securely.
", + "isRequired": true + } + ] + }, + { + "type": "object", + "name": "GoogleCloudConfig", + "description": "Google Cloud Config for audit log streaming configuration.
", + "isRequired": [ + "bucket", + "key_id", + "encrypted_json_credentials" + ], + "childParamsGroups": [ + { "type": "string", - "description": "The product for the usage report." + "name": "bucket", + "description": "Google Cloud Bucket Name
", + "isRequired": true }, - "model": { + { "type": "string", - "description": "The model for the usage report." + "name": "key_id", + "description": "Key ID obtained from the audit log stream key endpoint used to encrypt secrets.
", + "isRequired": true }, - "costCenter": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier of the cost center." - }, - "name": { - "type": "string", - "description": "The name of the cost center." - } - }, - "required": [ - "id", - "name" + { + "type": "string", + "name": "encrypted_json_credentials", + "description": "", + "isRequired": true + } + ] + }, + { + "type": "object", + "name": "DatadogConfig", + "description": "Datadog Config for audit log streaming configuration.
", + "isRequired": [ + "encrypted_token", + "site", + "key_id" + ], + "childParamsGroups": [ + { + "type": "string", + "name": "encrypted_token", + "description": "Encrypted Splunk token.
", + "isRequired": true + }, + { + "type": "string", + "name": "site", + "description": "Datadog Site to use.
", + "isRequired": true, + "enum": [ + "US", + "US3", + "US5", + "EU1", + "US1-FED", + "AP1" ] }, - "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" - ] - } + { + "type": "string", + "name": "key_id", + "description": "Key ID obtained from the audit log stream key endpoint used to encrypt secrets.
", + "isRequired": true } - }, - "required": [ - "timePeriod", - "enterprise", - "usageItems" ] } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Response when getting a billing premium request usage report
" - }, - { - "httpStatusCode": "400", - "description": "Bad Request
" - }, - { - "httpStatusCode": "403", - "description": "Forbidden
" - }, - { - "httpStatusCode": "404", - "description": "Resource not found
" - }, - { - "httpStatusCode": "500", - "description": "Internal Error
" - }, - { - "httpStatusCode": "503", - "description": "Service unavailable
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/shared-storage", - "title": "Get shared storage billing for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } + ], + "oneOfObject": true } ], - "bodyParameters": [], - "descriptionHTML": "Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nThe authenticated user must be an enterprise admin.
\nNote
\n\nThis endpoint is available to enterprise customers who are using the legacy billing platform.
\nUpdates an existing audit log stream configuration for an enterprise.
\nWhen using this endpoint, you must encrypt the credentials following the same encryption steps as outlined in the guide on encrypting secrets. See \"Encrypting secrets for the REST API.\"
", "codeExamples": [ { "key": "default", "request": { + "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "enabled": false, + "stream_type": "Azure Event Hubs", + "vendor_specific": { + "namespace": "newnamespace", + "shared_access_key_name": "newaccesskeyname", + "shared_access_key": "newaccesskey", + "event_hub_name": "neweventhub" + } + }, "parameters": { - "enterprise": "ENTERPRISE" + "enterprise": "ENTERPRISE", + "stream_id": "STREAM_ID" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "Response
", + "description": "Successful update
", "example": { - "days_left_in_billing_cycle": 20, - "estimated_paid_storage_for_month": 15, - "estimated_storage_for_month": 40 + "id": 1, + "stream_type": "Splunk", + "stream_details": "US", + "enabled": true, + "created_at": "2024-06-06T08:00:00Z", + "updated_at": "2024-06-06T08:00:00Z", + "paused_at": null }, "schema": { + "title": "Get an audit log streaming configuration", + "description": "Get an audit log streaming configuration for an enterprise.", "type": "object", "properties": { - "days_left_in_billing_cycle": { - "type": "integer", - "description": "Numbers of days left in billing cycle." + "id": { + "type": "integer" }, - "estimated_paid_storage_for_month": { - "type": "integer", - "description": "Estimated storage space (GB) used in billing cycle." + "stream_type": { + "type": "string" }, - "estimated_storage_for_month": { - "type": "integer", - "description": "Estimated sum of free and paid storage space (GB) used in billing cycle." + "stream_details": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "paused_at": { + "type": [ + "string", + "null" + ], + "format": "date-time" } }, "required": [ - "days_left_in_billing_cycle", - "estimated_paid_storage_for_month", - "estimated_storage_for_month" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "OK
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": false, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ], - "disabledForPatV2": true - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/usage", - "title": "Get billing usage report for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "year", - "description": "If specified, only return results for a single year. The value of year is an integer with four digits representing a year. For example, 2025. Default value is the current year.
If specified, only return results for a single month. The value of month is an integer between 1 and 12. If no year is specified the default year is used.
If specified, only return results for a single day. The value of day is an integer between 1 and 31. If no year or month is specified, the default year and month are used.
The ID corresponding to a cost center. The default value is no cost center.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets a report of usage by cost center for an enterprise. To use this endpoint, you must be an administrator or billing manager of the enterprise. By default this endpoint will return usage that does not have a cost center.
\nNote: This endpoint is only available to enterprises with access to the enhanced billing platform. For more information, see \"About the enhanced billing platform for enterprises.\"
", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "Response when getting a billing usage report
", - "example": { - "usageItems": [ - { - "date": "2023-08-01", - "product": "Actions", - "sku": "Actions Linux", - "quantity": 100, - "unitType": "minutes", - "pricePerUnit": 0.008, - "grossAmount": 0.8, - "discountAmount": 0, - "netAmount": 0.8, - "organizationName": "GitHub", - "repositoryName": "github/example" - } + "id", + "stream_type", + "stream_details", + "enabled", + "created_at", + "updated_at" ] - }, - "schema": { - "type": "object", - "properties": { - "usageItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "date": { - "type": "string", - "description": "Date of the usage line item." - }, - "product": { - "type": "string", - "description": "Product name." - }, - "sku": { - "type": "string", - "description": "SKU name." - }, - "quantity": { - "type": "integer", - "description": "Quantity of the usage line item." - }, - "unitType": { - "type": "string", - "description": "Unit type of the usage line item." - }, - "pricePerUnit": { - "type": "number", - "description": "Price per unit of the usage line item." - }, - "grossAmount": { - "type": "number", - "description": "Gross amount of the usage line item." - }, - "discountAmount": { - "type": "number", - "description": "Discount amount of the usage line item." - }, - "netAmount": { - "type": "number", - "description": "Net amount of the usage line item." - }, - "organizationName": { - "type": "string", - "description": "Name of the organization." - }, - "repositoryName": { - "type": "string", - "description": "Name of the repository." - } - }, - "required": [ - "date", - "product", - "sku", - "quantity", - "unitType", - "pricePerUnit", - "grossAmount", - "discountAmount", - "netAmount", - "organizationName" - ] - } - } - } } } } @@ -300131,23 +297073,11 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "Response when getting a billing usage report
" - }, - { - "httpStatusCode": "400", - "description": "Bad Request
" - }, - { - "httpStatusCode": "403", - "description": "Forbidden
" - }, - { - "httpStatusCode": "500", - "description": "Internal Error
" + "description": "Successful update
" }, { - "httpStatusCode": "503", - "description": "Service unavailable
" + "httpStatusCode": "422", + "description": "Validation error
" } ], "previews": [], @@ -300160,11 +297090,11 @@ }, { "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/usage/summary", - "title": "Get billing usage summary for an enterprise", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/audit-log/streams/{stream_id}", + "title": "Delete an audit log streaming configuration for an enterprise", "category": "enterprise-admin", - "subcategory": "billing", + "subcategory": "audit-log", "parameters": [ { "name": "enterprise", @@ -300176,80 +297106,17 @@ } }, { - "name": "year", - "description": "If specified, only return results for a single year. The value of year is an integer with four digits representing a year. For example, 2025. Default value is the current year.
If specified, only return results for a single month. The value of month is an integer between 1 and 12. Default value is the current month. If no year is specified the default year is used.
If specified, only return results for a single day. The value of day is an integer between 1 and 31. If no year or month is specified, the default year and month are used.
The ID of the audit log stream configuration.
", + "in": "path", + "required": true, "schema": { "type": "integer" } - }, - { - "name": "organization", - "description": "The organization name to query usage for. The name is not case sensitive.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "repository", - "description": "The repository name to query for usage in the format owner/repository.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "product", - "description": "The product name to query usage for. The name is not case sensitive.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sku", - "description": "The SKU to query for usage.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "cost_center_id", - "description": "The ID corresponding to a cost center. An ID of 'none' will target usage not associated to any cost center.
", - "in": "query", - "required": false, - "schema": { - "type": "string" - } } ], "bodyParameters": [], - "descriptionHTML": "Note
\n\nThis endpoint is in public preview and is subject to change.
\nGets a summary report of usage for an enterprise. To use this endpoint, you must be an administrator or billing manager of the enterprise. By default, this endpoint will return usage across all cost centers in the enterprise.
\nNote: Only data from the past 24 months is accessible via this endpoint.
", + "descriptionHTML": "Deletes an existing audit log stream configuration for an enterprise.
\nWhen using this endpoint, you must encrypt the credentials following the same encryption steps as outlined in the guide on encrypting secrets. See \"Encrypting secrets for the REST API.\"
", "codeExamples": [ { "key": "default", @@ -300257,183 +297124,20 @@ "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "parameters": { - "enterprise": "ENTERPRISE" + "enterprise": "ENTERPRISE", + "stream_id": "STREAM_ID" } }, "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "Response when getting a billing usage summary
", - "example": { - "timePeriod": { - "year": 2025 - }, - "enterprise": "GitHub", - "usageItems": [ - { - "product": "Actions", - "sku": "actions_linux", - "unitType": "minutes", - "pricePerUnit": 0.008, - "grossQuantity": 1000, - "grossAmount": 8, - "discountQuantity": 0, - "discountAmount": 0, - "netQuantity": 1000, - "netAmount": 8 - } - ] - }, - "schema": { - "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" - ] - }, - "enterprise": { - "type": "string", - "description": "The unique identifier of the enterprise." - }, - "organization": { - "type": "string", - "description": "The name of the organization for the usage report." - }, - "repository": { - "type": "string", - "description": "The name of the repository for the usage report." - }, - "product": { - "type": "string", - "description": "The product for the usage report." - }, - "sku": { - "type": "string", - "description": "The SKU for the usage report." - }, - "costCenter": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier of the cost center." - }, - "name": { - "type": "string", - "description": "The name of the cost center." - } - }, - "required": [ - "id", - "name" - ] - }, - "usageItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "product": { - "type": "string", - "description": "Product name." - }, - "sku": { - "type": "string", - "description": "SKU 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", - "unitType", - "pricePerUnit", - "grossQuantity", - "grossAmount", - "discountQuantity", - "discountAmount", - "netQuantity", - "netAmount" - ] - } - } - }, - "required": [ - "timePeriod", - "enterprise", - "usageItems" - ] - } + "statusCode": "204", + "description": "The audit log stream configuration was deleted successfully.
" } } ], "statusCodes": [ { - "httpStatusCode": "200", - "description": "Response when getting a billing usage summary
" - }, - { - "httpStatusCode": "400", - "description": "Bad Request
" - }, - { - "httpStatusCode": "403", - "description": "Forbidden
" - }, - { - "httpStatusCode": "500", - "description": "Internal Error
" - }, - { - "httpStatusCode": "503", - "description": "Service unavailable
" + "httpStatusCode": "204", + "description": "The audit log stream configuration was deleted successfully.
" } ], "previews": [], @@ -305621,14 +302325,14 @@ } } ], - "license": [ + "licensing": [ { "serverUrl": "https://api.github.com", "verb": "get", "requestPath": "/enterprises/{enterprise}/consumed-licenses", "title": "List enterprise consumed licenses", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [ { "name": "enterprise", @@ -305882,7 +302586,7 @@ "requestPath": "/enterprises/{enterprise}/license-sync-status", "title": "Get a license sync status", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [ { "name": "enterprise", @@ -305987,6 +302691,214 @@ ], "disabledForPatV2": true } + }, + { + "serverUrl": "https://api.github.com", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", + "title": "Get GitHub Advanced Security active committers for an enterprise", + "category": "enterprise-admin", + "subcategory": "licensing", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "advanced_security_product", + "in": "query", + "description": "The security product to get GitHub Advanced Security active committers for.
\nFor standalone Code Scanning or Secret Protection products, this parameter is required to specify which product you want committer information for. For other plans this parameter cannot be used.
", + "required": false, + "schema": { + "type": "string", + "enum": [ + "code_security", + "secret_protection" + ] + } + }, + { + "name": "per_page", + "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Success
", + "example": { + "total_advanced_security_committers": 2, + "total_count": 2, + "maximum_advanced_security_committers": 4, + "purchased_advanced_security_committers": 4, + "repositories": [ + { + "name": "octocat-org/Hello-World", + "advanced_security_committers": 2, + "advanced_security_committers_breakdown": [ + { + "user_login": "octocat", + "last_pushed_date": "2021-11-03", + "last_pushed_email": "octocat@github.com" + }, + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-25", + "last_pushed_email": "octokitten@github.com" + } + ] + }, + { + "name": "octocat-org/server", + "advanced_security_committers": 1, + "advanced_security_committers_breakdown": [ + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-26", + "last_pushed_email": "octokitten@github.com" + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "total_count": { + "type": "integer", + "examples": [ + 2 + ] + }, + "maximum_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", + "examples": [ + 4 + ] + }, + "purchased_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences purchased", + "examples": [ + 4 + ] + }, + "repositories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + }, + "advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "advanced_security_committers_breakdown": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_login": { + "type": "string" + }, + "last_pushed_date": { + "type": "string", + "examples": [ + "2021-11-03" + ] + }, + "last_pushed_email": { + "type": "string", + "examples": [ + "monalisa@github.com" + ] + } + }, + "required": [ + "user_login", + "last_pushed_date", + "last_pushed_email" + ] + } + } + }, + "required": [ + "name", + "advanced_security_committers", + "advanced_security_committers_breakdown" + ] + } + } + }, + "required": [ + "repositories" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "Success
" + } + ], + "previews": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Enterprise administration\" enterprise permissions": "write" + } + ] + } } ], "network-configurations": [ diff --git a/src/rest/data/ghes-3.14-2022-11-28/schema.json b/src/rest/data/ghes-3.14-2022-11-28/schema.json index 7b25516ec9a0..5a158e19b5e6 100644 --- a/src/rest/data/ghes-3.14-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.14-2022-11-28/schema.json @@ -207008,203 +207008,6 @@ } } ], - "billing": [ - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", - "title": "Get GitHub Advanced Security active committers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "per_page", - "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Success
", - "example": { - "total_advanced_security_committers": 2, - "total_count": 2, - "maximum_advanced_security_committers": 4, - "purchased_advanced_security_committers": 4, - "repositories": [ - { - "name": "octocat-org/Hello-World", - "advanced_security_committers": 2, - "advanced_security_committers_breakdown": [ - { - "user_login": "octocat", - "last_pushed_date": "2021-11-03", - "last_pushed_email": "octocat@github.com" - }, - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-25", - "last_pushed_email": "octokitten@github.com" - } - ] - }, - { - "name": "octocat-org/server", - "advanced_security_committers": 1, - "advanced_security_committers_breakdown": [ - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-26", - "last_pushed_email": "octokitten@github.com" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "total_advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "total_count": { - "type": "integer", - "examples": [ - 2 - ] - }, - "maximum_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", - "examples": [ - 4 - ] - }, - "purchased_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences purchased", - "examples": [ - 4 - ] - }, - "repositories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "octocat/Hello-World" - ] - }, - "advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "advanced_security_committers_breakdown": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_login": { - "type": "string" - }, - "last_pushed_date": { - "type": "string", - "examples": [ - "2021-11-03" - ] - }, - "last_pushed_email": { - "type": "string", - "examples": [ - "monalisa@github.com" - ] - } - }, - "required": [ - "user_login", - "last_pushed_date", - "last_pushed_email" - ] - } - } - }, - "required": [ - "name", - "advanced_security_committers", - "advanced_security_committers_breakdown" - ] - } - } - }, - "required": [ - "repositories" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Success
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ] - } - } - ], "code-security-and-analysis": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -208944,14 +208747,14 @@ } } ], - "license": [ + "licensing": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "get", "requestPath": "/enterprise/settings/license", "title": "Get license information", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [], "bodyParameters": [], "descriptionHTML": "", @@ -209027,6 +208830,201 @@ "fineGrainedPat": false, "permissions": [] } + }, + { + "serverUrl": "http(s)://HOSTNAME/api/v3", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", + "title": "Get GitHub Advanced Security active committers for an enterprise", + "category": "enterprise-admin", + "subcategory": "licensing", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Success
", + "example": { + "total_advanced_security_committers": 2, + "total_count": 2, + "maximum_advanced_security_committers": 4, + "purchased_advanced_security_committers": 4, + "repositories": [ + { + "name": "octocat-org/Hello-World", + "advanced_security_committers": 2, + "advanced_security_committers_breakdown": [ + { + "user_login": "octocat", + "last_pushed_date": "2021-11-03", + "last_pushed_email": "octocat@github.com" + }, + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-25", + "last_pushed_email": "octokitten@github.com" + } + ] + }, + { + "name": "octocat-org/server", + "advanced_security_committers": 1, + "advanced_security_committers_breakdown": [ + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-26", + "last_pushed_email": "octokitten@github.com" + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "total_count": { + "type": "integer", + "examples": [ + 2 + ] + }, + "maximum_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", + "examples": [ + 4 + ] + }, + "purchased_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences purchased", + "examples": [ + 4 + ] + }, + "repositories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + }, + "advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "advanced_security_committers_breakdown": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_login": { + "type": "string" + }, + "last_pushed_date": { + "type": "string", + "examples": [ + "2021-11-03" + ] + }, + "last_pushed_email": { + "type": "string", + "examples": [ + "monalisa@github.com" + ] + } + }, + "required": [ + "user_login", + "last_pushed_date", + "last_pushed_email" + ] + } + } + }, + "required": [ + "name", + "advanced_security_committers", + "advanced_security_committers_breakdown" + ] + } + } + }, + "required": [ + "repositories" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "Success
" + } + ], + "previews": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Enterprise administration\" enterprise permissions": "write" + } + ] + } } ], "manage-ghes": [ diff --git a/src/rest/data/ghes-3.15-2022-11-28/schema.json b/src/rest/data/ghes-3.15-2022-11-28/schema.json index a4484ffb3463..70878a796e1f 100644 --- a/src/rest/data/ghes-3.15-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.15-2022-11-28/schema.json @@ -211231,203 +211231,6 @@ } } ], - "billing": [ - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", - "title": "Get GitHub Advanced Security active committers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "per_page", - "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Success
", - "example": { - "total_advanced_security_committers": 2, - "total_count": 2, - "maximum_advanced_security_committers": 4, - "purchased_advanced_security_committers": 4, - "repositories": [ - { - "name": "octocat-org/Hello-World", - "advanced_security_committers": 2, - "advanced_security_committers_breakdown": [ - { - "user_login": "octocat", - "last_pushed_date": "2021-11-03", - "last_pushed_email": "octocat@github.com" - }, - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-25", - "last_pushed_email": "octokitten@github.com" - } - ] - }, - { - "name": "octocat-org/server", - "advanced_security_committers": 1, - "advanced_security_committers_breakdown": [ - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-26", - "last_pushed_email": "octokitten@github.com" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "total_advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "total_count": { - "type": "integer", - "examples": [ - 2 - ] - }, - "maximum_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", - "examples": [ - 4 - ] - }, - "purchased_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences purchased", - "examples": [ - 4 - ] - }, - "repositories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "octocat/Hello-World" - ] - }, - "advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "advanced_security_committers_breakdown": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_login": { - "type": "string" - }, - "last_pushed_date": { - "type": "string", - "examples": [ - "2021-11-03" - ] - }, - "last_pushed_email": { - "type": "string", - "examples": [ - "monalisa@github.com" - ] - } - }, - "required": [ - "user_login", - "last_pushed_date", - "last_pushed_email" - ] - } - } - }, - "required": [ - "name", - "advanced_security_committers", - "advanced_security_committers_breakdown" - ] - } - } - }, - "required": [ - "repositories" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Success
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ] - } - } - ], "code-security-and-analysis": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -213183,14 +212986,14 @@ } } ], - "license": [ + "licensing": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "get", "requestPath": "/enterprise/settings/license", "title": "Get license information", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [], "bodyParameters": [], "descriptionHTML": "", @@ -213266,6 +213069,201 @@ "fineGrainedPat": false, "permissions": [] } + }, + { + "serverUrl": "http(s)://HOSTNAME/api/v3", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", + "title": "Get GitHub Advanced Security active committers for an enterprise", + "category": "enterprise-admin", + "subcategory": "licensing", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Success
", + "example": { + "total_advanced_security_committers": 2, + "total_count": 2, + "maximum_advanced_security_committers": 4, + "purchased_advanced_security_committers": 4, + "repositories": [ + { + "name": "octocat-org/Hello-World", + "advanced_security_committers": 2, + "advanced_security_committers_breakdown": [ + { + "user_login": "octocat", + "last_pushed_date": "2021-11-03", + "last_pushed_email": "octocat@github.com" + }, + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-25", + "last_pushed_email": "octokitten@github.com" + } + ] + }, + { + "name": "octocat-org/server", + "advanced_security_committers": 1, + "advanced_security_committers_breakdown": [ + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-26", + "last_pushed_email": "octokitten@github.com" + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "total_count": { + "type": "integer", + "examples": [ + 2 + ] + }, + "maximum_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", + "examples": [ + 4 + ] + }, + "purchased_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences purchased", + "examples": [ + 4 + ] + }, + "repositories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + }, + "advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "advanced_security_committers_breakdown": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_login": { + "type": "string" + }, + "last_pushed_date": { + "type": "string", + "examples": [ + "2021-11-03" + ] + }, + "last_pushed_email": { + "type": "string", + "examples": [ + "monalisa@github.com" + ] + } + }, + "required": [ + "user_login", + "last_pushed_date", + "last_pushed_email" + ] + } + } + }, + "required": [ + "name", + "advanced_security_committers", + "advanced_security_committers_breakdown" + ] + } + } + }, + "required": [ + "repositories" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "Success
" + } + ], + "previews": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Enterprise administration\" enterprise permissions": "write" + } + ] + } } ], "manage-ghes": [ diff --git a/src/rest/data/ghes-3.16-2022-11-28/schema.json b/src/rest/data/ghes-3.16-2022-11-28/schema.json index c5b75e2e9162..ae00d04f5346 100644 --- a/src/rest/data/ghes-3.16-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.16-2022-11-28/schema.json @@ -216331,203 +216331,6 @@ } } ], - "billing": [ - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", - "title": "Get GitHub Advanced Security active committers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "per_page", - "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Success
", - "example": { - "total_advanced_security_committers": 2, - "total_count": 2, - "maximum_advanced_security_committers": 4, - "purchased_advanced_security_committers": 4, - "repositories": [ - { - "name": "octocat-org/Hello-World", - "advanced_security_committers": 2, - "advanced_security_committers_breakdown": [ - { - "user_login": "octocat", - "last_pushed_date": "2021-11-03", - "last_pushed_email": "octocat@github.com" - }, - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-25", - "last_pushed_email": "octokitten@github.com" - } - ] - }, - { - "name": "octocat-org/server", - "advanced_security_committers": 1, - "advanced_security_committers_breakdown": [ - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-26", - "last_pushed_email": "octokitten@github.com" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "total_advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "total_count": { - "type": "integer", - "examples": [ - 2 - ] - }, - "maximum_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", - "examples": [ - 4 - ] - }, - "purchased_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences purchased", - "examples": [ - 4 - ] - }, - "repositories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "octocat/Hello-World" - ] - }, - "advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "advanced_security_committers_breakdown": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_login": { - "type": "string" - }, - "last_pushed_date": { - "type": "string", - "examples": [ - "2021-11-03" - ] - }, - "last_pushed_email": { - "type": "string", - "examples": [ - "monalisa@github.com" - ] - } - }, - "required": [ - "user_login", - "last_pushed_date", - "last_pushed_email" - ] - } - } - }, - "required": [ - "name", - "advanced_security_committers", - "advanced_security_committers_breakdown" - ] - } - } - }, - "required": [ - "repositories" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Success
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ] - } - } - ], "code-security-and-analysis": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -218283,14 +218086,14 @@ } } ], - "license": [ + "licensing": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "get", "requestPath": "/enterprise/settings/license", "title": "Get license information", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [], "bodyParameters": [], "descriptionHTML": "", @@ -218366,6 +218169,201 @@ "fineGrainedPat": false, "permissions": [] } + }, + { + "serverUrl": "http(s)://HOSTNAME/api/v3", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", + "title": "Get GitHub Advanced Security active committers for an enterprise", + "category": "enterprise-admin", + "subcategory": "licensing", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Success
", + "example": { + "total_advanced_security_committers": 2, + "total_count": 2, + "maximum_advanced_security_committers": 4, + "purchased_advanced_security_committers": 4, + "repositories": [ + { + "name": "octocat-org/Hello-World", + "advanced_security_committers": 2, + "advanced_security_committers_breakdown": [ + { + "user_login": "octocat", + "last_pushed_date": "2021-11-03", + "last_pushed_email": "octocat@github.com" + }, + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-25", + "last_pushed_email": "octokitten@github.com" + } + ] + }, + { + "name": "octocat-org/server", + "advanced_security_committers": 1, + "advanced_security_committers_breakdown": [ + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-26", + "last_pushed_email": "octokitten@github.com" + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "total_count": { + "type": "integer", + "examples": [ + 2 + ] + }, + "maximum_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", + "examples": [ + 4 + ] + }, + "purchased_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences purchased", + "examples": [ + 4 + ] + }, + "repositories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + }, + "advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "advanced_security_committers_breakdown": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_login": { + "type": "string" + }, + "last_pushed_date": { + "type": "string", + "examples": [ + "2021-11-03" + ] + }, + "last_pushed_email": { + "type": "string", + "examples": [ + "monalisa@github.com" + ] + } + }, + "required": [ + "user_login", + "last_pushed_date", + "last_pushed_email" + ] + } + } + }, + "required": [ + "name", + "advanced_security_committers", + "advanced_security_committers_breakdown" + ] + } + } + }, + "required": [ + "repositories" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "Success
" + } + ], + "previews": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Enterprise administration\" enterprise permissions": "write" + } + ] + } } ], "manage-ghes": [ diff --git a/src/rest/data/ghes-3.17-2022-11-28/schema.json b/src/rest/data/ghes-3.17-2022-11-28/schema.json index 1461a02bc3b7..b18082ae46a7 100644 --- a/src/rest/data/ghes-3.17-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.17-2022-11-28/schema.json @@ -217120,216 +217120,6 @@ } } ], - "billing": [ - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", - "title": "Get GitHub Advanced Security active committers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "advanced_security_product", - "in": "query", - "description": "The security product to get GitHub Advanced Security active committers for.
\nFor standalone Code Scanning or Secret Protection products, this parameter is required to specify which product you want committer information for. For other plans this parameter cannot be used.
", - "required": false, - "schema": { - "type": "string", - "enum": [ - "code_security", - "secret_protection" - ] - } - }, - { - "name": "per_page", - "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Success
", - "example": { - "total_advanced_security_committers": 2, - "total_count": 2, - "maximum_advanced_security_committers": 4, - "purchased_advanced_security_committers": 4, - "repositories": [ - { - "name": "octocat-org/Hello-World", - "advanced_security_committers": 2, - "advanced_security_committers_breakdown": [ - { - "user_login": "octocat", - "last_pushed_date": "2021-11-03", - "last_pushed_email": "octocat@github.com" - }, - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-25", - "last_pushed_email": "octokitten@github.com" - } - ] - }, - { - "name": "octocat-org/server", - "advanced_security_committers": 1, - "advanced_security_committers_breakdown": [ - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-26", - "last_pushed_email": "octokitten@github.com" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "total_advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "total_count": { - "type": "integer", - "examples": [ - 2 - ] - }, - "maximum_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", - "examples": [ - 4 - ] - }, - "purchased_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences purchased", - "examples": [ - 4 - ] - }, - "repositories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "octocat/Hello-World" - ] - }, - "advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "advanced_security_committers_breakdown": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_login": { - "type": "string" - }, - "last_pushed_date": { - "type": "string", - "examples": [ - "2021-11-03" - ] - }, - "last_pushed_email": { - "type": "string", - "examples": [ - "monalisa@github.com" - ] - } - }, - "required": [ - "user_login", - "last_pushed_date", - "last_pushed_email" - ] - } - } - }, - "required": [ - "name", - "advanced_security_committers", - "advanced_security_committers_breakdown" - ] - } - } - }, - "required": [ - "repositories" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Success
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ] - } - } - ], "code-security-and-analysis": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -219085,14 +218875,14 @@ } } ], - "license": [ + "licensing": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "get", "requestPath": "/enterprise/settings/license", "title": "Get license information", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [], "bodyParameters": [], "descriptionHTML": "", @@ -219168,6 +218958,214 @@ "fineGrainedPat": false, "permissions": [] } + }, + { + "serverUrl": "http(s)://HOSTNAME/api/v3", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", + "title": "Get GitHub Advanced Security active committers for an enterprise", + "category": "enterprise-admin", + "subcategory": "licensing", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "advanced_security_product", + "in": "query", + "description": "The security product to get GitHub Advanced Security active committers for.
\nFor standalone Code Scanning or Secret Protection products, this parameter is required to specify which product you want committer information for. For other plans this parameter cannot be used.
", + "required": false, + "schema": { + "type": "string", + "enum": [ + "code_security", + "secret_protection" + ] + } + }, + { + "name": "per_page", + "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Success
", + "example": { + "total_advanced_security_committers": 2, + "total_count": 2, + "maximum_advanced_security_committers": 4, + "purchased_advanced_security_committers": 4, + "repositories": [ + { + "name": "octocat-org/Hello-World", + "advanced_security_committers": 2, + "advanced_security_committers_breakdown": [ + { + "user_login": "octocat", + "last_pushed_date": "2021-11-03", + "last_pushed_email": "octocat@github.com" + }, + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-25", + "last_pushed_email": "octokitten@github.com" + } + ] + }, + { + "name": "octocat-org/server", + "advanced_security_committers": 1, + "advanced_security_committers_breakdown": [ + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-26", + "last_pushed_email": "octokitten@github.com" + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "total_count": { + "type": "integer", + "examples": [ + 2 + ] + }, + "maximum_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", + "examples": [ + 4 + ] + }, + "purchased_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences purchased", + "examples": [ + 4 + ] + }, + "repositories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + }, + "advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "advanced_security_committers_breakdown": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_login": { + "type": "string" + }, + "last_pushed_date": { + "type": "string", + "examples": [ + "2021-11-03" + ] + }, + "last_pushed_email": { + "type": "string", + "examples": [ + "monalisa@github.com" + ] + } + }, + "required": [ + "user_login", + "last_pushed_date", + "last_pushed_email" + ] + } + } + }, + "required": [ + "name", + "advanced_security_committers", + "advanced_security_committers_breakdown" + ] + } + } + }, + "required": [ + "repositories" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "Success
" + } + ], + "previews": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Enterprise administration\" enterprise permissions": "write" + } + ] + } } ], "manage-ghes": [ diff --git a/src/rest/data/ghes-3.18-2022-11-28/schema.json b/src/rest/data/ghes-3.18-2022-11-28/schema.json index abdcc94ff3ed..dba94751cf9f 100644 --- a/src/rest/data/ghes-3.18-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.18-2022-11-28/schema.json @@ -218246,216 +218246,6 @@ } } ], - "billing": [ - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", - "title": "Get GitHub Advanced Security active committers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "The slug version of the enterprise name.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "advanced_security_product", - "in": "query", - "description": "The security product to get GitHub Advanced Security active committers for.
\nFor standalone Code Scanning or Secret Protection products, this parameter is required to specify which product you want committer information for. For other plans this parameter cannot be used.
", - "required": false, - "schema": { - "type": "string", - "enum": [ - "code_security", - "secret_protection" - ] - } - }, - { - "name": "per_page", - "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Success
", - "example": { - "total_advanced_security_committers": 2, - "total_count": 2, - "maximum_advanced_security_committers": 4, - "purchased_advanced_security_committers": 4, - "repositories": [ - { - "name": "octocat-org/Hello-World", - "advanced_security_committers": 2, - "advanced_security_committers_breakdown": [ - { - "user_login": "octocat", - "last_pushed_date": "2021-11-03", - "last_pushed_email": "octocat@github.com" - }, - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-25", - "last_pushed_email": "octokitten@github.com" - } - ] - }, - { - "name": "octocat-org/server", - "advanced_security_committers": 1, - "advanced_security_committers_breakdown": [ - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-26", - "last_pushed_email": "octokitten@github.com" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "total_advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "total_count": { - "type": "integer", - "examples": [ - 2 - ] - }, - "maximum_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", - "examples": [ - 4 - ] - }, - "purchased_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences purchased", - "examples": [ - 4 - ] - }, - "repositories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "octocat/Hello-World" - ] - }, - "advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "advanced_security_committers_breakdown": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_login": { - "type": "string" - }, - "last_pushed_date": { - "type": "string", - "examples": [ - "2021-11-03" - ] - }, - "last_pushed_email": { - "type": "string", - "examples": [ - "monalisa@github.com" - ] - } - }, - "required": [ - "user_login", - "last_pushed_date", - "last_pushed_email" - ] - } - } - }, - "required": [ - "name", - "advanced_security_committers", - "advanced_security_committers_breakdown" - ] - } - } - }, - "required": [ - "repositories" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "Success
" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ] - } - } - ], "code-security-and-analysis": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -221402,14 +221192,14 @@ } } ], - "license": [ + "licensing": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "get", "requestPath": "/enterprise/settings/license", "title": "Get license information", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [], "bodyParameters": [], "descriptionHTML": "", @@ -221485,6 +221275,214 @@ "fineGrainedPat": false, "permissions": [] } + }, + { + "serverUrl": "http(s)://HOSTNAME/api/v3", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", + "title": "Get GitHub Advanced Security active committers for an enterprise", + "category": "enterprise-admin", + "subcategory": "licensing", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "advanced_security_product", + "in": "query", + "description": "The security product to get GitHub Advanced Security active committers for.
\nFor standalone Code Scanning or Secret Protection products, this parameter is required to specify which product you want committer information for. For other plans this parameter cannot be used.
", + "required": false, + "schema": { + "type": "string", + "enum": [ + "code_security", + "secret_protection" + ] + } + }, + { + "name": "per_page", + "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Success
", + "example": { + "total_advanced_security_committers": 2, + "total_count": 2, + "maximum_advanced_security_committers": 4, + "purchased_advanced_security_committers": 4, + "repositories": [ + { + "name": "octocat-org/Hello-World", + "advanced_security_committers": 2, + "advanced_security_committers_breakdown": [ + { + "user_login": "octocat", + "last_pushed_date": "2021-11-03", + "last_pushed_email": "octocat@github.com" + }, + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-25", + "last_pushed_email": "octokitten@github.com" + } + ] + }, + { + "name": "octocat-org/server", + "advanced_security_committers": 1, + "advanced_security_committers_breakdown": [ + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-26", + "last_pushed_email": "octokitten@github.com" + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "total_count": { + "type": "integer", + "examples": [ + 2 + ] + }, + "maximum_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", + "examples": [ + 4 + ] + }, + "purchased_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences purchased", + "examples": [ + 4 + ] + }, + "repositories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + }, + "advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "advanced_security_committers_breakdown": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_login": { + "type": "string" + }, + "last_pushed_date": { + "type": "string", + "examples": [ + "2021-11-03" + ] + }, + "last_pushed_email": { + "type": "string", + "examples": [ + "monalisa@github.com" + ] + } + }, + "required": [ + "user_login", + "last_pushed_date", + "last_pushed_email" + ] + } + } + }, + "required": [ + "name", + "advanced_security_committers", + "advanced_security_committers_breakdown" + ] + } + } + }, + "required": [ + "repositories" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "Success
" + } + ], + "previews": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Enterprise administration\" enterprise permissions": "write" + } + ] + } } ], "manage-ghes": [ diff --git a/src/rest/lib/config.json b/src/rest/lib/config.json index 392009efc126..50e1e2bada15 100644 --- a/src/rest/lib/config.json +++ b/src/rest/lib/config.json @@ -47,5 +47,5 @@ ] } }, - "sha": "caa08e081cdd82b4b570a381822a00639cfda6f2" + "sha": "dafe0f9ac291168cb41ccc752fbdde576ae44f63" } \ No newline at end of file diff --git a/src/webhooks/lib/config.json b/src/webhooks/lib/config.json index 1fb5be9ecf7d..4c0b862cfe7f 100644 --- a/src/webhooks/lib/config.json +++ b/src/webhooks/lib/config.json @@ -1,3 +1,3 @@ { - "sha": "caa08e081cdd82b4b570a381822a00639cfda6f2" + "sha": "dafe0f9ac291168cb41ccc752fbdde576ae44f63" } \ No newline at end of file