AccessExplanation
Why a principal has the access they have on a group or repository.
Shape
effectiveEffectiveAccess
- The EffectiveAccess schema
- basisAccessBasisViewgrantsorganization_ownernoneWhere an explained principal's access comes from.
- permissionsarray of stringEvery permission they hold here, by key.
- rankAccessLevelguestreporterdevelopermaintainerowneror nulloptional
grantsarray of ExplainedGrantEvery grant that bears on them here, and what became of it.
- The ExplainedGrant schema
atAccessScope
- The AccessScope schema
- full_pathstring
- idstring
- typeScopeTypegrouprepository
- outcomeGrantOutcomeViewreachesstopped_by_boundaryexpiredWhat became of one grant in an explanation.
roleRoleView
- The RoleView schema
- namestringThe role's display name: a built-in name such as
Developer, or the custom role's name. - rankAccessLevelguestreporterdevelopermaintainerownerThe built-in rank the role counts as wherever a rank is compared, such as a protected branch's minimum.
- builtinAccessLevelguestreporterdevelopermaintainerowneror nulloptionalSet when the role is built in.
- customRoleId (string · uuid) or nulloptionalSet when the role is one the organization defined.
- viaGrantRoute
- expires_atstring · date-time or nulloptional
limitsarray of ExplainedLimitEvery limit that capped them here.
- The ExplainedLimit schema
atAccessScope
- The AccessScope schema
- full_pathstring
- idstring
- typeScopeTypegrouprepository
- removedarray of stringPermissions the grants gave that this limit took away, by key.
- subjectLimitSubjectView
ceilingRoleView or nulloptionalThe most the limit lets its subject hold. Absent when it allows nothing at all.
- The RoleView schema
- namestringThe role's display name: a built-in name such as
Developer, or the custom role's name. - rankAccessLevelguestreporterdevelopermaintainerownerThe built-in rank the role counts as wherever a rank is compared, such as a protected branch's minimum.
- builtinAccessLevelguestreporterdevelopermaintainerowneror nulloptionalSet when the role is built in.
- customRoleId (string · uuid) or nulloptionalSet when the role is one the organization defined.
- organization_ownerboolean
principalPrincipalSummary
- The PrincipalSummary schema
- idPrincipalId (string · uuid)
- kindPrincipalKinduserservice_accountagentA person, a service account or an AI organization's agent.
- usernamestring
- avatar_urlstring or nulloptional
scopeAccessPageScope
- The AccessPageScope schema
- full_pathstring
- idstring
- inherits_accessbooleanWhether access granted on the groups above reaches it. When it is
false, only access granted here — and the organization's owners — reach it. - typeScopeTypegrouprepository
boundaryAccessScope or nulloptionalThe nearest group or repository that stops access granted above it, if one does.
- The AccessScope schema
- full_pathstring
- idstring
- typeScopeTypegrouprepository
verdictPermissionVerdict or nulloptionalPresent when the request named one permission.
- The PermissionVerdict schema
- by_visibilitybooleanWhether the group's or repository's visibility alone lets them do it, without any grant.
- grantedboolean
- permissionstring
Example
Synthesized example{
"effective": {
"basis": "grants",
"permissions": [
"permissions-a135"
],
"rank": "guest"
},
"grants": [
{
"at": {
"full_path": "acme/payments-api",
"id": "id-f410",
"type": "group"
},
"outcome": "reaches",
"role": {
"name": "payments-api",
"rank": "guest"
},
"via": "direct"
},
{
"at": {
"full_path": "acme/payments-api",
"id": "id-0fbb",
"type": "group"
},
"outcome": "reaches",
"role": {
"name": "payments-api",
"rank": "guest"
},
"via": "direct"
}
],
"limits": [
{
"at": {
"full_path": "acme/payments-api",
"id": "id-df46",
"type": "group"
},
"removed": [],
"subject": "principal"
},
{
"at": {
"full_path": "acme/payments-api",
"id": "id-a775",
"type": "group"
},
"removed": [],
"subject": "principal"
}
],
"organization_owner": false,
"principal": {
"id": "58d293b9-3d77-4fa5-bd51-64ccf6730060",
"kind": "user",
"username": "mara",
"avatar_url": "https://gitmoap.example/acme/718d4788"
},
"scope": {
"full_path": "acme/payments-api",
"id": "id-7ba9",
"inherits_access": false,
"type": "group"
},
"boundary": {
"full_path": "acme/payments-api",
"id": "id-4b2b",
"type": "group"
},
"verdict": {
"by_visibility": false,
"granted": false,
"permission": "permission-3658"
}
}
Graph
Used inside
No schema contains this one.
Used by
Sent by 0 operations
No operation takes it as a request body.