Usage reports
Use the REST API to create and retrieve usage report exports for an enterprise.
List usage report exports
Note
This endpoint is in public preview and is subject to change.
Lists all usage report exports for an enterprise. The authenticated user must be an enterprise admin or billing manager.
Fine-grained access tokens for "List usage report exports"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Enterprise administration" enterprise permissions (write)
Parameters for "List usage report exports"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
enterprise string RequiredThe slug version of the enterprise name. |
HTTP response status codes for "List usage report exports"
| Status code | Description |
|---|---|
200 | List of usage report exports |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
500 | Internal Error |
503 | Service unavailable |
Code samples for "List usage report exports"
If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/enterprises/ENTERPRISE/settings/billing/reportsList of usage report exports
Status: 200{
"usage_report_exports": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"report_type": "detailed",
"start_date": "2024-01-01",
"end_date": "2024-01-31",
"status": "completed",
"download_urls": [
"https://github.com/enterprises/github/metered_exports/1234"
],
"created_at": "2024-01-15T10:30:00Z",
"actor": "monalisa"
},
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"report_type": "summarized",
"start_date": "2024-01-01",
"end_date": "2024-01-31",
"status": "processing",
"created_at": "2024-01-14T09:00:00Z",
"actor": "monalisa"
},
{
"id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"report_type": "premium_request",
"start_date": "2024-01-01",
"end_date": "2024-01-31",
"status": "processing",
"created_at": "2024-01-13T08:00:00Z",
"actor": "octocat"
}
]
}Create a usage report export
Note
This endpoint is in public preview and is subject to change.
Initiates the generation of a usage report export for an enterprise. The report will be processed asynchronously and can be downloaded once completed. The authenticated user must be an enterprise admin or billing manager.
Fine-grained access tokens for "Create a usage report export"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Enterprise administration" enterprise permissions (write)
Parameters for "Create a usage report export"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
enterprise string RequiredThe slug version of the enterprise name. |
| Name, Type, Description |
|---|
report_type string RequiredThe type of usage report to generate Can be one of: |
start_date string RequiredThe start date for the report in YYYY-MM-DD format |
end_date string The end date for the report in YYYY-MM-DD format. Defaults to today (UTC) if not provided. |
send_email boolean Whether to send an email notification to the requester when the report is ready. Defaults to false. Default: |
HTTP response status codes for "Create a usage report export"
| Status code | Description |
|---|---|
202 | Report export request accepted |
400 | Bad Request |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
500 | Internal Error |
503 | Service unavailable |
Code samples for "Create a usage report export"
If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.
Request example
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/enterprises/ENTERPRISE/settings/billing/reports \
-d '{"report_type":"detailed","start_date":"2024-01-01","end_date":"2024-01-31"}'Report export request accepted
Status: 202{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"report_type": "detailed",
"start_date": "2024-01-01",
"end_date": "2024-01-31",
"status": "completed",
"download_urls": [
"https://github.com/enterprises/github/metered_exports/1234"
],
"created_at": "2024-01-15T10:30:00Z",
"actor": "monalisa"
}Get a usage report export
Note
This endpoint is in public preview and is subject to change.
Gets the status and details of a usage report export by ID. The authenticated user must be an enterprise admin or billing manager.
Fine-grained access tokens for "Get a usage report export"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Enterprise administration" enterprise permissions (write)
Parameters for "Get a usage report export"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
enterprise string RequiredThe slug version of the enterprise name. |
report_id string RequiredThe unique identifier (UUID) for the usage report export. |
HTTP response status codes for "Get a usage report export"
| Status code | Description |
|---|---|
200 | Usage report export details |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
500 | Internal Error |
503 | Service unavailable |
Code samples for "Get a usage report export"
If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/enterprises/ENTERPRISE/settings/billing/reports/REPORT_IDUsage report export details
Status: 200{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"report_type": "detailed",
"start_date": "2024-01-01",
"end_date": "2024-01-31",
"status": "completed",
"download_urls": [
"https://github.com/enterprises/github/metered_exports/1234"
],
"created_at": "2024-01-15T10:30:00Z",
"actor": "monalisa"
}