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

The GitHub Users API (part of the REST API) lets applications read and, for the authenticated account, manage user-related data on GitHub. It can fetch public profiles for any user or the authenticated users private profile details, list a users public repositories and organizations, and view activity like followers and following.

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

This API exposes 6 JSON Schema definitions.

Tagged areas include User. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and 6 JSON Schemas.

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

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

36 operations 23 paths 12 schemas 6 DELETE23 GET1 PATCH5 POST1 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/
Contact
License
Terms of Service
Resource Areas
1

Paths & Operations 36

Across 23 paths, the API surfaces 36 operations — 6 DELETE, 23 GET, 1 PATCH, 5 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Users 36

Interact with and view information about users and also current user.

GET
/user
GitHub Get the Authenticated User
users/get-authenticated → 200304401403
PATCH
/user
GitHub Update the Authenticated User
users/update-authenticated body → 200304401403404422
GET
/user/emails
GitHub List Email Addresses for the Authenticated User
users/list-emails-for-authenticated-user 2 params → 200304401403404
POST
/user/emails
GitHub Add an Email Address for the Authenticated User
users/add-email-for-authenticated-user body → 201304401403404422
DELETE
/user/emails
GitHub Delete an Email Address for the Authenticated User
users/delete-email-for-authenticated-user body → 204304401403404422
GET
/user/followers
GitHub List Followers of the Authenticated User
users/list-followers-for-authenticated-user 2 params → 200304401403
GET
/user/following
GitHub List the People the Authenticated User Follows
users/list-followed-by-authenticated-user 2 params → 200304401403
GET
/user/following/{username}
GitHub Check if a Person is Followed by the Authenticated User
users/check-person-is-followed-by-authenticated 1 param → 204304401403404
PUT
/user/following/{username}
GitHub Follow a User
users/follow 1 param → 204304401403404
DELETE
/user/following/{username}
GitHub Unfollow a User
users/unfollow 1 param → 204304401403404
GET
/user/gpg_keys
GitHub List GPG Keys for the Authenticated User
users/list-gpg-keys-for-authenticated-user 2 params → 200304401403404
POST
/user/gpg_keys
GitHub Create a GPG Key for the Authenticated User
users/create-gpg-key-for-authenticated-user body → 201304401403404422
GET
/user/gpg_keys/{gpg_key_id}
GitHub Get a GPG Key for the Authenticated User
users/get-gpg-key-for-authenticated-user 1 param → 200304401403404
DELETE
/user/gpg_keys/{gpg_key_id}
GitHub Delete a GPG Key for the Authenticated User
users/delete-gpg-key-for-authenticated-user 1 param → 204304401403404422
GET
/user/keys
GitHub List Public SSH Keys for the Authenticated User
users/list-public-ssh-keys-for-authenticated-user 2 params → 200304401403404
POST
/user/keys
GitHub Create a Public SSH Key for the Authenticated User
users/create-public-ssh-key-for-authenticated-user body → 201304401403404422
GET
/user/keys/{key_id}
GitHub Get a Public SSH Key for the Authenticated User
users/get-public-ssh-key-for-authenticated-user 1 param → 200304401403404
DELETE
/user/keys/{key_id}
GitHub Delete a Public SSH Key for the Authenticated User
users/delete-public-ssh-key-for-authenticated-user 1 param → 204304401403404
GET
/user/public_emails
GitHub List Public Email Addresses for the Authenticated User
users/list-public-emails-for-authenticated-user 2 params → 200304401403404
GET
/user/social_accounts
GitHub List Social Accounts for the Authenticated User
users/list-social-accounts-for-authenticated-user 2 params → 200304401403404
POST
/user/social_accounts
GitHub Add Social Accounts for the Authenticated User
users/add-social-account-for-authenticated-user body → 201304401403404422
DELETE
/user/social_accounts
GitHub Delete Social Accounts for the Authenticated User
users/delete-social-account-for-authenticated-user body → 204304401403404422
GET
/user/ssh_signing_keys
GitHub List SSH Signing Keys for the Authenticated User
users/list-ssh-signing-keys-for-authenticated-user 2 params → 200304401403404
POST
/user/ssh_signing_keys
GitHub Create a SSH Signing Key for the Authenticated User
users/create-ssh-signing-key-for-authenticated-user body → 201304401403404422
GET
/user/ssh_signing_keys/{ssh_signing_key_id}
GitHub Get an SSH Signing Key for the Authenticated User
users/get-ssh-signing-key-for-authenticated-user 1 param → 200304401403404
DELETE
/user/ssh_signing_keys/{ssh_signing_key_id}
GitHub Delete an SSH Signing Key for the Authenticated User
users/delete-ssh-signing-key-for-authenticated-user 1 param → 204304401403404
GET
/users
GitHub List Users
users/list 2 params → 200304
GET
/users/{username}
GitHub Get a User
users/get-by-username 1 param → 200404
GET
/users/{username}/followers
GitHub List Followers of a User
users/list-followers-for-user 3 params → 200
GET
/users/{username}/following
GitHub List the People a User Follows
users/list-following-for-user 3 params → 200
GET
/users/{username}/following/{target_user}
GitHub Check if a User Follows Another User
users/check-following-for-user 2 params → 204404
GET
/users/{username}/gpg_keys
GitHub List GPG Keys for a User
users/list-gpg-keys-for-user 3 params → 200
GET
/users/{username}/hovercard
GitHub Get Contextual Information for a User
users/get-context-for-user 3 params → 200404422
GET
/users/{username}/keys
GitHub List Public Keys for a User
users/list-public-keys-for-user 3 params → 200
GET
/users/{username}/social_accounts
GitHub List Social Accounts for a User
users/list-social-accounts-for-user 3 params → 200
GET
/users/{username}/ssh_signing_keys
GitHub List SSH Signing Keys for a User
users/list-ssh-signing-keys-for-user 3 params → 200

Schemas 12

The contract defines 12 schemas that model the data the API accepts and returns. The most detailed are private-user (42 properties), public-user (39 properties), simple-user (21 properties), gpg-key (15 properties). Each schema is shown below with its type and property counts.

public-user
object
Public User
39 properties 31 required
key
object
Key
7 properties 7 required
ssh-signing-key
object
A public SSH key used to sign Git commits
4 properties 4 required
private-user
object
Private User
42 properties 37 required
gpg-key
object
A unique encryption key
15 properties 14 required
email
object
Email
4 properties 4 required
key-simple
object
Key Simple
2 properties 2 required
hovercard
object
Hovercard
1 property 1 required
basic-error
object
Basic Error
4 properties
simple-user
object
A GitHub user.
21 properties 18 required
validation-error
object
Validation Error
3 properties 2 required
social-account
object
Social media account
2 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

github-users-api-openapi.yml Raw ↑

Other APIs GitHub publishes across the network.

GitHub Gists API
GitHub Issues API
GitHub Licenses API
GitHub Markdown API
GitHub Meta API
GitHub Projects API
GitHub Repos API
GitHub Search API
GitHub Deployments API
GitHub Releases API
GitHub Pages API
GitHub Git Database API
Where this information came from

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