---
title: "Create a SSH signing key for the authenticated user"
method: POST
path: "/user/ssh_signing_keys"
tags: ["users"]
---

# Create a SSH signing key for the authenticated user

`POST /user/ssh_signing_keys`

Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/enterprise-server@3.7/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)."

## Request body

- object
  - `title` string — A descriptive name for the new key.
  - `key` string, required — The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/enterprise-server@3.7/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)."

## Response `201`

Response

- SshSigningKey — A public SSH key used to sign Git commits
  - `key` string, required
  - `id` integer, required
  - `title` string, required
  - `created_at` string, date-time, required

## Other responses

- `304` — Not modified
- `401` — Requires authentication
- `403` — Forbidden
- `404` — Resource not found
- `422` — Validation failed, or the endpoint has been spammed.

---

[API](https://skmtc.net/github/apis/github-v3-rest-api-6.md) · [All operations](https://skmtc.net/github/apis/github-v3-rest-api-6/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/github/github-v3-rest-api-6/versions/15db3fa0759b/schema)
