Authentication
Register
POST /api/v1/auth/registerjson
{
"email": "[email protected]",
"password": "securepassword",
"name": "John Doe"
}Login
POST /api/v1/auth/loginjson
{
"email": "[email protected]",
"password": "securepassword"
}Response:
json
{
"token": "eyJhbGciOiJIUzI1NiIs...",
"user": {
"id": "usr_abc123",
"email": "[email protected]",
"name": "John Doe"
}
}Google OAuth
POST /api/v1/auth/google-loginjson
{
"token": "google-oauth-id-token"
}WebAuthn (Passkeys)
Register a Passkey
POST /api/v1/auth/webauthn/register/begin
POST /api/v1/auth/webauthn/register/finishLogin with Passkey
POST /api/v1/auth/webauthn/login/begin
POST /api/v1/auth/webauthn/login/finishAPI Keys
Create
POST /api/v1/api-keys
Authorization: Bearer {jwt}json
{
"name": "Production Key",
"quota": 10000
}Response includes the API key (shown only once):
json
{
"id": "key_abc123",
"key": "dk_live_xxxxxxxxxxxxxxxx",
"name": "Production Key",
"quota": 10000
}List
GET /api/v1/api-keys
Authorization: Bearer {jwt}Delete
DELETE /api/v1/api-keys/{id}
Authorization: Bearer {jwt}Password Reset
POST /api/v1/auth/forgot-password
{ "email": "[email protected]" }
POST /api/v1/auth/reset-password
{ "token": "reset-token", "password": "newpassword" }