---
title: "Register"
method: POST
path: "/api/user/register"
tags: ["Authentication"]
---

# Register

`POST /api/user/register`

Register a new user account. Does not require an existing API key.

**SDK Usage:**
```typescript
const result = await client.register('Jane', 'Smith', 'jane@example.com', 'SecureP@ss1');
client.updateApiKey(result.token);
```

## Request body

- object
  - `firstName` string, required
  - `lastName` string, required
  - `email` string, email, required
  - `password` string, password, required

## Response `200`

Registration successful

- RegisterResponse
  - `token` string — JWT token
  - `newUserId` string, uuid
  - `email` string, email

## Other responses

- `400` — Invalid input or email already exists

## Changes

- **2026-03-07** `f19009a654f5` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/privacypal/apis/privacypal-api/changes/api/user/register/post.md)

---

[API](https://skmtc.dev/privacypal/apis/privacypal-api.md) · [All operations](https://skmtc.dev/privacypal/apis/privacypal-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/privacypal/privacypal-api/revisions/0e1db3b6bc7c/schema)
