Skip to content

Get one of a repository's rulesets by id (rs_…), or one of its workspace's that holds in it.

GET/repos/{owner}/{name}/rulesets/{id}
  • Authentication: Optional. Public data can be read without a token; send one to see what is private.
  • MCP tool: repository with action get_ruleset, and the same inputs
  • Scope: An access token needs repo:read.
Name Type Required Description
owner string Yes The workspace that owns the repository.
name string Yes The repository’s name.
id string Yes The ruleset’s id: rs_…
curl https://api.g1t.sh/repos/flagon-io/hello/rulesets/rs_01kq3a8b9c0d1e2f3g4h5j6k7m \
-H "Authorization: Bearer $G1T_TOKEN"

A successful request answers 200 with:

{
"id": "rs_01kq3a8b9c0d1e2f3g4h5j6k7m",
"level": "repository",
"workspace": "flagon-io",
"repo_id": "rep_01kq0f3a7b8c9d0e1f2g3h4j5k",
"repository": "flagon-io/hello",
"name": "Protect main",
"enforcement": "active",
"target": "branch",
"conditions": {
"ref_name": {
"include": [
"~DEFAULT_BRANCH"
],
"exclude": []
}
},
"bypass_actors": [
{
"kind": "role",
"value": "admin",
"mode": "pull_requests"
}
],
"rules": [
{
"type": "deletion",
"parameters": {},
"applies_to": "everyone"
},
{
"type": "non_fast_forward",
"parameters": {},
"applies_to": "everyone"
},
{
"type": "pull_request",
"parameters": {
"required_approvals": 1,
"count_agent_approvals": true,
"dismiss_stale_reviews_on_push": true,
"require_code_owner_review": true,
"require_last_push_approval": false,
"allowed_merge_methods": []
},
"applies_to": "everyone"
},
{
"type": "required_status_checks",
"parameters": {
"checks": [
{
"context": "CI",
"integration": "actions"
}
],
"strict": true,
"paths": [],
"allow_bypass_on_merge": false
},
"applies_to": "everyone"
},
{
"type": "pull_request",
"parameters": {
"required_approvals": 1,
"count_agent_approvals": false,
"dismiss_stale_reviews_on_push": false,
"require_code_owner_review": false,
"require_last_push_approval": false,
"allowed_merge_methods": []
},
"applies_to": "agents"
},
{
"type": "file_path_restriction",
"parameters": {
"restricted_file_paths": [
".g1t/workflows/**",
"CODEOWNERS"
]
},
"applies_to": "agents"
}
],
"created_by": "syntaqx",
"created_at": "2026-10-07T14:02:11.318Z",
"updated_by": "syntaqx",
"updated_at": "2026-10-07T14:02:11.318Z"
}

A failed request answers with one of these statuses and a body like {"error": {"code": "not_found", "message": "Repository not found."}}. See errors.

Status Code When
401 unauthenticated A token is required, or the one sent is not valid.
403 forbidden The token is valid but not allowed to do this, such as a member-only change or an agent token outside its repository.
404 not_found It does not exist, or you cannot see it.
422 invalid The input is not valid. message says which field and why.