POST /api/auth/signup
Create a new account with email and password. Rate limit: 5 requests / 60 seconds| Field | Type | Required | Notes |
|---|---|---|---|
email | string | Yes | Valid email, max 255 chars |
password | string | Yes | Min 8 chars, must contain letter and number |
name | string | Yes | Max 100 chars |
inviteCode | string | No | Required when registrationMode is invite |
200
profclaw_session cookie (httpOnly, 30-day expiry).
POST /api/auth/login
Sign in with email and password. Rate limit: 10 requests / 60 seconds200
POST /api/auth/logout
Invalidate the current session.200: { "message": "Logged out successfully" }
GET /api/auth/me
Get the current authenticated user.200
401 (unauthenticated):
PATCH /api/auth/me
Update the current user’s profile.name, avatarUrl, bio, timezone, locale, onboardingCompleted
GitHub OAuth
Jira / Linear OAuth
POST /api/auth/verify-access-key
Verify an access key inlocal auth mode to create a session.
200: { "success": true, "message": "Access verified" }
PUT /api/auth/access-key
Set or clear the access key (admin only, local mode only)."key": null to remove the access key requirement.
Related
- API Overview - Base URL, authentication modes, and error format
- Devices API - Passwordless device pairing flow
- Security Overview - Auth modes and permission system
- profclaw auth - Manage users and invite codes from the CLI