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 Repos API

The GitHub Repos API is a set of REST endpoints that let you programmatically create, read, update, and delete repositories and their resources, giving you control over a repos lifecycle and configuration.

GitHub Repos API is one of 384 APIs that GitHub publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Repos. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 163 operations across 95 paths, and defines 93 schemas. It is described by OpenAPI 3.0.3, at version 1.1.4.

Requests are made against a single base URL, {protocol}://{hostname}/api/v3.

163 operations 95 paths 93 schemas 28 DELETE79 GET10 PATCH33 POST13 PUT

Metadata

The identity and technical contract details declared by the specification.

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

Authentication & Security 1

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

  • bearerHttpAuthentication — Bearer Token

Paths & Operations 163

Across 95 paths, the API surfaces 163 operations — 28 DELETE, 79 GET, 10 PATCH, 33 POST, 13 PUT. Each is listed below with its method, path, parameters, and response codes.

Repos 163
GET
/orgs/{org}/repos
GitHub List Organization Repositories
repos/list-for-org 6 params → 200
POST
/orgs/{org}/repos
GitHub Create an Organization Repository
repos/create-in-org 1 param body → 201403422
GET
/repos/{owner}/{repo}
GitHub Get a Repository
repos/get 2 params → 200301403404
PATCH
/repos/{owner}/{repo}
GitHub Update a Repository
repos/update 2 params body → 200307403404422
DELETE
/repos/{owner}/{repo}
GitHub Delete a Repository
repos/delete 2 params → 204307403404
GET
/repos/{owner}/{repo}/autolinks
GitHub Get All Autolinks of a Repository
repos/list-autolinks 2 params → 200
POST
/repos/{owner}/{repo}/autolinks
GitHub Create an Autolink Reference for a Repository
repos/create-autolink 2 params body → 201422
GET
/repos/{owner}/{repo}/autolinks/{autolink_id}
GitHub Get an Autolink Reference of a Repository
repos/get-autolink 3 params → 200404
DELETE
/repos/{owner}/{repo}/autolinks/{autolink_id}
GitHub Delete an Autolink Reference from a Repository
repos/delete-autolink 3 params → 204404
GET
/repos/{owner}/{repo}/branches
GitHub List Branches
repos/list-branches 5 params → 200404
GET
/repos/{owner}/{repo}/branches/{branch}
GitHub Get a Branch
repos/get-branch 3 params → 200301404
GET
/repos/{owner}/{repo}/branches/{branch}/protection
GitHub Get Branch Protection
repos/get-branch-protection 3 params → 200404
PUT
/repos/{owner}/{repo}/branches/{branch}/protection
GitHub Update Branch Protection
repos/update-branch-protection 3 params body → 200403404422
DELETE
/repos/{owner}/{repo}/branches/{branch}/protection
GitHub Delete Branch Protection
repos/delete-branch-protection 3 params → 204403
GET
/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins
GitHub Get Admin Branch Protection
repos/get-admin-branch-protection 3 params → 200
POST
/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins
GitHub Set Admin Branch Protection
repos/set-admin-branch-protection 3 params → 200
DELETE
/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins
GitHub Delete Admin Branch Protection
repos/delete-admin-branch-protection 3 params → 204404
GET
/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews
GitHub Get Pull Request Review Protection
repos/get-pull-request-review-protection 3 params → 200
PATCH
/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews
GitHub Update Pull Request Review Protection
repos/update-pull-request-review-protection 3 params body → 200422
DELETE
/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews
GitHub Delete Pull Request Review Protection
repos/delete-pull-request-review-protection 3 params → 204404
GET
/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures
GitHub Get Commit Signature Protection
repos/get-commit-signature-protection 3 params → 200404
POST
/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures
GitHub Create Commit Signature Protection
repos/create-commit-signature-protection 3 params → 200404
DELETE
/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures
GitHub Delete Commit Signature Protection
repos/delete-commit-signature-protection 3 params → 204404
GET
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks
GitHub Get Status Checks Protection
repos/get-status-checks-protection 3 params → 200404
PATCH
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks
GitHub Update Status Check Protection
repos/update-status-check-protection 3 params body → 200404422
DELETE
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks
GitHub Remove Status Check Protection
repos/remove-status-check-protection 3 params → 204
GET
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
GitHub Get All Status Check Contexts
repos/get-all-status-check-contexts 3 params → 200404
POST
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
GitHub Add Status Check Contexts
repos/add-status-check-contexts 3 params body → 200403404422
PUT
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
GitHub Set Status Check Contexts
repos/set-status-check-contexts 3 params body → 200404422
DELETE
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
GitHub Remove Status Check Contexts
repos/remove-status-check-contexts 3 params body → 200404422
GET
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions
GitHub Get Access Restrictions
repos/get-access-restrictions 3 params → 200404
DELETE
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions
GitHub Delete Access Restrictions
repos/delete-access-restrictions 3 params → 204
GET
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
GitHub Get Apps with Access to the Protected Branch
repos/get-apps-with-access-to-protected-branch 3 params → 200404
POST
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
GitHub Add App Access Restrictions
repos/add-app-access-restrictions 3 params body → 200422
PUT
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
GitHub Set App Access Restrictions
repos/set-app-access-restrictions 3 params body → 200422
DELETE
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
GitHub Remove App Access Restrictions
repos/remove-app-access-restrictions 3 params body → 200422
GET
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
GitHub Get Teams with Access to the Protected Branch
repos/get-teams-with-access-to-protected-branch 3 params → 200404
POST
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
GitHub Add Team Access Restrictions
repos/add-team-access-restrictions 3 params body → 200422
PUT
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
GitHub Set Team Access Restrictions
repos/set-team-access-restrictions 3 params body → 200422
DELETE
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
GitHub Remove Team Access Restrictions
repos/remove-team-access-restrictions 3 params body → 200422
GET
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
GitHub Get Users with Access to the Protected Branch
repos/get-users-with-access-to-protected-branch 3 params → 200404
POST
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
GitHub Add User Access Restrictions
repos/add-user-access-restrictions 3 params body → 200422
PUT
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
GitHub Set User Access Restrictions
repos/set-user-access-restrictions 3 params body → 200422
DELETE
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
GitHub Remove User Access Restrictions
repos/remove-user-access-restrictions 3 params body → 200422
POST
/repos/{owner}/{repo}/branches/{branch}/rename
GitHub Rename a Branch
repos/rename-branch 3 params body → 201403404422
GET
/repos/{owner}/{repo}/codeowners/errors
GitHub List CODEOWNERS Errors
repos/codeowners-errors 3 params → 200404
GET
/repos/{owner}/{repo}/collaborators
GitHub List Repository Collaborators
repos/list-collaborators 6 params → 200404
GET
/repos/{owner}/{repo}/collaborators/{username}
GitHub Check if a User is a Repository Collaborator
repos/check-collaborator 3 params → 204404
PUT
/repos/{owner}/{repo}/collaborators/{username}
GitHub Add a Repository Collaborator
repos/add-collaborator 3 params body → 204403422
DELETE
/repos/{owner}/{repo}/collaborators/{username}
GitHub Remove a Repository Collaborator
repos/remove-collaborator 3 params → 204403422
GET
/repos/{owner}/{repo}/collaborators/{username}/permission
GitHub Get Repository Permissions for a User
repos/get-collaborator-permission-level 3 params → 200404
GET
/repos/{owner}/{repo}/comments
GitHub List Commit Comments for a Repository
repos/list-commit-comments-for-repo 4 params → 200
GET
/repos/{owner}/{repo}/comments/{comment_id}
GitHub Get a Commit Comment
repos/get-commit-comment 3 params → 200404
PATCH
/repos/{owner}/{repo}/comments/{comment_id}
GitHub Update a Commit Comment
repos/update-commit-comment 3 params body → 200404
DELETE
/repos/{owner}/{repo}/comments/{comment_id}
GitHub Delete a Commit Comment
repos/delete-commit-comment 3 params → 204404
GET
/repos/{owner}/{repo}/commits
GitHub List Commits
repos/list-commits 10 params → 200400404409500
GET
/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head
GitHub List Branches for HEAD Commit
repos/list-branches-for-head-commit 3 params → 200422
GET
/repos/{owner}/{repo}/commits/{commit_sha}/comments
GitHub List Commit Comments
repos/list-comments-for-commit 5 params → 200
POST
/repos/{owner}/{repo}/commits/{commit_sha}/comments
GitHub Create a Commit Comment
repos/create-commit-comment 3 params body → 201403422
GET
/repos/{owner}/{repo}/commits/{commit_sha}/pulls
GitHub List Pull Requests Associated with a Commit
repos/list-pull-requests-associated-with-commit 5 params → 200
GET
/repos/{owner}/{repo}/commits/{ref}
GitHub Get a Commit
repos/get-commit 5 params → 200404422500503
GET
/repos/{owner}/{repo}/commits/{ref}/status
GitHub Get the Combined Status for a Specific Reference
repos/get-combined-status-for-ref 5 params → 200404
GET
/repos/{owner}/{repo}/commits/{ref}/statuses
GitHub List Commit Statuses for a Reference
repos/list-commit-statuses-for-ref 5 params → 200301
GET
/repos/{owner}/{repo}/compare/{basehead}
GitHub Compare Two Commits
repos/compare-commits 5 params → 200404500503
GET
/repos/{owner}/{repo}/contents/{path}
GitHub Get Repository Content
repos/get-content 4 params → 200302403404
PUT
/repos/{owner}/{repo}/contents/{path}
GitHub Create or Update File Contents
repos/create-or-update-file-contents 3 params body → 200201404409422
DELETE
/repos/{owner}/{repo}/contents/{path}
GitHub Delete a File
repos/delete-file 3 params body → 200404409422503
GET
/repos/{owner}/{repo}/contributors
GitHub List Repository Contributors
repos/list-contributors 5 params → 200204403404
GET
/repos/{owner}/{repo}/deployments
GitHub List Deployments
repos/list-deployments 8 params → 200
POST
/repos/{owner}/{repo}/deployments
GitHub Create a Deployment
repos/create-deployment 2 params body → 201202409422
GET
/repos/{owner}/{repo}/deployments/{deployment_id}
GitHub Get a Deployment
repos/get-deployment 3 params → 200404
DELETE
/repos/{owner}/{repo}/deployments/{deployment_id}
GitHub Delete a Deployment
repos/delete-deployment 3 params → 204404422
GET
/repos/{owner}/{repo}/deployments/{deployment_id}/statuses
GitHub List Deployment Statuses
repos/list-deployment-statuses 5 params → 200404
POST
/repos/{owner}/{repo}/deployments/{deployment_id}/statuses
GitHub Create a Deployment Status
repos/create-deployment-status 3 params body → 201422
GET
/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}
GitHub Get a Deployment Status
repos/get-deployment-status 4 params → 200404
POST
/repos/{owner}/{repo}/dispatches
GitHub Create a Repository Dispatch Event
repos/create-dispatch-event 2 params body → 204422
GET
/repos/{owner}/{repo}/environments
GitHub List Environments
repos/get-all-environments 4 params → 200
GET
/repos/{owner}/{repo}/environments/{environment_name}
GitHub Get an Environment
repos/get-environment 3 params → 200
PUT
/repos/{owner}/{repo}/environments/{environment_name}
GitHub Create or Update an Environment
repos/create-or-update-environment 3 params body → 200422
DELETE
/repos/{owner}/{repo}/environments/{environment_name}
GitHub Delete an Environment
repos/delete-an-environment 3 params → 204
GET
/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies
GitHub List Deployment Branch Policies
repos/list-deployment-branch-policies 5 params → 200
POST
/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies
GitHub Create a Deployment Branch Policy
repos/create-deployment-branch-policy 3 params body → 200303404
GET
/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}
GitHub Get a Deployment Branch Policy
repos/get-deployment-branch-policy 4 params → 200
PUT
/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}
GitHub Update a Deployment Branch Policy
repos/update-deployment-branch-policy 4 params body → 200
DELETE
/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}
GitHub Delete a Deployment Branch Policy
repos/delete-deployment-branch-policy 4 params → 204
GET
/repos/{owner}/{repo}/forks
GitHub List Forks
repos/list-forks 5 params → 200400
POST
/repos/{owner}/{repo}/forks
GitHub Create a Fork
repos/create-fork 2 params body → 202400403404422
GET
/repos/{owner}/{repo}/hooks
GitHub List Repository Webhooks
repos/list-webhooks 4 params → 200404
POST
/repos/{owner}/{repo}/hooks
GitHub Create a Repository Webhook
repos/create-webhook 2 params body → 201403404422
GET
/repos/{owner}/{repo}/hooks/{hook_id}
GitHub Get a Repository Webhook
repos/get-webhook 3 params → 200404
PATCH
/repos/{owner}/{repo}/hooks/{hook_id}
GitHub Update a Repository Webhook
repos/update-webhook 3 params body → 200404422
DELETE
/repos/{owner}/{repo}/hooks/{hook_id}
GitHub Delete a Repository Webhook
repos/delete-webhook 3 params → 204404
GET
/repos/{owner}/{repo}/hooks/{hook_id}/config
GitHub Get a Webhook Configuration for a Repository
repos/get-webhook-config-for-repo 3 params → 200
PATCH
/repos/{owner}/{repo}/hooks/{hook_id}/config
GitHub Update a Webhook Configuration for a Repository
repos/update-webhook-config-for-repo 3 params body → 200
GET
/repos/{owner}/{repo}/hooks/{hook_id}/deliveries
GitHub List Deliveries for a Repository Webhook
repos/list-webhook-deliveries 6 params → 200400422
GET
/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}
GitHub Get a Delivery for a Repository Webhook
repos/get-webhook-delivery 4 params → 200400422
POST
/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts
GitHub Redeliver a Delivery for a Repository Webhook
repos/redeliver-webhook-delivery 4 params → 202400422
POST
/repos/{owner}/{repo}/hooks/{hook_id}/pings
GitHub Ping a Repository Webhook
repos/ping-webhook 3 params → 204404
POST
/repos/{owner}/{repo}/hooks/{hook_id}/tests
GitHub Test the Push Repository Webhook
repos/test-push-webhook 3 params → 204404
GET
/repos/{owner}/{repo}/invitations
GitHub List Repository Invitations
repos/list-invitations 4 params → 200
PATCH
/repos/{owner}/{repo}/invitations/{invitation_id}
GitHub Update a Repository Invitation
repos/update-invitation 3 params body → 200
DELETE
/repos/{owner}/{repo}/invitations/{invitation_id}
GitHub Delete a Repository Invitation
repos/delete-invitation 3 params → 204
GET
/repos/{owner}/{repo}/keys
GitHub List Deploy Keys
repos/list-deploy-keys 4 params → 200
POST
/repos/{owner}/{repo}/keys
GitHub Create a Deploy Key
repos/create-deploy-key 2 params body → 201422
GET
/repos/{owner}/{repo}/keys/{key_id}
GitHub Get a Deploy Key
repos/get-deploy-key 3 params → 200404
DELETE
/repos/{owner}/{repo}/keys/{key_id}
GitHub Delete a Deploy Key
repos/delete-deploy-key 3 params → 204
GET
/repos/{owner}/{repo}/languages
GitHub List Repository Languages
repos/list-languages 2 params → 200
PUT
/repos/{owner}/{repo}/lfs
GitHub Enable Git LFS for a Repository
repos/enable-lfs-for-repo 2 params → 202403
DELETE
/repos/{owner}/{repo}/lfs
GitHub Disable Git LFS for a Repository
repos/disable-lfs-for-repo 2 params → 204
POST
/repos/{owner}/{repo}/merge-upstream
GitHub Sync a Fork Branch with the Upstream Repository
repos/merge-upstream 2 params body → 200409422
POST
/repos/{owner}/{repo}/merges
GitHub Merge a Branch
repos/merge 2 params body → 201204403404409422
GET
/repos/{owner}/{repo}/pages
GitHub Get a GitHub Enterprise Server Pages Site
repos/get-pages 2 params → 200404
POST
/repos/{owner}/{repo}/pages
GitHub Create a GitHub Enterprise Server Pages Site
repos/create-pages-site 2 params body → 201409422
PUT
/repos/{owner}/{repo}/pages
GitHub Update Information About a GitHub Enterprise Server Pages Site
repos/update-information-about-pages-site 2 params body → 204400409422
DELETE
/repos/{owner}/{repo}/pages
GitHub Delete a GitHub Enterprise Server Pages Site
repos/delete-pages-site 2 params → 204404409422
GET
/repos/{owner}/{repo}/pages/builds
GitHub List GitHub Enterprise Server Pages Builds
repos/list-pages-builds 4 params → 200
POST
/repos/{owner}/{repo}/pages/builds
GitHub Request a GitHub Enterprise Server Pages Build
repos/request-pages-build 2 params → 201
GET
/repos/{owner}/{repo}/pages/builds/latest
GitHub Get Latest Pages Build
repos/get-latest-pages-build 2 params → 200
GET
/repos/{owner}/{repo}/pages/builds/{build_id}
GitHub Get GitHub Enterprise Server Pages Build
repos/get-pages-build 3 params → 200
POST
/repos/{owner}/{repo}/pages/deployments
GitHub Create a GitHub Pages Deployment
repos/create-pages-deployment 2 params body → 200400404422
GET
/repos/{owner}/{repo}/readme
GitHub Get a Repository README
repos/get-readme 3 params → 200404422
GET
/repos/{owner}/{repo}/readme/{dir}
GitHub Get a Repository README for a Directory
repos/get-readme-in-directory 4 params → 200404422
GET
/repos/{owner}/{repo}/releases
GitHub List Releases
repos/list-releases 4 params → 200404
POST
/repos/{owner}/{repo}/releases
GitHub Create a Release
repos/create-release 2 params body → 201422
GET
/repos/{owner}/{repo}/releases/assets/{asset_id}
GitHub Get a Release Asset
repos/get-release-asset 3 params → 200302404
PATCH
/repos/{owner}/{repo}/releases/assets/{asset_id}
GitHub Update a Release Asset
repos/update-release-asset 3 params body → 200
DELETE
/repos/{owner}/{repo}/releases/assets/{asset_id}
GitHub Delete a Release Asset
repos/delete-release-asset 3 params → 204
POST
/repos/{owner}/{repo}/releases/generate-notes
GitHub Generate Release Notes Content for a Release
repos/generate-release-notes 2 params body → 200404
GET
/repos/{owner}/{repo}/releases/latest
GitHub Get the Latest Release
repos/get-latest-release 2 params → 200
GET
/repos/{owner}/{repo}/releases/tags/{tag}
GitHub Get a Release by Tag Name
repos/get-release-by-tag 3 params → 200404
GET
/repos/{owner}/{repo}/releases/{release_id}
GitHub Get a Release
repos/get-release 3 params → 200401
PATCH
/repos/{owner}/{repo}/releases/{release_id}
GitHub Update a Release
repos/update-release 3 params body → 200
DELETE
/repos/{owner}/{repo}/releases/{release_id}
GitHub Delete a Release
repos/delete-release 3 params → 204
GET
/repos/{owner}/{repo}/releases/{release_id}/assets
GitHub List Release Assets
repos/list-release-assets 5 params → 200
POST
/repos/{owner}/{repo}/releases/{release_id}/assets
GitHub Upload a Release Asset
repos/upload-release-asset 5 params body → 201422
GET
/repos/{owner}/{repo}/replicas/caches
GitHub List Repository Cache Replication Status
repos/list-cache-info 4 params → 200403404
GET
/repos/{owner}/{repo}/stats/code_frequency
GitHub Get the Weekly Commit Activity
repos/get-code-frequency-stats 2 params → 200202204
GET
/repos/{owner}/{repo}/stats/commit_activity
GitHub Get the Last Year of Commit Activity
repos/get-commit-activity-stats 2 params → 200202204
GET
/repos/{owner}/{repo}/stats/contributors
GitHub Get All Contributor Commit Activity
repos/get-contributors-stats 2 params → 200202204
GET
/repos/{owner}/{repo}/stats/participation
GitHub Get the Weekly Commit Count
repos/get-participation-stats 2 params → 200404
GET
/repos/{owner}/{repo}/stats/punch_card
GitHub Get the Hourly Commit Count for Each Day
repos/get-punch-card-stats 2 params → 200204
POST
/repos/{owner}/{repo}/statuses/{sha}
GitHub Create a Commit Status
repos/create-commit-status 3 params body → 201
GET
/repos/{owner}/{repo}/tags
GitHub List Repository Tags
repos/list-tags 4 params → 200
GET
/repos/{owner}/{repo}/tags/protection
GitHub List Tag Protection States for a Repository
repos/list-tag-protection 2 params → 200403404
POST
/repos/{owner}/{repo}/tags/protection
GitHub Create a Tag Protection State for a Repository
repos/create-tag-protection 2 params body → 201403404
DELETE
/repos/{owner}/{repo}/tags/protection/{tag_protection_id}
GitHub Delete a Tag Protection State for a Repository
repos/delete-tag-protection 3 params → 204403404
GET
/repos/{owner}/{repo}/tarball/{ref}
GitHub Download a Repository Archive (tar)
repos/download-tarball-archive 3 params → 302
GET
/repos/{owner}/{repo}/teams
GitHub List Repository Teams
repos/list-teams 4 params → 200404
GET
/repos/{owner}/{repo}/topics
GitHub Get All Repository Topics
repos/get-all-topics 4 params → 200404
PUT
/repos/{owner}/{repo}/topics
GitHub Replace All Repository Topics
repos/replace-all-topics 2 params body → 200404422
POST
/repos/{owner}/{repo}/transfer
GitHub Transfer a Repository
repos/transfer 2 params body → 202
GET
/repos/{owner}/{repo}/vulnerability-alerts
GitHub Check if Vulnerability Alerts Are Enabled for a Repository
repos/check-vulnerability-alerts 2 params → 204404
PUT
/repos/{owner}/{repo}/vulnerability-alerts
GitHub Enable Vulnerability Alerts
repos/enable-vulnerability-alerts 2 params → 204
DELETE
/repos/{owner}/{repo}/vulnerability-alerts
GitHub Disable Vulnerability Alerts
repos/disable-vulnerability-alerts 2 params → 204
GET
/repos/{owner}/{repo}/zipball/{ref}
GitHub Download a Repository Archive (zip)
repos/download-zipball-archive 3 params → 302
POST
/repos/{template_owner}/{template_repo}/generate
GitHub Create a Repository Using a Template
repos/create-using-template 2 params body → 201
GET
/repositories
GitHub List Public Repositories
repos/list-public 2 params → 200304422
GET
/user/repos
GitHub List Repositories for the Authenticated User
repos/list-for-authenticated-user 9 params → 200304401403422
POST
/user/repos
GitHub Create a Repository for the Authenticated User
repos/create-for-authenticated-user body → 201304400401403404422
GET
/user/repository_invitations
GitHub List Repository Invitations for the Authenticated User
repos/list-invitations-for-authenticated-user 2 params → 200304401403404
PATCH
/user/repository_invitations/{invitation_id}
GitHub Accept a Repository Invitation
repos/accept-invitation-for-authenticated-user 1 param → 204304403404409
DELETE
/user/repository_invitations/{invitation_id}
GitHub Decline a Repository Invitation
repos/decline-invitation-for-authenticated-user 1 param → 204304403404409
GET
/users/{username}/repos
GitHub List Repositories for a User
repos/list-for-user 6 params → 200

Schemas 93

The contract defines 93 schemas that model the data the API accepts and returns. The most detailed are full-repository (102 properties), repository (95 properties), nullable-repository (95 properties), minimal-repository (87 properties). Each schema is shown below with its type and property counts.

nullable-simple-user
object
A GitHub user.
21 properties 18 required
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
branch-short
object
Branch Short
3 properties 3 required
protected-branch-pull-request-review
object
Protected Branch Pull Request Review
7 properties 2 required
language
object
Language
commit-activity
object
Commit Activity
3 properties 3 required
repository
object
A repository on GitHub.
95 properties 73 required
pages-https-certificate
object
4 properties 3 required
nullable-milestone
object
A collection of related issues and pull requests.
16 properties 16 required
webhook-config-secret
string
If provided, the secret will be used as the key to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-serve…
code-of-conduct-simple
object
Code of Conduct Simple
4 properties 4 required
full-repository
object
Full Repository
102 properties 75 required
contributor-activity
object
Contributor Activity
3 properties 3 required
page
object
The configuration for GitHub Pages for a repository.
12 properties 5 required
reaction-rollup
object
10 properties 10 required
deployment-branch-policy-name-pattern
object
1 property 1 required
content-file
object
Content File
14 properties 12 required
code-frequency-stat
array
Code Frequency Stat
team
object
Groups of organization members that gives permissions on specified repositories.
13 properties 11 required
page-build
object
Page Build
8 properties 8 required
deploy-key
object
An SSH key granting access to a single repository.
9 properties 7 required
link
object
Hypermedia Link
1 property 1 required
security-and-analysis
object
3 properties
deployment-status
object
The status of a deployment.
15 properties 11 required
branch-protection
object
Branch Protection
16 properties
status
object
The status of a commit.
11 properties 11 required
pull-request-simple
object
Pull Request Simple
36 properties 31 required
protected-branch-admin-enforced
object
Protected Branch Admin Enforced
2 properties 2 required
code-of-conduct
object
Code Of Conduct
5 properties 4 required
file-commit
object
File Commit
2 properties 2 required
basic-error
object
Basic Error
4 properties
participation-stats
object
2 properties 2 required
combined-commit-status
object
Combined Commit Status
7 properties 7 required
scim-error
object
Scim Error
6 properties
content-submodule
object
An object describing a submodule
11 properties 11 required
minimal-repository
object
Minimal Repository
87 properties 46 required
collaborator
object
Collaborator
22 properties 18 required
tag-protection
object
Tag protection
5 properties 1 required
webhook-config
object
Configuration object of the webhook
4 properties
page-deployment
object
The GitHub Pages deployment status.
3 properties 2 required
nullable-repository
object
A repository on GitHub.
95 properties 73 required
repository-invitation
object
Repository invitations let you manage who you collaborate with.
10 properties 9 required
deployment-branch-policy-name-pattern-with-type
object
1 property 1 required
commit-comparison
object
Commit Comparison
13 properties 12 required
deployment-branch-policy
object
Details of a deployment branch policy.
3 properties
commit-comment
object
Commit Comment
14 properties 13 required
auto-merge
object
The status of auto merging a pull request.
4 properties 4 required
deployment-branch-policy-settings
object
The type of deployment branch policy for this environment. To allow all branches to deploy, set to null.
2 properties 2 required
deployment
object
A request for a specific ref(branch,sha,tag) to be deployed
18 properties 14 required
wait-timer
integer
The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days).
short-branch
object
Short Branch
5 properties 3 required
status-check-policy
object
Status Check Policy
5 properties 5 required
hook-delivery
object
Delivery made by a webhook.
14 properties 13 required
release
object
A release.
22 properties 17 required
release-asset
object
Data related to a release.
13 properties 13 required
codeowners-errors
object
A list of errors found in a repo's CODEOWNERS file
1 property 1 required
validation-error
object
Validation Error
3 properties 2 required
nullable-collaborator
object
Collaborator
22 properties 18 required
protected-branch-required-status-check
object
Protected Branch Required Status Check
6 properties 2 required
validation-error-simple
object
Validation Error Simple
3 properties 2 required
pages-source-hash
object
2 properties 2 required
topic
object
A topic aggregates entities that are related to a subject.
1 property 1 required
deployment-reviewer-type
string
The type of reviewer.
contributor
object
Contributor
21 properties 2 required
branch-restriction-policy
object
Branch Restriction Policy
7 properties 7 required
content-tree
object
Content Tree
11 properties 12 required
merged-upstream
object
Results of a successful merge upstream request
3 properties
hook
object
Webhooks for repositories.
13 properties 12 required
webhook-config-content-type
string
The media type used to serialize the payloads. Supported values include json and form. The default is form.
release-notes-content
object
Generated name and body describing a release
2 properties 2 required
repository-collaborator-permission
object
Repository Collaborator Permission
3 properties 3 required
nullable-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
content-directory
array
A list of directory items
diff-entry
object
Diff Entry
11 properties 9 required
protected-branch
object
Branch protections protect branches
13 properties 1 required
autolink
object
An autolink reference.
4 properties 4 required
hook-delivery-item
object
Delivery made by a webhook, without request and response information.
11 properties 11 required
hook-response
object
3 properties 3 required
environment
object
Details of a deployment environment
9 properties 7 required
simple-user
object
A GitHub user.
21 properties 18 required
tag
object
Tag
5 properties 5 required
webhook-config-url
string
The URL to which the payloads will be delivered.
verification
object
4 properties 4 required
nullable-team-simple
object
Groups of organization members that gives permissions on specified repositories.
12 properties 10 required
branch-with-protection
object
Branch With Protection
8 properties 6 required
page-build-status
object
Page Build Status
2 properties 2 required
commit
object
Commit
11 properties 9 required
content-symlink
object
An object describing a symlink
11 properties 11 required
nullable-license-simple
object
License Simple
6 properties 5 required
author-association
string
How the author is associated with the repository.
webhook-config-insecure-ssl
simple-commit-status
object
11 properties 10 required
nullable-git-user
object
Metaproperties for Git author/committer information.
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

github-repos-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 Search API
GitHub User API
Where this information came from

This is an independent, third-party profile of GitHub Repos 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.