From 5d8207dffd6cb18698fa65326e9270b59da5ecc6 Mon Sep 17 00:00:00 2001 From: "T. Greg Doucette" <58960990+LawDevNull@users.noreply.github.com> Date: Fri, 31 Oct 2025 15:22:07 -0400 Subject: [PATCH 1/3] Re-deploy Universe DPA Previews list (#58305) --- content/site-policy/github-terms/github-dpa-previews.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/site-policy/github-terms/github-dpa-previews.md b/content/site-policy/github-terms/github-dpa-previews.md index 64473de06d5c..e77c903b1611 100644 --- a/content/site-policy/github-terms/github-dpa-previews.md +++ b/content/site-policy/github-terms/github-dpa-previews.md @@ -14,4 +14,6 @@ The pre-release products and features listed below use data handling that is the | Product / Feature | DPA Coverage Date | |:---------------------------------------------------|:-------------------:| -| Coming Soon! | 27 October 2025 | +| Copilot CLI | 27 October 2025 | +| Copilot Enterprise & Users Usage Metrics Dashboard | 27 October 2025 | +| Spark | 27 October 2025 | From 4d3630545aea28a0f382c0b5728c3bd41f7820af Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Fri, 31 Oct 2025 12:32:33 -0700 Subject: [PATCH 2/3] Update OpenAPI Description (#58303) Co-authored-by: Joe Clark <31087804+jc-clark@users.noreply.github.com> --- .../fine-grained-pat-permissions.json | 18 + .../data/fpt-2022-11-28/fine-grained-pat.json | 12 + .../server-to-server-permissions.json | 22 + .../fpt-2022-11-28/server-to-server-rest.json | 6 + .../fpt-2022-11-28/user-to-server-rest.json | 12 + .../fine-grained-pat-permissions.json | 18 + .../ghec-2022-11-28/fine-grained-pat.json | 12 + .../server-to-server-permissions.json | 22 + .../server-to-server-rest.json | 6 + .../ghec-2022-11-28/user-to-server-rest.json | 12 + src/github-apps/lib/config.json | 2 +- src/rest/data/fpt-2022-11-28/schema.json | 899 ++++++++++-- src/rest/data/ghec-2022-11-28/schema.json | 1251 +++++++++++++++-- .../data/ghes-3.16-2022-11-28/schema.json | 27 + .../data/ghes-3.17-2022-11-28/schema.json | 27 + .../data/ghes-3.18-2022-11-28/schema.json | 55 + src/rest/lib/config.json | 2 +- src/webhooks/lib/config.json | 2 +- 18 files changed, 2207 insertions(+), 198 deletions(-) diff --git a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat-permissions.json b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat-permissions.json index 167e5ea9da69..09c7b3b3e108 100644 --- a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat-permissions.json +++ b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat-permissions.json @@ -135,6 +135,15 @@ "additional-permissions": false, "access": "read" }, + { + "category": "billing", + "slug": "get-billing-usage-summary-report-for-an-organization", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/organizations/{org}/settings/billing/usage/summary", + "additional-permissions": false, + "access": "read" + }, { "category": "orgs", "slug": "update-an-organization", @@ -8741,6 +8750,15 @@ "requestPath": "/users/{username}/settings/billing/usage", "additional-permissions": false, "access": "read" + }, + { + "category": "billing", + "slug": "get-billing-usage-summary-report-for-a-user", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/users/{username}/settings/billing/usage/summary", + "additional-permissions": false, + "access": "read" } ] }, diff --git a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json index 88afe097f2a7..79c9f0e67cee 100644 --- a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json @@ -1120,6 +1120,12 @@ "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage" }, + { + "slug": "get-billing-usage-summary-report-for-an-organization", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/organizations/{org}/settings/billing/usage/summary" + }, { "slug": "get-github-actions-billing-for-an-organization", "subcategory": "billing", @@ -1167,6 +1173,12 @@ "subcategory": "enhanced-billing", "verb": "get", "requestPath": "/users/{username}/settings/billing/usage" + }, + { + "slug": "get-billing-usage-summary-report-for-a-user", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/users/{username}/settings/billing/usage/summary" } ], "branches": [ diff --git a/src/github-apps/data/fpt-2022-11-28/server-to-server-permissions.json b/src/github-apps/data/fpt-2022-11-28/server-to-server-permissions.json index d8861d75d32b..a915cf9fd017 100644 --- a/src/github-apps/data/fpt-2022-11-28/server-to-server-permissions.json +++ b/src/github-apps/data/fpt-2022-11-28/server-to-server-permissions.json @@ -163,6 +163,17 @@ "server-to-server": true, "additional-permissions": false }, + { + "category": "billing", + "slug": "get-billing-usage-summary-report-for-an-organization", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/organizations/{org}/settings/billing/usage/summary", + "access": "read", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": false + }, { "category": "orgs", "slug": "update-an-organization", @@ -11038,6 +11049,17 @@ "user-to-server": true, "server-to-server": false, "additional-permissions": false + }, + { + "category": "billing", + "slug": "get-billing-usage-summary-report-for-a-user", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/users/{username}/settings/billing/usage/summary", + "access": "read", + "user-to-server": true, + "server-to-server": false, + "additional-permissions": false } ] }, diff --git a/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json b/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json index 1125df4ce0f4..62ef7121110f 100644 --- a/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json @@ -1158,6 +1158,12 @@ "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage" }, + { + "slug": "get-billing-usage-summary-report-for-an-organization", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/organizations/{org}/settings/billing/usage/summary" + }, { "slug": "get-github-actions-billing-for-an-organization", "subcategory": "billing", diff --git a/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json b/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json index 6f8ad411cfd3..a0065cfff688 100644 --- a/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json @@ -1200,6 +1200,12 @@ "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage" }, + { + "slug": "get-billing-usage-summary-report-for-an-organization", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/organizations/{org}/settings/billing/usage/summary" + }, { "slug": "get-github-actions-billing-for-an-organization", "subcategory": "billing", @@ -1247,6 +1253,12 @@ "subcategory": "enhanced-billing", "verb": "get", "requestPath": "/users/{username}/settings/billing/usage" + }, + { + "slug": "get-billing-usage-summary-report-for-a-user", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/users/{username}/settings/billing/usage/summary" } ], "branches": [ diff --git a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json index b04d9fcd73d4..9a1a82ea2bda 100644 --- a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json +++ b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json @@ -213,6 +213,15 @@ "additional-permissions": false, "access": "read" }, + { + "category": "billing", + "slug": "get-billing-usage-summary-report-for-an-organization", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/organizations/{org}/settings/billing/usage/summary", + "additional-permissions": false, + "access": "read" + }, { "category": "orgs", "slug": "update-an-organization", @@ -9608,6 +9617,15 @@ "requestPath": "/users/{username}/settings/billing/usage", "additional-permissions": false, "access": "read" + }, + { + "category": "billing", + "slug": "get-billing-usage-summary-report-for-a-user", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/users/{username}/settings/billing/usage/summary", + "additional-permissions": false, + "access": "read" } ] }, diff --git a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json index 91514494b504..814b730be938 100644 --- a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json @@ -1140,6 +1140,12 @@ "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage" }, + { + "slug": "get-billing-usage-summary-report-for-an-organization", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/organizations/{org}/settings/billing/usage/summary" + }, { "slug": "get-github-actions-billing-for-an-organization", "subcategory": "billing", @@ -1193,6 +1199,12 @@ "subcategory": "enhanced-billing", "verb": "get", "requestPath": "/users/{username}/settings/billing/usage" + }, + { + "slug": "get-billing-usage-summary-report-for-a-user", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/users/{username}/settings/billing/usage/summary" } ], "branches": [ diff --git a/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json b/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json index a650eb36061e..d3fce01a0bea 100644 --- a/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json +++ b/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json @@ -760,6 +760,17 @@ "server-to-server": true, "additional-permissions": false }, + { + "category": "billing", + "slug": "get-billing-usage-summary-report-for-an-organization", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/organizations/{org}/settings/billing/usage/summary", + "access": "read", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": false + }, { "category": "orgs", "slug": "update-an-organization", @@ -12590,6 +12601,17 @@ "user-to-server": true, "server-to-server": false, "additional-permissions": false + }, + { + "category": "billing", + "slug": "get-billing-usage-summary-report-for-a-user", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/users/{username}/settings/billing/usage/summary", + "access": "read", + "user-to-server": true, + "server-to-server": false, + "additional-permissions": false } ] }, diff --git a/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json b/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json index e8e4a846ff19..ca2e3ae5195f 100644 --- a/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json @@ -1190,6 +1190,12 @@ "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage" }, + { + "slug": "get-billing-usage-summary-report-for-an-organization", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/organizations/{org}/settings/billing/usage/summary" + }, { "slug": "get-github-actions-billing-for-an-organization", "subcategory": "billing", diff --git a/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json b/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json index 7051faf508bd..50cd2fece2af 100644 --- a/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json @@ -1232,6 +1232,12 @@ "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage" }, + { + "slug": "get-billing-usage-summary-report-for-an-organization", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/organizations/{org}/settings/billing/usage/summary" + }, { "slug": "get-github-actions-billing-for-an-organization", "subcategory": "billing", @@ -1285,6 +1291,12 @@ "subcategory": "enhanced-billing", "verb": "get", "requestPath": "/users/{username}/settings/billing/usage" + }, + { + "slug": "get-billing-usage-summary-report-for-a-user", + "subcategory": "enhanced-billing", + "verb": "get", + "requestPath": "/users/{username}/settings/billing/usage/summary" } ], "branches": [ diff --git a/src/github-apps/lib/config.json b/src/github-apps/lib/config.json index 61fa29449c9c..8c4dcb1e612e 100644 --- a/src/github-apps/lib/config.json +++ b/src/github-apps/lib/config.json @@ -60,5 +60,5 @@ "2022-11-28" ] }, - "sha": "e8e7ce91c9f7b8171f2cb856842e1d1f930a0837" + "sha": "ebc1fecbcfb4449cc61d45e2608ac765b5b144a0" } \ No newline at end of file diff --git a/src/rest/data/fpt-2022-11-28/schema.json b/src/rest/data/fpt-2022-11-28/schema.json index 0e1538dfbb45..49bb8708b1f1 100644 --- a/src/rest/data/fpt-2022-11-28/schema.json +++ b/src/rest/data/fpt-2022-11-28/schema.json @@ -114644,6 +114644,257 @@ ] } }, + { + "serverUrl": "https://api.github.com", + "verb": "get", + "requestPath": "/organizations/{org}/settings/billing/usage/summary", + "title": "Get billing usage summary report for an organization", + "category": "billing", + "subcategory": "enhanced-billing", + "parameters": [ + { + "name": "org", + "description": "
The organization name. The name is not case sensitive.
", + "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 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" + } + } + ], + "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.
", + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "org": "ORG" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "Response when getting a billing usage summary report
", + "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 + } + ] + }, + "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" + ] + } + } + }, + "required": [ + "timePeriod", + "organization", + "usageItems" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "Response when getting a billing usage summary report
" + }, + { + "httpStatusCode": "400", + "description": "Bad Request
" + }, + { + "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" + } + ] + } + }, { "serverUrl": "https://api.github.com", "verb": "get", @@ -114920,7 +115171,185 @@ }, { "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.
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.
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.
", + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "username": "USERNAME" + } + }, + "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, + "repositoryName": "user/example" + } + ] + }, + "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." + }, + "repositoryName": { + "type": "string", + "description": "Name of the repository." + } + }, + "required": [ + "date", + "product", + "sku", + "quantity", + "unitType", + "pricePerUnit", + "grossAmount", + "discountAmount", + "netAmount" + ] + } + } + } + } + } + } + ], + "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
" + }, + { + "httpStatusCode": "503", + "description": "Service unavailable
" + } + ], + "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/usage/summary", + "title": "Get billing usage summary report for a user", + "category": "billing", + "subcategory": "enhanced-billing", + "parameters": [ + { + "name": "username", + "description": "The handle for the GitHub user account.
", + "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.
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" + } } ], "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": "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.
", "codeExamples": [ { "key": "default", @@ -114952,35 +115408,71 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "Response when getting a billing usage report
", + "description": "Response when getting a billing usage summary report
", "example": { + "timePeriod": { + "year": 2025 + }, + "user": "monalisa", "usageItems": [ { - "date": "2023-08-01", "product": "Actions", - "sku": "Actions Linux", - "quantity": 100, + "sku": "actions_linux", "unitType": "minutes", "pricePerUnit": 0.008, - "grossAmount": 0.8, + "grossQuantity": 1000, + "grossAmount": 8, + "discountQuantity": 0, "discountAmount": 0, - "netAmount": 0.8, - "repositoryName": "user/example" + "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" + ] + }, + "user": { + "type": "string", + "description": "The unique identifier of the user." + }, + "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": { - "date": { - "type": "string", - "description": "Date of the usage line item." - }, "product": { "type": "string", "description": "Product name." @@ -114989,10 +115481,6 @@ "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." @@ -115001,37 +115489,51 @@ "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." - }, - "repositoryName": { - "type": "string", - "description": "Name of the repository." } }, "required": [ - "date", "product", "sku", - "quantity", "unitType", "pricePerUnit", + "grossQuantity", "grossAmount", + "discountQuantity", "discountAmount", + "netQuantity", "netAmount" ] } } - } + }, + "required": [ + "timePeriod", + "user", + "usageItems" + ] } } } @@ -115039,7 +115541,7 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "Response when getting a billing usage report
" + "description": "Response when getting a billing usage summary report
" }, { "httpStatusCode": "400", @@ -115049,6 +115551,10 @@ "httpStatusCode": "403", "description": "Forbidden
" }, + { + "httpStatusCode": "404", + "description": "Resource not found
" + }, { "httpStatusCode": "500", "description": "Internal Error
" @@ -426621,6 +427127,12 @@ "deleted" ], "default": "active" + }, + { + "type": "string", + "name": "github_repository", + "in": "body", + "description": "The name of the GitHub repository associated with the artifact. This should be used\nwhen there are no provenance attestations available for the artifact. The repository\nmust belong to the organization specified in the path parameter.
\nIf a provenance attestation is available for the artifact, the API will use\nthe repository information from the attestation instead of this parameter.
" } ], "descriptionHTML": "Create metadata storage records for artifacts associated with an organization.\nThis endpoint will create a new artifact storage record on behalf of any artifact matching the provided digest and\nassociated with a repository owned by the organization.
", @@ -470162,6 +470674,11 @@ ], "type": "string" }, + "url": { + "description": "The URL of the private registry.", + "type": "string", + "format": "uri" + }, "username": { "description": "The username to use when authenticating with the private registry.", "type": [ @@ -470172,6 +470689,11 @@ "monalisa" ] }, + "replaces_base": { + "description": "Whether this private registry replaces the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When `true`, Dependabot will only use this registry and will not fall back to the public registry. When `false` (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages.", + "type": "boolean", + "default": false + }, "visibility": { "description": "Which type of organization repositories have access to the private registry.", "enum": [ @@ -470286,6 +470808,13 @@ "in": "body", "description": "The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication.
" }, + { + "type": "boolean", + "name": "replaces_base", + "in": "body", + "description": "Whether this private registry should replace the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When set to true, Dependabot will only use this registry and will not fall back to the public registry. When set to false (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages.
The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication.
" }, + { + "type": "boolean", + "name": "replaces_base", + "in": "body", + "description": "Whether this private registry should replace the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When set to true, Dependabot will only use this registry and will not fall back to the public registry. When set to false (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages.
Response
", - "example": { - "id": 12345, - "node_id": "PVTF_lADOABCD1234567890", - "name": "Priority", - "data_type": "single_select", - "project_url": "https://api.github.com/projects/67890", - "options": [ - { - "id": "option_1", - "name": "Low", - "color": "GREEN", - "description": "Low priority items" - }, - { - "id": "option_2", - "name": "Medium", - "color": "YELLOW", - "description": "Medium priority items" + "example": [ + { + "id": 12345, + "node_id": "PVTF_lADOABCD1234567890", + "name": "Priority", + "data_type": "single_select", + "project_url": "https://api.github.com/projects/67890", + "options": [ + { + "id": "option_1", + "name": "Low", + "color": "GREEN", + "description": "Low priority items" + }, + { + "id": "option_2", + "name": "Medium", + "color": "YELLOW", + "description": "Medium priority items" + }, + { + "id": "option_3", + "name": "High", + "color": "RED", + "description": "High priority items" + } + ], + "created_at": "2022-04-28T12:00:00Z", + "updated_at": "2022-04-28T12:00:00Z" + }, + { + "id": 67891, + "node_id": "PVTF_lADOABCD9876543210", + "name": "Status", + "data_type": "single_select", + "project_url": "https://api.github.com/projects/67890", + "options": [ + { + "id": "option_4", + "name": "Todo", + "color": "GRAY", + "description": "Items to be worked on" + }, + { + "id": "option_5", + "name": "In Progress", + "color": "BLUE", + "description": "Items currently being worked on" + }, + { + "id": "option_6", + "name": "Done", + "color": "GREEN", + "description": "Completed items" + } + ], + "created_at": "2022-04-29T10:30:00Z", + "updated_at": "2022-04-29T10:30:00Z" + }, + { + "id": 24680, + "node_id": "PVTF_lADOABCD2468024680", + "name": "Team notes", + "data_type": "text", + "project_url": "https://api.github.com/projects/67890", + "created_at": "2022-05-15T08:00:00Z", + "updated_at": "2022-05-15T08:00:00Z" + }, + { + "id": 13579, + "node_id": "PVTF_lADOABCD1357913579", + "name": "Story points", + "data_type": "number", + "project_url": "https://api.github.com/projects/67890", + "created_at": "2022-06-01T14:30:00Z", + "updated_at": "2022-06-01T14:30:00Z" + }, + { + "id": 98765, + "node_id": "PVTF_lADOABCD9876598765", + "name": "Due date", + "data_type": "date", + "project_url": "https://api.github.com/projects/67890", + "created_at": "2022-06-10T09:15:00Z", + "updated_at": "2022-06-10T09:15:00Z" + }, + { + "id": 11223, + "node_id": "PVTF_lADOABCD1122311223", + "name": "Sprint", + "data_type": "iteration", + "project_url": "https://api.github.com/projects/67890", + "configuration": { + "duration": 14, + "start_day": 1, + "iterations": [ + { + "id": "iter_1", + "title": "Sprint 1", + "start_date": "2022-07-01", + "duration": 14 + }, + { + "id": "iter_2", + "title": "Sprint 2", + "start_date": "2022-07-15", + "duration": 14 + } + ] }, - { - "id": "option_3", - "name": "High", - "color": "RED", - "description": "High priority items" - } - ], - "created_at": "2022-04-28T12:00:00Z", - "updated_at": "2022-04-28T12:00:00Z" - }, + "created_at": "2022-06-20T16:45:00Z", + "updated_at": "2022-06-20T16:45:00Z" + } + ], "schema": { "type": "array", "items": { @@ -475932,35 +476584,120 @@ "statusCode": "200", "contentType": "application/json", "description": "Response
", - "example": { - "id": 12345, - "node_id": "PVTF_lADOABCD1234567890", - "name": "Priority", - "data_type": "single_select", - "project_url": "https://api.github.com/projects/67890", - "options": [ - { - "id": "option_1", - "name": "Low", - "color": "GREEN", - "description": "Low priority items" - }, - { - "id": "option_2", - "name": "Medium", - "color": "YELLOW", - "description": "Medium priority items" + "example": [ + { + "id": 12345, + "node_id": "PVTF_lADOABCD1234567890", + "name": "Priority", + "data_type": "single_select", + "project_url": "https://api.github.com/projects/67890", + "options": [ + { + "id": "option_1", + "name": "Low", + "color": "GREEN", + "description": "Low priority items" + }, + { + "id": "option_2", + "name": "Medium", + "color": "YELLOW", + "description": "Medium priority items" + }, + { + "id": "option_3", + "name": "High", + "color": "RED", + "description": "High priority items" + } + ], + "created_at": "2022-04-28T12:00:00Z", + "updated_at": "2022-04-28T12:00:00Z" + }, + { + "id": 67891, + "node_id": "PVTF_lADOABCD9876543210", + "name": "Status", + "data_type": "single_select", + "project_url": "https://api.github.com/projects/67890", + "options": [ + { + "id": "option_4", + "name": "Todo", + "color": "GRAY", + "description": "Items to be worked on" + }, + { + "id": "option_5", + "name": "In Progress", + "color": "BLUE", + "description": "Items currently being worked on" + }, + { + "id": "option_6", + "name": "Done", + "color": "GREEN", + "description": "Completed items" + } + ], + "created_at": "2022-04-29T10:30:00Z", + "updated_at": "2022-04-29T10:30:00Z" + }, + { + "id": 24680, + "node_id": "PVTF_lADOABCD2468024680", + "name": "Team notes", + "data_type": "text", + "project_url": "https://api.github.com/projects/67890", + "created_at": "2022-05-15T08:00:00Z", + "updated_at": "2022-05-15T08:00:00Z" + }, + { + "id": 13579, + "node_id": "PVTF_lADOABCD1357913579", + "name": "Story points", + "data_type": "number", + "project_url": "https://api.github.com/projects/67890", + "created_at": "2022-06-01T14:30:00Z", + "updated_at": "2022-06-01T14:30:00Z" + }, + { + "id": 98765, + "node_id": "PVTF_lADOABCD9876598765", + "name": "Due date", + "data_type": "date", + "project_url": "https://api.github.com/projects/67890", + "created_at": "2022-06-10T09:15:00Z", + "updated_at": "2022-06-10T09:15:00Z" + }, + { + "id": 11223, + "node_id": "PVTF_lADOABCD1122311223", + "name": "Sprint", + "data_type": "iteration", + "project_url": "https://api.github.com/projects/67890", + "configuration": { + "duration": 14, + "start_day": 1, + "iterations": [ + { + "id": "iter_1", + "title": "Sprint 1", + "start_date": "2022-07-01", + "duration": 14 + }, + { + "id": "iter_2", + "title": "Sprint 2", + "start_date": "2022-07-15", + "duration": 14 + } + ] }, - { - "id": "option_3", - "name": "High", - "color": "RED", - "description": "High priority items" - } - ], - "created_at": "2022-04-28T12:00:00Z", - "updated_at": "2022-04-28T12:00:00Z" - }, + "created_at": "2022-06-20T16:45:00Z", + "updated_at": "2022-06-20T16:45:00Z" + } + ], "schema": { "type": "array", "items": { diff --git a/src/rest/data/ghec-2022-11-28/schema.json b/src/rest/data/ghec-2022-11-28/schema.json index 79c4480a657b..85522f0ec036 100644 --- a/src/rest/data/ghec-2022-11-28/schema.json +++ b/src/rest/data/ghec-2022-11-28/schema.json @@ -125685,6 +125685,257 @@ ] } }, + { + "serverUrl": "https://api.github.com", + "verb": "get", + "requestPath": "/organizations/{org}/settings/billing/usage/summary", + "title": "Get billing usage summary report for an organization", + "category": "billing", + "subcategory": "enhanced-billing", + "parameters": [ + { + "name": "org", + "description": "The organization name. The name is not case sensitive.
", + "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 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" + } + } + ], + "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.
", + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "org": "ORG" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "Response when getting a billing usage summary report
", + "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 + } + ] + }, + "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" + ] + } + } + }, + "required": [ + "timePeriod", + "organization", + "usageItems" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "Response when getting a billing usage summary report
" + }, + { + "httpStatusCode": "400", + "description": "Bad Request
" + }, + { + "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" + } + ] + } + }, { "serverUrl": "https://api.github.com", "verb": "get", @@ -125961,7 +126212,185 @@ }, { "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.
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.
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.
", + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "username": "USERNAME" + } + }, + "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, + "repositoryName": "user/example" + } + ] + }, + "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." + }, + "repositoryName": { + "type": "string", + "description": "Name of the repository." + } + }, + "required": [ + "date", + "product", + "sku", + "quantity", + "unitType", + "pricePerUnit", + "grossAmount", + "discountAmount", + "netAmount" + ] + } + } + } + } + } + } + ], + "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
" + }, + { + "httpStatusCode": "503", + "description": "Service unavailable
" + } + ], + "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/usage/summary", + "title": "Get billing usage summary report for a user", + "category": "billing", + "subcategory": "enhanced-billing", + "parameters": [ + { + "name": "username", + "description": "The handle for the GitHub user account.
", + "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.
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" + } } ], "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": "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.
", "codeExamples": [ { "key": "default", @@ -125993,35 +126449,71 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "Response when getting a billing usage report
", + "description": "Response when getting a billing usage summary report
", "example": { + "timePeriod": { + "year": 2025 + }, + "user": "monalisa", "usageItems": [ { - "date": "2023-08-01", "product": "Actions", - "sku": "Actions Linux", - "quantity": 100, + "sku": "actions_linux", "unitType": "minutes", "pricePerUnit": 0.008, - "grossAmount": 0.8, + "grossQuantity": 1000, + "grossAmount": 8, + "discountQuantity": 0, "discountAmount": 0, - "netAmount": 0.8, - "repositoryName": "user/example" + "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" + ] + }, + "user": { + "type": "string", + "description": "The unique identifier of the user." + }, + "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": { - "date": { - "type": "string", - "description": "Date of the usage line item." - }, "product": { "type": "string", "description": "Product name." @@ -126030,10 +126522,6 @@ "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." @@ -126042,37 +126530,51 @@ "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." - }, - "repositoryName": { - "type": "string", - "description": "Name of the repository." } }, "required": [ - "date", "product", "sku", - "quantity", "unitType", "pricePerUnit", + "grossQuantity", "grossAmount", + "discountQuantity", "discountAmount", + "netQuantity", "netAmount" ] } } - } + }, + "required": [ + "timePeriod", + "user", + "usageItems" + ] } } } @@ -126080,7 +126582,7 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "Response when getting a billing usage report
" + "description": "Response when getting a billing usage summary report
" }, { "httpStatusCode": "400", @@ -126090,6 +126592,10 @@ "httpStatusCode": "403", "description": "Forbidden
" }, + { + "httpStatusCode": "404", + "description": "Resource not found
" + }, { "httpStatusCode": "500", "description": "Internal Error
" @@ -297387,7 +297893,196 @@ }, { "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.
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" + } + ] + }, + "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" + ] + } + } + } + } + } + } + ], + "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
" + }, + { + "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/usage/summary", + "title": "Get billing usage summary 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.
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. The default value is no cost center.
", + "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": { @@ -297414,7 +298145,7 @@ } ], "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.\"
", + "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", @@ -297428,36 +298159,92 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "Response when getting a billing usage report
", + "description": "Response when getting a billing usage summary report
", "example": { + "timePeriod": { + "year": 2025 + }, + "enterprise": "GitHub", "usageItems": [ { - "date": "2023-08-01", "product": "Actions", - "sku": "Actions Linux", - "quantity": 100, + "sku": "actions_linux", "unitType": "minutes", "pricePerUnit": 0.008, - "grossAmount": 0.8, + "grossQuantity": 1000, + "grossAmount": 8, + "discountQuantity": 0, "discountAmount": 0, - "netAmount": 0.8, - "organizationName": "GitHub", - "repositoryName": "github/example" + "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": { - "date": { - "type": "string", - "description": "Date of the usage line item." - }, "product": { "type": "string", "description": "Product name." @@ -297466,10 +298253,6 @@ "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." @@ -297478,42 +298261,51 @@ "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." - }, - "organizationName": { - "type": "string", - "description": "Name of the organization." - }, - "repositoryName": { - "type": "string", - "description": "Name of the repository." } }, "required": [ - "date", "product", "sku", - "quantity", "unitType", "pricePerUnit", + "grossQuantity", "grossAmount", + "discountQuantity", "discountAmount", - "netAmount", - "organizationName" + "netQuantity", + "netAmount" ] } } - } + }, + "required": [ + "timePeriod", + "enterprise", + "usageItems" + ] } } } @@ -297521,7 +298313,7 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "Response when getting a billing usage report
" + "description": "Response when getting a billing usage summary report
" }, { "httpStatusCode": "400", @@ -471564,6 +472356,12 @@ "deleted" ], "default": "active" + }, + { + "type": "string", + "name": "github_repository", + "in": "body", + "description": "The name of the GitHub repository associated with the artifact. This should be used\nwhen there are no provenance attestations available for the artifact. The repository\nmust belong to the organization specified in the path parameter.
\nIf a provenance attestation is available for the artifact, the API will use\nthe repository information from the attestation instead of this parameter.
" } ], "descriptionHTML": "Create metadata storage records for artifacts associated with an organization.\nThis endpoint will create a new artifact storage record on behalf of any artifact matching the provided digest and\nassociated with a repository owned by the organization.
", @@ -519716,6 +520514,11 @@ ], "type": "string" }, + "url": { + "description": "The URL of the private registry.", + "type": "string", + "format": "uri" + }, "username": { "description": "The username to use when authenticating with the private registry.", "type": [ @@ -519726,6 +520529,11 @@ "monalisa" ] }, + "replaces_base": { + "description": "Whether this private registry replaces the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When `true`, Dependabot will only use this registry and will not fall back to the public registry. When `false` (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages.", + "type": "boolean", + "default": false + }, "visibility": { "description": "Which type of organization repositories have access to the private registry.", "enum": [ @@ -519840,6 +520648,13 @@ "in": "body", "description": "The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication.
" }, + { + "type": "boolean", + "name": "replaces_base", + "in": "body", + "description": "Whether this private registry should replace the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When set to true, Dependabot will only use this registry and will not fall back to the public registry. When set to false (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages.
The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication.
" }, + { + "type": "boolean", + "name": "replaces_base", + "in": "body", + "description": "Whether this private registry should replace the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When set to true, Dependabot will only use this registry and will not fall back to the public registry. When set to false (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages.
Response
", - "example": { - "id": 12345, - "node_id": "PVTF_lADOABCD1234567890", - "name": "Priority", - "data_type": "single_select", - "project_url": "https://api.github.com/projects/67890", - "options": [ - { - "id": "option_1", - "name": "Low", - "color": "GREEN", - "description": "Low priority items" - }, - { - "id": "option_2", - "name": "Medium", - "color": "YELLOW", - "description": "Medium priority items" + "example": [ + { + "id": 12345, + "node_id": "PVTF_lADOABCD1234567890", + "name": "Priority", + "data_type": "single_select", + "project_url": "https://api.github.com/projects/67890", + "options": [ + { + "id": "option_1", + "name": "Low", + "color": "GREEN", + "description": "Low priority items" + }, + { + "id": "option_2", + "name": "Medium", + "color": "YELLOW", + "description": "Medium priority items" + }, + { + "id": "option_3", + "name": "High", + "color": "RED", + "description": "High priority items" + } + ], + "created_at": "2022-04-28T12:00:00Z", + "updated_at": "2022-04-28T12:00:00Z" + }, + { + "id": 67891, + "node_id": "PVTF_lADOABCD9876543210", + "name": "Status", + "data_type": "single_select", + "project_url": "https://api.github.com/projects/67890", + "options": [ + { + "id": "option_4", + "name": "Todo", + "color": "GRAY", + "description": "Items to be worked on" + }, + { + "id": "option_5", + "name": "In Progress", + "color": "BLUE", + "description": "Items currently being worked on" + }, + { + "id": "option_6", + "name": "Done", + "color": "GREEN", + "description": "Completed items" + } + ], + "created_at": "2022-04-29T10:30:00Z", + "updated_at": "2022-04-29T10:30:00Z" + }, + { + "id": 24680, + "node_id": "PVTF_lADOABCD2468024680", + "name": "Team notes", + "data_type": "text", + "project_url": "https://api.github.com/projects/67890", + "created_at": "2022-05-15T08:00:00Z", + "updated_at": "2022-05-15T08:00:00Z" + }, + { + "id": 13579, + "node_id": "PVTF_lADOABCD1357913579", + "name": "Story points", + "data_type": "number", + "project_url": "https://api.github.com/projects/67890", + "created_at": "2022-06-01T14:30:00Z", + "updated_at": "2022-06-01T14:30:00Z" + }, + { + "id": 98765, + "node_id": "PVTF_lADOABCD9876598765", + "name": "Due date", + "data_type": "date", + "project_url": "https://api.github.com/projects/67890", + "created_at": "2022-06-10T09:15:00Z", + "updated_at": "2022-06-10T09:15:00Z" + }, + { + "id": 11223, + "node_id": "PVTF_lADOABCD1122311223", + "name": "Sprint", + "data_type": "iteration", + "project_url": "https://api.github.com/projects/67890", + "configuration": { + "duration": 14, + "start_day": 1, + "iterations": [ + { + "id": "iter_1", + "title": "Sprint 1", + "start_date": "2022-07-01", + "duration": 14 + }, + { + "id": "iter_2", + "title": "Sprint 2", + "start_date": "2022-07-15", + "duration": 14 + } + ] }, - { - "id": "option_3", - "name": "High", - "color": "RED", - "description": "High priority items" - } - ], - "created_at": "2022-04-28T12:00:00Z", - "updated_at": "2022-04-28T12:00:00Z" - }, + "created_at": "2022-06-20T16:45:00Z", + "updated_at": "2022-06-20T16:45:00Z" + } + ], "schema": { "type": "array", "items": { @@ -525486,35 +526424,120 @@ "statusCode": "200", "contentType": "application/json", "description": "Response
", - "example": { - "id": 12345, - "node_id": "PVTF_lADOABCD1234567890", - "name": "Priority", - "data_type": "single_select", - "project_url": "https://api.github.com/projects/67890", - "options": [ - { - "id": "option_1", - "name": "Low", - "color": "GREEN", - "description": "Low priority items" - }, - { - "id": "option_2", - "name": "Medium", - "color": "YELLOW", - "description": "Medium priority items" + "example": [ + { + "id": 12345, + "node_id": "PVTF_lADOABCD1234567890", + "name": "Priority", + "data_type": "single_select", + "project_url": "https://api.github.com/projects/67890", + "options": [ + { + "id": "option_1", + "name": "Low", + "color": "GREEN", + "description": "Low priority items" + }, + { + "id": "option_2", + "name": "Medium", + "color": "YELLOW", + "description": "Medium priority items" + }, + { + "id": "option_3", + "name": "High", + "color": "RED", + "description": "High priority items" + } + ], + "created_at": "2022-04-28T12:00:00Z", + "updated_at": "2022-04-28T12:00:00Z" + }, + { + "id": 67891, + "node_id": "PVTF_lADOABCD9876543210", + "name": "Status", + "data_type": "single_select", + "project_url": "https://api.github.com/projects/67890", + "options": [ + { + "id": "option_4", + "name": "Todo", + "color": "GRAY", + "description": "Items to be worked on" + }, + { + "id": "option_5", + "name": "In Progress", + "color": "BLUE", + "description": "Items currently being worked on" + }, + { + "id": "option_6", + "name": "Done", + "color": "GREEN", + "description": "Completed items" + } + ], + "created_at": "2022-04-29T10:30:00Z", + "updated_at": "2022-04-29T10:30:00Z" + }, + { + "id": 24680, + "node_id": "PVTF_lADOABCD2468024680", + "name": "Team notes", + "data_type": "text", + "project_url": "https://api.github.com/projects/67890", + "created_at": "2022-05-15T08:00:00Z", + "updated_at": "2022-05-15T08:00:00Z" + }, + { + "id": 13579, + "node_id": "PVTF_lADOABCD1357913579", + "name": "Story points", + "data_type": "number", + "project_url": "https://api.github.com/projects/67890", + "created_at": "2022-06-01T14:30:00Z", + "updated_at": "2022-06-01T14:30:00Z" + }, + { + "id": 98765, + "node_id": "PVTF_lADOABCD9876598765", + "name": "Due date", + "data_type": "date", + "project_url": "https://api.github.com/projects/67890", + "created_at": "2022-06-10T09:15:00Z", + "updated_at": "2022-06-10T09:15:00Z" + }, + { + "id": 11223, + "node_id": "PVTF_lADOABCD1122311223", + "name": "Sprint", + "data_type": "iteration", + "project_url": "https://api.github.com/projects/67890", + "configuration": { + "duration": 14, + "start_day": 1, + "iterations": [ + { + "id": "iter_1", + "title": "Sprint 1", + "start_date": "2022-07-01", + "duration": 14 + }, + { + "id": "iter_2", + "title": "Sprint 2", + "start_date": "2022-07-15", + "duration": 14 + } + ] }, - { - "id": "option_3", - "name": "High", - "color": "RED", - "description": "High priority items" - } - ], - "created_at": "2022-04-28T12:00:00Z", - "updated_at": "2022-04-28T12:00:00Z" - }, + "created_at": "2022-06-20T16:45:00Z", + "updated_at": "2022-06-20T16:45:00Z" + } + ], "schema": { "type": "array", "items": { 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 ab179faedfe0..f73aed8d5c44 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 @@ -391719,6 +391719,11 @@ ], "type": "string" }, + "url": { + "description": "The URL of the private registry.", + "type": "string", + "format": "uri" + }, "username": { "description": "The username to use when authenticating with the private registry.", "type": [ @@ -391729,6 +391734,11 @@ "monalisa" ] }, + "replaces_base": { + "description": "Whether this private registry replaces the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When `true`, Dependabot will only use this registry and will not fall back to the public registry. When `false` (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages.", + "type": "boolean", + "default": false + }, "visibility": { "description": "Which type of organization repositories have access to the private registry.", "enum": [ @@ -391958,6 +391968,11 @@ ], "type": "string" }, + "url": { + "description": "The URL of the private registry.", + "type": "string", + "format": "uri" + }, "username": { "description": "The username to use when authenticating with the private registry.", "type": [ @@ -391968,6 +391983,11 @@ "monalisa" ] }, + "replaces_base": { + "description": "Whether this private registry replaces the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When `true`, Dependabot will only use this registry and will not fall back to the public registry. When `false` (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages.", + "type": "boolean", + "default": false + }, "visibility": { "description": "Which type of organization repositories have access to the private registry.", "enum": [ @@ -392082,6 +392102,13 @@ "in": "body", "description": "The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication.
" }, + { + "type": "boolean", + "name": "replaces_base", + "in": "body", + "description": "Whether this private registry should replace the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When set to true, Dependabot will only use this registry and will not fall back to the public registry. When set to false (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages.
The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication.
" }, + { + "type": "boolean", + "name": "replaces_base", + "in": "body", + "description": "Whether this private registry should replace the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When set to true, Dependabot will only use this registry and will not fall back to the public registry. When set to false (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages.
The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication.
" }, + { + "type": "boolean", + "name": "replaces_base", + "in": "body", + "description": "Whether this private registry should replace the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When set to true, Dependabot will only use this registry and will not fall back to the public registry. When set to false (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages.
The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication.
" }, + { + "type": "boolean", + "name": "replaces_base", + "in": "body", + "description": "Whether this private registry should replace the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When set to true, Dependabot will only use this registry and will not fall back to the public registry. When set to false (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages.
|Y
zJkdkDyYsg>NXTWoq}4RTezvKlUMG;^AnVze`GNEUaI~OC${n!DMmFj@x1kzaTLeqY
z{GU+ePumt*uQH?_O7rnO_xoMhf3SnL=qO(*w;8k?FLjAIn0h!~ZUuK;CjRiWP=Q}t
z!A_ohx Ok6H%-N7+b`YJF1Op^UUBexgQqsVs;qEg8PPVU}tn$-z
zKS&(58|h@BUIRt_`b6tz4TVd&Ou-`%`S~5;jsVJM~
zJ8K39%L-Rn`wg~!eW;co;z?_#Lq}b!nkdng*Y*8gPzB56*Y@_8HiPwX)<2cPj4^2!
zad3?5qH{fuR&D9-
MD?0k=`75oG4L|OEJ0VSS
zqr3f7}n%#-4kzjfID
zYYRFk0(u^6!Zu#+*XA(C0T?U2qt_?->#?h;fQLq2zQC1m4afeXNEO$BvC%V4$>F~q
z+yDH|ZA}5wHZz`IyK|`nz*xq5e__hs80&riUWG${*r3I4E#AF~x31W3BEK;f?GcW}
zS}J+=_-~jqX+j)8ASjOAe`72bBh}czb3ysC->^;5tbl1+6W%=g4Hu65EnxDzof3`l
zel3)Y+Q8TWx3T{S@c)qj*Esb%RhpHp^d?Yd^(2xT_Y|UY+pqYZL7|qe@QNB|!1-64
zPIp_K&J#G?7-RxG;erCIrJCOmig$njbx?
(TjPTam
IiFu|V2HR{
z{2^7$`u4QAW4KlI<+at~e|2Ogbg2A*G-7(Wp=V4Lx#WkyTXE$k3@*hqBAbXiP=;1O
z$!?u(Zom4M%DnzZzmM3C&Tty4w0_d^JPolN^{SZ0ToI$HJ6<_51H9}Hz-@dc40E6S
zhH(;0y}X@U