Skip to main content
Ahora la API de REST tiene control de versiones. Para obtener más información, consulta "Acerca del control de versiones de la API".

Claves SSH de Git

La API de REST permite administrar las claves SSH de Git de los usuarios autenticados.

Acerca de la administración de claves SSH de Git

Si una URL de solicitud no incluye un parámetro {username}, la respuesta será para el usuario que ha iniciado sesión (y debes pasar la información de autenticación con tu solicitud). La información privada adicional como, por ejemplo, si un usuario tiene habilitada la autenticación en dos fases, se incluye cuando se autentica con la OAuth, con el ámbito de user.

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.

Tokens de acceso específicos para "List public SSH keys for the authenticated user"

Este punto de conexión funciona con los siguientes tipos de token:

El token debe tener el siguiente conjunto de permisos.:

  • keys:read

Parámetros para "List public SSH keys for the authenticated user"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de consulta
Nombre, Tipo, Descripción
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Valor predeterminado: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Valor predeterminado: 1

Códigos de estado de respuesta HTTP para "List public SSH keys for the authenticated user"

status codeDescripción
200

OK

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

Ejemplos de código para "List public SSH keys for the authenticated user"

Ejemplo de solicitud

get/user/keys
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.

Tokens de acceso específicos para "Create a public SSH key for the authenticated user"

Este punto de conexión funciona con los siguientes tipos de token:

El token debe tener el siguiente conjunto de permisos.:

  • keys:write

Parámetros para "Create a public SSH key for the authenticated user"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros del cuerpo
Nombre, Tipo, Descripción
title string

A descriptive name for the new key.

key string Requerido

The public SSH key to add to your GitHub account.

Códigos de estado de respuesta HTTP para "Create a public SSH key for the authenticated user"

status codeDescripción
201

Created

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Ejemplos de código para "Create a public SSH key for the authenticated user"

Ejemplo de solicitud

post/user/keys
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.

Tokens de acceso específicos para "Get a public SSH key for the authenticated user"

Este punto de conexión funciona con los siguientes tipos de token:

El token debe tener el siguiente conjunto de permisos.:

  • keys:read

Parámetros para "Get a public SSH key for the authenticated user"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de la ruta de acceso
Nombre, Tipo, Descripción
key_id integer Requerido

The unique identifier of the key.

Códigos de estado de respuesta HTTP para "Get a public SSH key for the authenticated user"

status codeDescripción
200

OK

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

Ejemplos de código para "Get a public SSH key for the authenticated user"

Ejemplo de solicitud

get/user/keys/{key_id}
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.

Tokens de acceso específicos para "Delete a public SSH key for the authenticated user"

Este punto de conexión funciona con los siguientes tipos de token:

El token debe tener el siguiente conjunto de permisos.:

  • keys:write

Parámetros para "Delete a public SSH key for the authenticated user"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de la ruta de acceso
Nombre, Tipo, Descripción
key_id integer Requerido

The unique identifier of the key.

Códigos de estado de respuesta HTTP para "Delete a public SSH key for the authenticated user"

status codeDescripción
204

No Content

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

Ejemplos de código para "Delete a public SSH key for the authenticated user"

Ejemplo de solicitud

delete/user/keys/{key_id}
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.

Tokens de acceso específicos para "List public keys for a user"

Este punto de conexión funciona con los siguientes tipos de token:

El token debe tener el siguiente conjunto de permisos.:

  • keys:read

Este punto de conexión se puede usar sin autenticación o los permisos mencionados anteriormente si solo se solicitan recursos públicos.

Parámetros para "List public keys for a user"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de la ruta de acceso
Nombre, Tipo, Descripción
username string Requerido

The handle for the GitHub user account.

Parámetros de consulta
Nombre, Tipo, Descripción
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Valor predeterminado: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Valor predeterminado: 1

Códigos de estado de respuesta HTTP para "List public keys for a user"

status codeDescripción
200

OK

Ejemplos de código para "List public keys for a user"

Ejemplo de solicitud

get/users/{username}/keys
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..." } ]