GitHub Keys API
The Keys API from GitHub — 1 operation(s) for keys.
The Keys API from GitHub — 1 operation(s) for keys.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/github:github-keys-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 1.1.4
title: GitHub Auth Keys API
description: You can authenticate to the REST API to access more endpoints and have a higher rate limit. Many REST API endpoints require authentication or return additional information if you are authenticated. Additionally, you can make more requests per hour when you are authenticated.
license:
name: MIT
url: https://spdx.org/licenses/MIT
termsOfService: https://docs.github.com/articles/github-terms-of-service
contact:
name: Support
url: https://support.github.com/contact?tags=dotcom-rest-api
x-github-plan: ghes
x-github-release: 3.9
servers:
- url: '{protocol}://{hostname}/api/v3'
variables:
hostname:
description: Self-hosted Enterprise Server hostname
default: api.github.com
protocol:
description: Self-hosted Enterprise Server protocol
default: https
tags:
- name: Keys
paths:
/setup/api/settings/authorized-keys:
get:
summary: GitHub Get All Authorized Ssh Keys
description: The GET endpoint at /setup/api/settings/authorized-keys in the GitHub Authorization API retrieves a complete list of all authorized SSH keys that have been configured for the system. This endpoint is typically used during setup or administrative operations to audit and review which SSH public keys have been granted access to the GitHub instance, allowing administrators to manage and verify authorized access points for secure shell connections.
operationId: getAllAuthorizedSshKeys
tags:
- Keys
externalDocs:
description: API method documentation
url: https://docs.github.com/enterprise-server@3.9/rest/enterprise-admin/management-console#get-all-authorized-ssh-keys
servers:
- url: '{protocol}://{hostname}'
variables:
hostname:
default: HOSTNAME
description: Self-hosted Enterprise Server hostname
protocol:
default: http
description: Self-hosted Enterprise Server protocol
responses:
'200':
description: Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ssh-key'
examples:
default:
$ref: '#/components/examples/ssh-key-items'
'401':
description: Unauthorized
x-github:
githubCloudOnly: false
enabledForGitHubApps: false
category: enterprise-admin
subcategory: management-console
security:
- bearerHttpAuthentication: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
summary: GitHub Add an Authorized Ssh Key
description: '**Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the `curl` documentation.'
operationId: addAnAuthorizedSshKey
tags:
- Keys
externalDocs:
description: API method documentation
url: https://docs.github.com/enterprise-server@3.9/rest/enterprise-admin/management-console#add-an-authorized-ssh-key
servers:
- url: '{protocol}://{hostname}'
variables:
hostname:
default: HOSTNAME
description: Self-hosted Enterprise Server hostname
protocol:
default: http
description: Self-hosted Enterprise Server protocol
responses:
'201':
description: Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ssh-key'
examples:
default:
$ref: '#/components/examples/ssh-key-items'
'401':
description: Unauthorized
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
authorized_key:
type: string
description: The public SSH key.
required:
- authorized_key
examples:
default:
value:
authorized_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCssTL/Vtu/ODLTj0VtZoRAbvf7uiv5997GyDq0MoAZUjb5jmA5wYe2/wF6sFuhiZTnZoF1ZtCHunPp0hM/GHrn6VySBhNncx14YO8FPt1CIhEeRMSEjUK9cY3xAbS365oXY8vnUHJsS9+1tr/2bx/+4NJfcUt/Ezf1OR/0LStQXw==
x-github:
githubCloudOnly: false
enabledForGitHubApps: false
category: enterprise-admin
subcategory: management-console
security:
- bearerHttpAuthentication: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
summary: GitHub Remove an Authorized Ssh Key
description: '**Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the `curl` documentation.'
operationId: removeAnAuthorizedSshKey
tags:
- Keys
externalDocs:
description: API method documentation
url: https://docs.github.com/enterprise-server@3.9/rest/enterprise-admin/management-console#remove-an-authorized-ssh-key
servers:
- url: '{protocol}://{hostname}'
variables:
hostname:
default: HOSTNAME
description: Self-hosted Enterprise Server hostname
protocol:
default: http
description: Self-hosted Enterprise Server protocol
responses:
'200':
description: Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ssh-key'
examples:
default:
$ref: '#/components/examples/ssh-key-items'
'401':
description: Unauthorized
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
authorized_key:
type: string
description: The public SSH key.
required:
- authorized_key
examples:
default:
value:
authorized_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCssTL/Vtu/ODLTj0VtZoRAbvf7uiv5997GyDq0MoAZUjb5jmA5wYe2/wF6sFuhiZTnZoF1ZtCHunPp0hM/GHrn6VySBhNncx14YO8FPt1CIhEeRMSEjUK9cY3xAbS365oXY8vnUHJsS9+1tr/2bx/+4NJfcUt/Ezf1OR/0LStQXw==
x-github:
githubCloudOnly: false
enabledForGitHubApps: false
category: enterprise-admin
subcategory: management-console
security:
- bearerHttpAuthentication: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
examples:
ssh-key-items:
value:
- key: ssh-rsa AAAAB3NzaC1yc2EAAAAB...
pretty-print: ssh-rsa 01:14:0f:f2:0f:e2:fe:e8:f4:72:62:af:75:f7:1a:88:3e:04:92:64
- key: ssh-rsa AAAAB3NzaC1yc2EAAAAB...
pretty-print: ssh-rsa 01:14:0f:f2:0f:e2:fe:e8:f4:72:62:af:75:f7:1a:88:3e:04:92:64
- key: ssh-rsa AAAAB3NzaC1yc2EAAAAB...
pretty-print: ssh-rsa 01:14:0f:f2:0f:e2:fe:e8:f4:72:62:af:75:f7:1a:88:3e:04:92:64
schemas:
ssh-key:
type: object
properties:
key:
type: string
example: example_value
pretty-print:
type: string
example: example_value
securitySchemes:
bearerHttpAuthentication:
description: Bearer Token
type: http
scheme: Bearer
externalDocs:
description: GitHub Enterprise Developer Docs
url: https://docs.github.com/enterprise-server@3.9/rest/