> For the complete documentation index, see [llms.txt](https://docs.defguard.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.defguard.net/for-developers/rest-api/core/ssh-key/add-an-ssh-or-gpg-authentication-key-to-a-user.md).

# Add an SSH or GPG authentication key to a user

```json
{"openapi":"3.1.0","info":{"title":"defguard Core API","version":"2.0.3"},"tags":[{"name":"SSH key","description":"SSH and GPG authentication keys of users."}],"security":[{"cookie":[]},{"api_token":[]}],"components":{"securitySchemes":{"cookie":{"type":"apiKey","in":"cookie","name":"defguard_session"},"api_token":{"type":"http","scheme":"bearer"}},"schemas":{"AddAuthenticationKeyData":{"type":"object","required":["key","name","key_type"],"properties":{"key":{"type":"string"},"key_type":{"$ref":"#/components/schemas/AuthenticationKeyType"},"name":{"type":"string"}}},"AuthenticationKeyType":{"type":"string","enum":["ssh","gpg"]},"ApiErrorResponse":{"type":"object","description":"Body returned with error responses.","required":["msg"],"properties":{"code":{"type":["string","null"],"description":"Machine-readable error code, returned for selected errors."},"msg":{"type":"string","description":"Human-readable error message."}}}}},"paths":{"/api/v1/user/{username}/auth_key":{"post":{"tags":["SSH key"],"summary":"Add an SSH or GPG authentication key to a user","operationId":"add_authentication_key","parameters":[{"name":"username","in":"path","description":"Name of the user.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddAuthenticationKeyData"}}},"required":true},"responses":{"201":{"description":"Authentication key added."},"400":{"description":"Invalid key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"401":{"description":"Session is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Requires admin privileges or the request must target your own account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Unable to add authentication key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}}}}
```
