跳至主要内容
REST API 现在已实现版本控制。 更多信息,请参阅“关于 API 版本控制”。

用于 API Insights 的 REST API 端点

使用 REST API 查看组织中 API 使用情况的统计信息。

按参与者获取路由统计信息

在指定时间范围内,按路由细分参与者的 API 请求计数统计信息。

“按参与者获取路由统计信息”的细粒度访问令牌

此端点可以使用以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “API Insights”组织权限(读取)

“按参与者获取路由统计信息”的参数

报头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
org 字符串 必需

组织名称。名称不区分大小写。

actor_type 字符串 必需

参与者的类型

可以是以下之一:installationsclassic_patsfine_grained_patsoauth_appsgithub_apps_user_to_server

actor_id 整数 必需

参与者的 ID

查询参数
名称,类型,描述
min_timestamp 字符串 必需

查询统计信息的最小时间戳

max_timestamp 字符串 必需

查询统计信息的最大时间戳

page 整数

要获取的结果页码。更多信息,请参阅“在 REST API 中使用分页”。

默认值:1

per_page 整数

每页结果数(最大 100)。更多信息,请参阅“在 REST API 中使用分页”。

默认值:30

direction 字符串

按此排序结果的方向。

默认值:desc

可以是以下之一:ascdesc

sort 数组

要按此属性排序结果。

“按参与者获取路由统计信息”的 HTTP 响应状态代码

状态代码描述
200

确定

“按参与者获取路由统计信息”的代码示例

请求示例

get/orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}
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/orgs/ORG/insights/api/route-stats/ACTOR_TYPE/ACTOR_ID?min_timestamp=MIN_TIMESTAMP&max_timestamp=MAX_TIMESTAMP"

响应

状态:200
[ { "http_method": "GET", "api_route": "/repositories/:repository_id", "total_request_count": 544665, "rate_limited_request_count": 13, "last_request_timestamp": "2024-09-18T15:43:03Z", "last_rate_limited_timestamp": "2024-09-18T06:30:09Z" } ]

获取主题统计信息

在指定时间范围内获取组织内所有主题的 API 请求统计信息。主题可以是用户或 GitHub Apps。

“获取主题统计信息”的细粒度访问令牌

此端点可以使用以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “API Insights”组织权限(读取)

“获取主题统计信息”的参数

报头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
org 字符串 必需

组织名称。名称不区分大小写。

查询参数
名称,类型,描述
min_timestamp 字符串 必需

查询统计信息的最小时间戳

max_timestamp 字符串 必需

查询统计信息的最大时间戳

page 整数

要获取的结果页码。更多信息,请参阅“在 REST API 中使用分页”。

默认值:1

per_page 整数

每页结果数(最大 100)。更多信息,请参阅“在 REST API 中使用分页”。

默认值:30

direction 字符串

按此排序结果的方向。

默认值:desc

可以是以下之一:ascdesc

sort 数组

要按此属性排序结果。

“获取主题统计信息”的 HTTP 响应状态代码

状态代码描述
200

确定

“获取主题统计信息”的代码示例

请求示例

get/orgs/{org}/insights/api/subject-stats
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/orgs/ORG/insights/api/subject-stats?min_timestamp=MIN_TIMESTAMP&max_timestamp=MAX_TIMESTAMP"

响应

状态:200
[ { "subject_type": "installation", "subject_id": 954453, "subject_name": "GitHub Actions", "integration_id": 124345, "total_request_count": 544665, "rate_limited_request_count": 13, "last_request_timestamp": "2024-09-18T15:43:03Z", "last_rate_limited_timestamp": "2024-09-18T06:30:09Z" } ]

获取摘要统计信息

获取组织内所有用户和应用在指定时间范围内发出的 API 请求的总体统计信息。

“获取摘要统计信息”的细粒度访问令牌

此端点可以使用以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “API Insights”组织权限(读取)

“获取摘要统计信息”的参数

报头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
org 字符串 必需

组织名称。名称不区分大小写。

查询参数
名称,类型,描述
min_timestamp 字符串 必需

查询统计信息的最小时间戳

max_timestamp 字符串 必需

查询统计信息的最大时间戳

“获取摘要统计信息”的 HTTP 响应状态代码

状态代码描述
200

确定

“获取摘要统计信息”的代码示例

请求示例

get/orgs/{org}/insights/api/summary-stats
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/orgs/ORG/insights/api/summary-stats?min_timestamp=MIN_TIMESTAMP&max_timestamp=MAX_TIMESTAMP"

响应

状态:200
{ "total_request_count": 34225, "rate_limited_request_count": 23 }

按用户获取摘要统计信息

获取组织内用户的 API 请求的总体统计信息。

“按用户获取摘要统计信息”的细粒度访问令牌

此端点可以使用以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “API Insights”组织权限(读取)

“按用户获取摘要统计信息”的参数

报头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
org 字符串 必需

组织名称。名称不区分大小写。

user_id 字符串 必需

要查询统计信息的用户的 ID

查询参数
名称,类型,描述
min_timestamp 字符串 必需

查询统计信息的最小时间戳

max_timestamp 字符串 必需

查询统计信息的最大时间戳

“按用户获取摘要统计信息”的 HTTP 响应状态代码

状态代码描述
200

确定

“按用户获取摘要统计信息”的代码示例

请求示例

get/orgs/{org}/insights/api/summary-stats/users/{user_id}
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/orgs/ORG/insights/api/summary-stats/users/USER_ID?min_timestamp=MIN_TIMESTAMP&max_timestamp=MAX_TIMESTAMP"

响应

状态:200
{ "total_request_count": 34225, "rate_limited_request_count": 23 }

按参与者获取摘要统计信息

获取组织内特定参与者发出的 API 请求的总体统计信息。参与者可以是 GitHub App 安装、OAuth 应用或代表用户的其他令牌。

“按参与者获取摘要统计信息”的细粒度访问令牌

此端点可以使用以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “API Insights”组织权限(读取)

“按参与者获取摘要统计信息”的参数

报头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
org 字符串 必需

组织名称。名称不区分大小写。

actor_type 字符串 必需

参与者的类型

可以是以下之一:installationsclassic_patsfine_grained_patsoauth_appsgithub_apps_user_to_server

actor_id 整数 必需

参与者的 ID

查询参数
名称,类型,描述
min_timestamp 字符串 必需

查询统计信息的最小时间戳

max_timestamp 字符串 必需

查询统计信息的最大时间戳

“按参与者获取摘要统计信息”的 HTTP 响应状态代码

状态代码描述
200

确定

“按参与者获取摘要统计信息”的代码示例

请求示例

get/orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}
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/orgs/ORG/insights/api/summary-stats/ACTOR_TYPE/ACTOR_ID?min_timestamp=MIN_TIMESTAMP&max_timestamp=MAX_TIMESTAMP"

响应

状态:200
{ "total_request_count": 34225, "rate_limited_request_count": 23 }

获取时间统计信息

获取在指定时间段内组织内发出的 API 请求数和速率限制请求数。

“获取时间统计信息”的细粒度访问令牌

此端点可以使用以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “API Insights”组织权限(读取)

“获取时间统计信息”的参数

报头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
org 字符串 必需

组织名称。名称不区分大小写。

查询参数
名称,类型,描述
min_timestamp 字符串 必需

查询统计信息的最小时间戳

max_timestamp 字符串 必需

查询统计信息的最大时间戳

timestamp_increment 字符串 必需

用于细分查询结果的时间增量(5m、10m、1h 等)

“获取时间统计信息”的 HTTP 响应状态代码

状态代码描述
200

确定

“获取时间统计信息”的代码示例

请求示例

get/orgs/{org}/insights/api/time-stats
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <你的TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ "https://api.github.com/orgs/ORG/insights/api/time-stats?min_timestamp=最小时间戳&max_timestamp=最大时间戳&timestamp_increment=时间戳增量"

响应

状态:200
[ { "timestamp": "2024-09-11T15:00:00Z", "total_request_count": 34225, "rate_limited_request_count": 0 }, { "timestamp": "2024-09-11T15:05:00Z", "total_request_count": 10587, "rate_limited_request_count": 18 }, { "timestamp": "2024-09-11T15:10:00Z", "total_request_count": 43587, "rate_limited_request_count": 14 }, { "timestamp": "2024-09-11T15:15:00Z", "total_request_count": 19463, "rate_limited_request_count": 4 }, { "timestamp": "2024-09-11T15:20:00Z", "total_request_count": 60542, "rate_limited_request_count": 3 }, { "timestamp": "2024-09-11T15:25:00Z", "total_request_count": 55872, "rate_limited_request_count": 23 } ]

按用户获取时间统计数据

获取指定时间段内,组织内特定用户发出的 API 请求数和限速请求数。

“按用户获取时间统计数据”所需的细粒度访问令牌

此端点可以使用以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “API Insights”组织权限(读取)

“按用户获取时间统计数据”的参数

报头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
org 字符串 必需

组织名称。名称不区分大小写。

user_id 字符串 必需

要查询统计信息的用户的 ID

查询参数
名称,类型,描述
min_timestamp 字符串 必需

查询统计信息的最小时间戳

max_timestamp 字符串 必需

查询统计信息的最大时间戳

timestamp_increment 字符串 必需

用于细分查询结果的时间增量(5m、10m、1h 等)

“按用户获取时间统计数据”的HTTP响应状态码

状态代码描述
200

确定

“按用户获取时间统计数据”的代码示例

请求示例

get/orgs/{org}/insights/api/time-stats/users/{user_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <你的TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ "https://api.github.com/orgs/ORG/insights/api/time-stats/users/USER_ID?min_timestamp=最小时间戳&max_timestamp=最大时间戳&timestamp_increment=时间戳增量"

响应

状态:200
[ { "timestamp": "2024-09-11T15:00:00Z", "total_request_count": 34225, "rate_limited_request_count": 0 }, { "timestamp": "2024-09-11T15:05:00Z", "total_request_count": 10587, "rate_limited_request_count": 18 }, { "timestamp": "2024-09-11T15:10:00Z", "total_request_count": 43587, "rate_limited_request_count": 14 }, { "timestamp": "2024-09-11T15:15:00Z", "total_request_count": 19463, "rate_limited_request_count": 4 }, { "timestamp": "2024-09-11T15:20:00Z", "total_request_count": 60542, "rate_limited_request_count": 3 }, { "timestamp": "2024-09-11T15:25:00Z", "total_request_count": 55872, "rate_limited_request_count": 23 } ]

按参与者获取时间统计数据

获取指定时间段内,组织内特定参与者发出的 API 请求数和限速请求数。

“按参与者获取时间统计数据”所需的细粒度访问令牌

此端点可以使用以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “API Insights”组织权限(读取)

“按参与者获取时间统计数据”的参数

报头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
org 字符串 必需

组织名称。名称不区分大小写。

actor_type 字符串 必需

参与者的类型

可以是以下之一:installationsclassic_patsfine_grained_patsoauth_appsgithub_apps_user_to_server

actor_id 整数 必需

参与者的 ID

查询参数
名称,类型,描述
min_timestamp 字符串 必需

查询统计信息的最小时间戳

max_timestamp 字符串 必需

查询统计信息的最大时间戳

timestamp_increment 字符串 必需

用于细分查询结果的时间增量(5m、10m、1h 等)

“按参与者获取时间统计数据”的HTTP响应状态码

状态代码描述
200

确定

“按参与者获取时间统计数据”的代码示例

请求示例

get/orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <你的TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ "https://api.github.com/orgs/ORG/insights/api/time-stats/ACTOR_TYPE/ACTOR_ID?min_timestamp=最小时间戳&max_timestamp=最大时间戳&timestamp_increment=时间戳增量"

响应

状态:200
[ { "timestamp": "2024-09-11T15:00:00Z", "total_request_count": 34225, "rate_limited_request_count": 0 }, { "timestamp": "2024-09-11T15:05:00Z", "total_request_count": 10587, "rate_limited_request_count": 18 }, { "timestamp": "2024-09-11T15:10:00Z", "total_request_count": 43587, "rate_limited_request_count": 14 }, { "timestamp": "2024-09-11T15:15:00Z", "total_request_count": 19463, "rate_limited_request_count": 4 }, { "timestamp": "2024-09-11T15:20:00Z", "total_request_count": 60542, "rate_limited_request_count": 3 }, { "timestamp": "2024-09-11T15:25:00Z", "total_request_count": 55872, "rate_limited_request_count": 23 } ]

获取用户统计数据

获取组织内用户的 API 使用统计数据,按访问类型细分。

“获取用户统计数据”所需的细粒度访问令牌

此端点可以使用以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “API Insights”组织权限(读取)

“获取用户统计数据”的参数

报头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
org 字符串 必需

组织名称。名称不区分大小写。

user_id 字符串 必需

要查询统计信息的用户的 ID

查询参数
名称,类型,描述
min_timestamp 字符串 必需

查询统计信息的最小时间戳

max_timestamp 字符串 必需

查询统计信息的最大时间戳

page 整数

要获取的结果页码。更多信息,请参阅“在 REST API 中使用分页”。

默认值:1

per_page 整数

每页结果数(最大 100)。更多信息,请参阅“在 REST API 中使用分页”。

默认值:30

direction 字符串

按此排序结果的方向。

默认值:desc

可以是以下之一:ascdesc

sort 数组

要按此属性排序结果。

“获取用户统计数据”的HTTP响应状态码

状态代码描述
200

确定

“获取用户统计数据”的代码示例

请求示例

get/orgs/{org}/insights/api/user-stats/{user_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <你的TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ "https://api.github.com/orgs/ORG/insights/api/user-stats/USER_ID?min_timestamp=最小时间戳&max_timestamp=最大时间戳"

响应

状态:200
[ { "actor_type": "oauth_app", "actor_id": 954453, "actor_name": "GitHub Actions", "oauth_application_id": 1245, "total_request_count": 544665, "rate_limited_request_count": 13, "last_request_timestamp": "2024-09-18T15:43:03Z", "last_rate_limited_timestamp": "2024-09-18T06:30:09Z" } ]