Public Keys

List public keys for a user

GET /users/:user/keys

Lists the verified public keys for a user. This is accessible by anyone.

Response

Status: 200 OK
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999
[
  {
    "id": 1,
    "key": "ssh-rsa AAA..."
  }
]

List your public keys

GET /user/keys

Lists the current user’s keys. Requires that you are authenticated via Basic Auth or via OAuth with at least read:public_key scope.

Response

Status: 200 OK
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999
[
  {
    "id": 1,
    "key": "ssh-rsa AAA...",
    "url": "https://api.github.com/user/keys/1",
    "title": "octocat@octomac"
  }
]

Get a single public key

View extended details for a single public key. Requires that you are authenticated via Basic Auth or via OAuth with at least read:public_key scope.

GET /user/keys/:id

Response

Status: 200 OK
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999
{
  "id": 1,
  "key": "ssh-rsa AAA...",
  "url": "https://api.github.com/user/keys/1",
  "title": "octocat@octomac"
}

Create a public key

Creates a public key. Requires that you are authenticated via Basic Auth, or OAuth with at least write:public_key scope.

POST /user/keys

Input

{
  "title": "octocat@octomac",
  "key": "ssh-rsa AAA..."
}

Response

Status: 201 Created
Location: https://api.github.com/user/keys/1
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999
{
  "id": 1,
  "key": "ssh-rsa AAA...",
  "url": "https://api.github.com/user/keys/1",
  "title": "octocat@octomac"
}

Update a public key

Public keys are immutable. If you need to update a public key, remove the key and create a new one instead.

Delete a public key

Removes a public key. Requires that you are authenticated via Basic Auth or via OAuth with at least admin:public_key scope.

DELETE /user/keys/:id

Response

Status: 204 No Content
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999