{"meta":{"title":"REST-API-Endpunkte für SSH-Signaturschlüssel","intro":"Verwende die REST-API, um die SSH-Signaturschlüssel authentifizierter Benutzer*innen zu verwalten.","product":"REST-API","breadcrumbs":[{"href":"/de/enterprise-server@3.22/rest","title":"REST-API"},{"href":"/de/enterprise-server@3.22/rest/users","title":"Benutzer"},{"href":"/de/enterprise-server@3.22/rest/users/ssh-signing-keys","title":"SSH-Signaturschlüssel"}],"documentType":"article"},"body":"# REST-API-Endpunkte für SSH-Signaturschlüssel\n\nVerwende die REST-API, um die SSH-Signaturschlüssel authentifizierter Benutzer\\*innen zu verwalten.\n\n## Informationen zur Verwaltung von SSH-Signaturschlüsseln\n\nWenn eine Anforderungs-URL keinen `{username}`-Parameter enthält, gilt die Antwort für den*die angemeldete*n Benutzer\\*in (und Sie müssen [Authentifizierungsinformationen](/de/enterprise-server@3.22/rest/authentication/authenticating-to-the-rest-api) mit Ihrer Anforderung übergeben). Zusätzliche private Informationen, z. B. ob ein Benutzer die zweistufige Authentifizierung aktiviert hat, werden bei der Authentifizierung über die Standardauthentifizierung oder OAuth mit dem `user` Zugriffsbereich eingeschlossen.\n\n> \\[!NOTE]\n> Most endpoints use `Authorization: Bearer <YOUR-TOKEN>` and `Accept: application/vnd.github+json` headers, plus `X-GitHub-Api-Version: 2026-03-10`. Curl examples below omit these standard headers for brevity.\n\n## List SSH signing keys for the authenticated user\n\n```\nGET /user/ssh_signing_keys\n```\n\nLists the SSH signing keys for the authenticated user's GitHub account.\nOAuth app tokens and personal access tokens (classic) need the read:ssh\\_signing\\_key scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`per_page`** (integer)\n  The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"\n  Default: `30`\n\n* **`page`** (integer)\n  The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"\n  Default: `1`\n\n### HTTP response status codes\n\n* **200** - OK\n\n* **304** - Not modified\n\n* **401** - Requires authentication\n\n* **403** - Forbidden\n\n* **404** - Resource not found\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  http(s)://HOSTNAME/api/v3/user/ssh_signing_keys\n```\n\n**Response schema (Status: 200):**\n\nArray of `SSH Signing Key`:\n\n* `key`: required, string\n* `id`: required, integer\n* `title`: required, string\n* `created_at`: required, string, format: date-time\n\n## Create a SSH signing key for the authenticated user\n\n```\nPOST /user/ssh_signing_keys\n```\n\nCreates an SSH signing key for the authenticated user's GitHub account.\nOAuth app tokens and personal access tokens (classic) need the write:ssh\\_signing\\_key scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Body parameters\n\n* **`title`** (string)\n  A descriptive name for the new key.\n\n* **`key`** (string) (required)\n  The public SSH key to add to your GitHub account. For more information, see \"Checking for existing SSH keys.\"\n\n### HTTP response status codes\n\n* **201** - Created\n\n* **304** - Not modified\n\n* **401** - Requires authentication\n\n* **403** - Forbidden\n\n* **404** - Resource not found\n\n* **422** - Validation failed, or the endpoint has been spammed.\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X POST \\\n  http(s)://HOSTNAME/api/v3/user/ssh_signing_keys \\\n  -d '{\n  \"key\": \"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234\",\n  \"title\": \"ssh-rsa AAAAB3NzaC1yc2EAAA\"\n}'\n```\n\n**Response schema (Status: 201):**\n\n* `key`: required, string\n* `id`: required, integer\n* `title`: required, string\n* `created_at`: required, string, format: date-time\n\n## Get an SSH signing key for the authenticated user\n\n```\nGET /user/ssh_signing_keys/{ssh_signing_key_id}\n```\n\nGets extended details for an SSH signing key.\nOAuth app tokens and personal access tokens (classic) need the read:ssh\\_signing\\_key scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`ssh_signing_key_id`** (integer) (required)\n  The unique identifier of the SSH signing key.\n\n### HTTP response status codes\n\n* **200** - OK\n\n* **304** - Not modified\n\n* **401** - Requires authentication\n\n* **403** - Forbidden\n\n* **404** - Resource not found\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  http(s)://HOSTNAME/api/v3/user/ssh_signing_keys/SSH_SIGNING_KEY_ID\n```\n\n**Response schema (Status: 200):**\n\nSame response schema as [Create a SSH signing key for the authenticated user](#create-a-ssh-signing-key-for-the-authenticated-user).\n\n## Delete an SSH signing key for the authenticated user\n\n```\nDELETE /user/ssh_signing_keys/{ssh_signing_key_id}\n```\n\nDeletes an SSH signing key from the authenticated user's GitHub account.\nOAuth app tokens and personal access tokens (classic) need the admin:ssh\\_signing\\_key scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`ssh_signing_key_id`** (integer) (required)\n  The unique identifier of the SSH signing key.\n\n### HTTP response status codes\n\n* **204** - No Content\n\n* **304** - Not modified\n\n* **401** - Requires authentication\n\n* **403** - Forbidden\n\n* **404** - Resource not found\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X DELETE \\\n  http(s)://HOSTNAME/api/v3/user/ssh_signing_keys/SSH_SIGNING_KEY_ID\n```\n\n**Response schema (Status: 204):**\n\n## List SSH signing keys for a user\n\n```\nGET /users/{username}/ssh_signing_keys\n```\n\nLists the SSH signing keys for a user. This operation is accessible by anyone.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`username`** (string) (required)\n  The handle for the GitHub user account.\n\n* **`per_page`** (integer)\n  The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"\n  Default: `30`\n\n* **`page`** (integer)\n  The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"\n  Default: `1`\n\n### HTTP response status codes\n\n* **200** - OK\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  http(s)://HOSTNAME/api/v3/users/USERNAME/ssh_signing_keys\n```\n\n**Response schema (Status: 200):**\n\nSame response schema as [List SSH signing keys for the authenticated user](#list-ssh-signing-keys-for-the-authenticated-user)."}