How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

GitHub Sets API

The Sets API from GitHub — 32 operation(s) for sets.

GitHub Sets API is one of 350 APIs that GitHub publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

Tagged areas include Sets. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an AsyncAPI specification, and an API reference.

This API exposes 32 operations across 32 paths, and defines 53 schemas. It is described by OpenAPI 3.2.0, at version 1.1.4.

Requests are made against 2 base URLs: {protocol}://{hostname}/api/v3, {protocol}://{hostname}.

32 operations 32 paths 53 schemas 2 PATCH1 POST29 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.1.4
Base URL
https://api.github.com
Authentication
HTTP Bearer
License
Terms of Service
Resource Areas
1

Authentication & Security 1

GitHub Sets API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (bearerHttpAuthentication).

  • bearerHttpAuthentication — Bearer Token

Paths & Operations 32

Across 32 paths, the API surfaces 32 operations — 2 PATCH, 1 POST, 29 PUT. Each is listed below with its method, path, parameters, and response codes.

Sets 32
PUT
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
GitHub Set App Access Restrictions
setAppAccessRestrictions 3 params body → 200422
PUT
/notifications/threads/{thread_id}/subscription
GitHub Set Thread Subscription
setThreadSubscription 1 param body → 200304401403
PUT
/orgs/{org}/actions/oidc/customization/sub
GitHub Set the Customization Template for an Oidc Subject Claim for an Organization
setTheCustomizationTemplateForAnOidcSubjectClaimForAnOrganization 1 param body → 201403404
PUT
/orgs/{org}/actions/permissions
GitHub Set Github Actions Permissions for an Organization
setGithubActionsPermissionsForAnOrganization 1 param body → 204
PUT
/orgs/{org}/actions/permissions/repositories
GitHub Set Selected Repositories Enabled for Github Actions in an Organization
setSelectedRepositoriesEnabledForGithubActionsInAnOrganization 1 param body → 204
PUT
/orgs/{org}/actions/permissions/selected-actions
GitHub Set Allowed Actions for an Organization
setAllowedActionsForAnOrganization 1 param body → 204
PUT
/orgs/{org}/actions/permissions/workflow
GitHub Set Default Workflow Permissions for an Organization
setDefaultWorkflowPermissionsForAnOrganization 1 param body → 204409
PUT
/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories
GitHub Set Repository Access for Self-hosted Runner Group in an Organization
setRepositoryAccessForSelfhostedRunnerGroupInAnOrganization 2 params body → 204
PUT
/orgs/{org}/actions/runner-groups/{runner_group_id}/runners
GitHub Set Self-hosted Runners in Group for an Organization
setSelfhostedRunnersInGroupForAnOrganization 2 params body → 204
PUT
/orgs/{org}/actions/runners/{runner_id}/labels
GitHub Set Custom Labels for Self-hosted Runner for an Organization
setCustomLabelsForSelfhostedRunnerForAnOrganization 2 params body → 200404422
PUT
/orgs/{org}/actions/secrets/{secret_name}/repositories
GitHub Set Selected Repositories for an Organization Secret
setSelectedRepositoriesForAnOrganizationSecret 2 params body → 204
PUT
/orgs/{org}/actions/variables/{name}/repositories
GitHub Set Selected Repositories for an Organization Variable
setSelectedRepositoriesForAnOrganizationVariable 2 params body → 204409
PATCH
/orgs/{org}/announcement
GitHub Set Announcement Banner for Organization
setAnnouncementBannerForOrganization 1 param body → 200
PUT
/orgs/{org}/dependabot/secrets/{secret_name}/repositories
GitHub Set Selected Repositories for an Organization Secret
setSelectedRepositoriesForAnOrganizationSecret 2 params body → 204
PUT
/orgs/{org}/memberships/{username}
GitHub Set Organization Membership for User
setOrganizationMembershipForUser 2 params body → 200403422
PUT
/orgs/{org}/public_members/{username}
GitHub Set Public Organization Membership for the Authenticated User
setPublicOrganizationMembershipForTheAuthenticatedUser 2 params → 204403
PATCH
/repos/{owner}/{repo}/actions/cache/usage-policy
GitHub Set Github Actions Cache Usage Policy for Repository
setGithubActionsCacheUsagePolicyForRepository 5 params body → 204
PUT
/repos/{owner}/{repo}/actions/oidc/customization/sub
GitHub Set the Customization Template for an Oidc Subject Claim for Repository
setTheCustomizationTemplateForAnOidcSubjectClaimForRepository 5 params body → 201400404422
PUT
/repos/{owner}/{repo}/actions/permissions
GitHub Set Github Actions Permissions for Repository
setGithubActionsPermissionsForRepository 5 params body → 204
PUT
/repos/{owner}/{repo}/actions/permissions/access
GitHub Set the Level of Access for Workflows Outside of the Repository
setTheLevelOfAccessForWorkflowsOutsideOfTheRepository 5 params body → 204
PUT
/repos/{owner}/{repo}/actions/permissions/selected-actions
GitHub Set Allowed Actions for Repository
setAllowedActionsForRepository 5 params body → 204
PUT
/repos/{owner}/{repo}/actions/permissions/workflow
GitHub Set Default Workflow Permissions for Repository
setDefaultWorkflowPermissionsForRepository 5 params body → 204409
PUT
/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
GitHub Set Custom Labels for Self-hosted Runner for Repository
setCustomLabelsForSelfhostedRunnerForRepository 6 params body → 200404422
POST
/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins
GitHub Set Admin Branch Protection
setAdminBranchProtection 6 params → 200
PUT
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
GitHub Set Status Check Contexts
setStatusCheckContexts 6 params body → 200404422
PUT
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
GitHub Set Team Access Restrictions
setTeamAccessRestrictions 6 params body → 200422
PUT
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
GitHub Set User Access Restrictions
setUserAccessRestrictions 6 params body → 200422
PUT
/repos/{owner}/{repo}/issues/{issue_number}/labels
GitHub Set Labels for an Issue
setLabelsForAnIssue 6 params body → 200301404410422
PUT
/repos/{owner}/{repo}/subscription
GitHub Set Repository Subscription
setRepositorySubscription 5 params body → 200
PUT
/scim/v2/Groups/{scim_group_id}
GitHub Set Scim Information for Provisioned Enterprise Group
setScimInformationForProvisionedEnterpriseGroup 1 param body → 200400401403404409429500
PUT
/scim/v2/Users/{scim_user_id}
GitHub Set Scim Information for Provisioned Enterprise User
setScimInformationForProvisionedEnterpriseUser 1 param body → 200400401403404409429500
PUT
/setup/api/settings
GitHub Set Settings
setSettings body → 204401

Schemas 53

The contract defines 53 schemas that model the data the API accepts and returns. The most detailed are simple-user (21 properties), nullable-simple-user (21 properties), nullable-simple-user_2 (21 properties), integration (17 properties). Each schema is shown below with its type and property counts.

integration
object
GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They…
17 properties 11 required
nullable-simple-user
objectnull
A GitHub user.
21 properties 18 required
validation-error
object
Validation Error
3 properties 2 required
basic-error
object
Basic Error
4 properties
thread-subscription
object
Thread Subscription
7 properties 5 required
announcement-message
stringnull
The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "[Basic writing and formatting syntax](https://docs…
announcement-banner
object
Announcement at either the repository, organization, or enterprise level
3 properties 3 required
announcement
object
Enterprise global announcement
2 properties 1 required
validation-error-simple
object
Validation Error Simple
3 properties 2 required
announcement-user-dismissible
booleannull
Whether an announcement can be dismissed by the user.
announcement-expiration
stringnull
The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO8601) format: YYYY-MM-DDTHH:MM:SSZ. To set an an…
actions-can-approve-pull-request-reviews
boolean
Whether GitHub Actions can approve pull requests. Enabling this can be a security risk.
actions-default-workflow-permissions
string
The default workflow permissions granted to the GITHUBTOKEN when running workflows.
organization-simple
object
A GitHub organization.
12 properties 12 required
allowed-actions
string
The permissions policy that controls the actions that are allowed to run.
selected-actions
object
2 properties 2 required
runner-label
object
A label for a self hosted runner
3 properties 1 required
enabled-repositories
string
The policy that controls the repositories in the organization that are allowed to run GitHub Actions.
oidc-custom-sub
object
Actions OIDC Subject customization
1 property 1 required
empty-object
object
An object without any properties.
org-membership
object
Org Membership
7 properties 6 required
actions-set-default-workflow-permissions
object
2 properties
actions-enabled
boolean
Whether GitHub Actions is enabled on the repository.
scim-error
object
Scim Error
6 properties
runner-label_2
object
label for a self hosted runner
3 properties 1 required
actions-workflow-access-to-repository
object
1 property 1 required
empty-object_2
object
An object without any properties.
actions-cache-usage-policy-for-repository
object
GitHub Actions cache usage policy for repository.
1 property 1 required
integration_2
object
GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They…
17 properties 11 required
simple-user
object
GitHub user.
21 properties 18 required
nullable-simple-user_2
object
GitHub user.
21 properties 18 required
validation-error_2
object
Validation Error
3 properties 2 required
team
object
Groups of organization members that gives permissions on specified repositories.
13 properties 11 required
protected-branch-admin-enforced
object
Protected Branch Admin Enforced
2 properties 2 required
nullable-team-simple
object
Groups of organization members that gives permissions on specified repositories.
12 properties 10 required
label
object
Color-coded labels help you categorize and filter your issues (just like labels in Gmail).
7 properties 7 required
validation-error_3
object
Validation Error
3 properties 2 required
repository-subscription
object
Repository invitations let you manage who you collaborate with.
6 properties 6 required
user-emails-response
array
The emails for the user.
user-role
array
The roles assigned to the user.
scim-error_2
object
Scim Error
6 properties
user-response
object
8 properties 3 required
user-name
object
4 properties 2 required
scim-enterprise-user-response
scim-enterprise-group-response
user-name-response
object
4 properties
user
object
8 properties 6 required
group
object
4 properties 4 required
group-response
object
4 properties 1 required
user-emails
array
The emails for the user.
meta
object
The metadata associated with the creation/updates to the user.
4 properties 1 required
team_2
object
Groups of organization members that gives permissions on specified repositories.
13 properties 11 required
nullable-team-simple_2
objectnull
Groups of organization members that gives permissions on specified repositories.
12 properties 10 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

github-sets-api-openapi.yml Raw ↑

Other APIs GitHub publishes across the network.

GitHub Events API
GitHub Feeds API
GitHub Gists API
GitHub Issues API
GitHub Licenses API
GitHub Markdown API
GitHub Meta API
GitHub Notifications API
GitHub Octocat API
GitHub Projects API
GitHub Repos API
GitHub Search API
Where this information came from

This is an independent, third-party profile of GitHub Sets API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.