---
title: "Create User API Key"
description: "Create a new API key for a user."
api: "POST /api/v1/user-api-keys"
---
## Request
The secret server key for authentication.
The admin access token.
The project ID.
The identifier of the user to create the API key for.
A human-readable description for the API key.
ISO 8601 timestamp of when the API key should expire. If not provided, the key does not expire.
## Response
The unique identifier of the newly created API key.
The description of the API key.
The identifier of the user this API key belongs to.
The actual API key value. This is only returned once at creation time.
ISO 8601 timestamp of when the API key expires, or `null` if it does not expire.
ISO 8601 timestamp of when the API key was created.
The `api_key` value is only returned in the creation response. Make sure to store it securely, as it cannot be retrieved again.
```bash cURL
curl -X POST 'https://api.stack-auth.com/api/v1/user-api-keys' \
-H 'Content-Type: application/json' \
-H 'x-stack-secret-server-key: YOUR_SECRET_SERVER_KEY' \
-H 'x-stack-project-id: YOUR_PROJECT_ID' \
-d '{
"user_id": "usr_1234567890",
"description": "My API key",
"expires_at": "2025-12-31T23:59:59Z"
}'
```
```json 200 Response
{
"id": "uak_1234567890",
"description": "My API key",
"user_id": "usr_1234567890",
"api_key": "uak_live_abc123def456...",
"expires_at": "2025-12-31T23:59:59Z",
"created_at": "2024-01-01T00:00:00Z"
}
```