Use the REST API to manage rule suites for organizations.
Note
Most endpoints use Authorization: Bearer <YOUR-TOKEN> and Accept: application/vnd.github+json headers, plus X-GitHub-Api-Version: 2026-03-10. Curl examples below omit these standard headers for brevity.
GET /orgs/{org}/rulesets/rule-suites
Lists suites of rule evaluations at the organization level.
For more information, see "Managing rulesets for repositories in your organization."
accept (string)application/vnd.github+json is recommended.org (string) (required)
The organization name. The name is not case sensitive.
ref (string)
The name of the ref. Cannot contain wildcard characters. Optionally prefix with refs/heads/ to limit to branches or refs/tags/ to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned.
repository_name (string)
The name of the repository to filter on.
time_period (string)
The time period to filter by.
For example, day will filter for rule suites that occurred in the past 24 hours, and week will filter for rule suites that occurred in the past 7 days (168 hours).
Default: day
Can be one of: hour, day, week, month
actor_name (string)
The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned.
rule_suite_result (string)
The rule suite results to filter on. When specified, only suites with this result will be returned.
Default: all
Can be one of: pass, fail, bypass, all
evaluate_status (string)
The evaluate status to filter on. When specified, only rule suites resulting from rulesets with the specified evaluate status will be returned.
all - all rule suites will be returned.
active - only rule suites resulting from rulesets in active (non-evaluate) mode will be returned.
evaluate - only rule suites resulting from rulesets in evaluate mode will be returned.
Default: all
Can be one of: all, active, evaluate
per_page (integer)
The number of results per page (max 100). For more information, see "Using pagination in the REST API."
Default: 30
page (integer)
The page number of the results to fetch. For more information, see "Using pagination in the REST API."
Default: 1
200 - OK
404 - Resource not found
500 - Internal Error
Request:
curl -L \
-X GET \
https://api.github.com/orgs/ORG/rulesets/rule-suites
Response schema (Status: 200):
Array of objects:
id: integeractor_id: integeractor_name: stringbefore_sha: stringafter_sha: stringref: stringrepository_id: integerrepository_name: stringpushed_at: string, format: date-timeresult: string, enum: pass, fail, bypassevaluation_result: string, enum: pass, fail, bypassGET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}
Gets information about a suite of rule evaluations from within an organization.
For more information, see "Managing rulesets for repositories in your organization."
accept (string)application/vnd.github+json is recommended.org (string) (required)
The organization name. The name is not case sensitive.
rule_suite_id (integer) (required)
The unique identifier of the rule suite result.
To get this ID, you can use GET /repos/{owner}/{repo}/rulesets/rule-suites
for repositories and GET /orgs/{org}/rulesets/rule-suites
for organizations.
include_metadata (boolean)
When set to true, the response will include additional metadata for pull request and required status check rule evaluation.
Results are capped at 50 entries.
Default: false
200 - OK
404 - Resource not found
500 - Internal Error
Request:
curl -L \
-X GET \
https://api.github.com/orgs/ORG/rulesets/rule-suites/RULE_SUITE_ID
Response schema (Status: 200):
id: integeractor_id: integer or nullactor_name: string or nullbefore_sha: stringafter_sha: stringref: stringrepository_id: integerrepository_name: stringpushed_at: string, format: date-timeresult: string, enum: pass, fail, bypassevaluation_result: string or null, enum: pass, fail, bypass, nullrule_evaluations: array of objects:
rule_source: object:
type: stringid: integer or nullname: string or nullenforcement: string, enum: active, evaluate, deleted rulesetresult: string, enum: pass, failrule_type: stringmetadata: one of:
pull_request: object:
id: integernumber: integeruser: object:
id: integerlogin: stringtype: stringreviews: array of objects:
id: integeruser: objectstate: stringproof_of_presence: object or null:
state: stringcode: stringbase_sha: stringhead_sha: stringrequired_level: stringverified_level: stringverified_at: stringverifier: object or nullchecks: array of objects:
id: integercontext: stringstate: stringtype: stringapp: object or null:
id: integerslug: stringname: stringdetails: string or null