REST-API-Endpunkte für Git-SSH-Schlüssel
Verwende die REST-API, um die Git-SSH-Schlüssel authentifizierter Benutzer*innen zu verwalten.
Informationen zum Verwalten von Git-SSH-Schlüsseln
Wenn eine Anforderungs-URL keinen {username}
-Parameter enthält, gilt die Antwort für dendie angemeldeten Benutzer*in (und Sie müssen Authentifizierungsinformationen mit Ihrer Anforderung übergeben). Zusätzliche private Informationen sind enthalten, wenn du dich mit OAuth mit dem Umfang user
authentifizierst – zum Beispiel, ob Benutzer die Zwei-Faktor-Authentifizierung aktiviert haben.
List public SSH keys for the authenticated user
Lists the public SSH keys for the authenticated user's GitHub account.
OAuth app tokens and personal access tokens (classic) need the read:public_key
scope to use this endpoint.
Differenzierte Zugriffstoken für "List public SSH keys for the authenticated user"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Git SSH keys" user permissions (read)
Parameter für „List public SSH keys for the authenticated user“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Standard: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Standard: |
HTTP-Antwortstatuscodes für „List public SSH keys for the authenticated user“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Codebeispiele für „List public SSH keys for the authenticated user“
Anforderungsbeispiel
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/keys
Response
Status: 200
[
{
"key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234",
"id": 2,
"url": "https://api.github.com/user/keys/2",
"title": "ssh-rsa AAAAB3NzaC1yc2EAAA",
"created_at": "2020-06-11T21:31:57Z",
"verified": false,
"read_only": false
},
{
"key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJy931234",
"id": 3,
"url": "https://api.github.com/user/keys/3",
"title": "ssh-rsa AAAAB3NzaC1yc2EAAB",
"created_at": "2020-07-11T21:31:57Z",
"verified": false,
"read_only": false
}
]
Create a public SSH key for the authenticated user
Adds a public SSH key to the authenticated user's GitHub account.
OAuth app tokens and personal access tokens (classic) need the write:gpg_key
scope to use this endpoint.
Differenzierte Zugriffstoken für "Create a public SSH key for the authenticated user"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Git SSH keys" user permissions (write)
Parameter für „Create a public SSH key for the authenticated user“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
title string A descriptive name for the new key. |
key string ErforderlichThe public SSH key to add to your GitHub account. |
HTTP-Antwortstatuscodes für „Create a public SSH key for the authenticated user“
Statuscode | BESCHREIBUNG |
---|---|
201 | Created |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
Codebeispiele für „Create a public SSH key for the authenticated user“
Anforderungsbeispiel
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/keys \
-d '{"title":"ssh-rsa AAAAB3NzaC1yc2EAAA","key":"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234"}'
Response
Status: 201
{
"key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234",
"id": 2,
"url": "https://api.github.com/user/keys/2",
"title": "ssh-rsa AAAAB3NzaC1yc2EAAA",
"created_at": "2020-06-11T21:31:57Z",
"verified": false,
"read_only": false
}
Get a public SSH key for the authenticated user
View extended details for a single public SSH key.
OAuth app tokens and personal access tokens (classic) need the read:public_key
scope to use this endpoint.
Differenzierte Zugriffstoken für "Get a public SSH key for the authenticated user"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Git SSH keys" user permissions (read)
Parameter für „Get a public SSH key for the authenticated user“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
key_id integer ErforderlichThe unique identifier of the key. |
HTTP-Antwortstatuscodes für „Get a public SSH key for the authenticated user“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Codebeispiele für „Get a public SSH key for the authenticated user“
Anforderungsbeispiel
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/keys/KEY_ID
Response
Status: 200
{
"key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234",
"id": 2,
"url": "https://api.github.com/user/keys/2",
"title": "ssh-rsa AAAAB3NzaC1yc2EAAA",
"created_at": "2020-06-11T21:31:57Z",
"verified": false,
"read_only": false
}
Delete a public SSH key for the authenticated user
Removes a public SSH key from the authenticated user's GitHub account.
OAuth app tokens and personal access tokens (classic) need the admin:public_key
scope to use this endpoint.
Differenzierte Zugriffstoken für "Delete a public SSH key for the authenticated user"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Git SSH keys" user permissions (write)
Parameter für „Delete a public SSH key for the authenticated user“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
key_id integer ErforderlichThe unique identifier of the key. |
HTTP-Antwortstatuscodes für „Delete a public SSH key for the authenticated user“
Statuscode | BESCHREIBUNG |
---|---|
204 | No Content |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Codebeispiele für „Delete a public SSH key for the authenticated user“
Anforderungsbeispiel
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/keys/KEY_ID
Response
Status: 204
List public keys for a user
Lists the verified public SSH keys for a user. This is accessible by anyone.
Differenzierte Zugriffstoken für "List public keys for a user"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub-App-Benutzerzugriffstoken
- Zugriffstoken für GitHub App-Installation
- Differenzierte persönliche Zugriffstoken
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Git SSH keys" user permissions (read)
Dieser Endpunkt kann ohne Authentifizierung oder die zuvor erwähnten Berechtigungen verwendet werden, wenn nur öffentliche Ressourcen angefordert werden.
Parameter für „List public keys for a user“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
username string ErforderlichThe handle for the GitHub user account. |
Name, type, BESCHREIBUNG |
---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Standard: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Standard: |
HTTP-Antwortstatuscodes für „List public keys for a user“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
Codebeispiele für „List public keys for a user“
Anforderungsbeispiel
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/keys
Response
Status: 200
[
{
"id": 1,
"key": "ssh-rsa AAA..."
}
]