Skip to content

Authentication

Register

POST /api/v1/auth/register
json
{
  "email": "[email protected]",
  "password": "securepassword",
  "name": "John Doe"
}

Login

POST /api/v1/auth/login
json
{
  "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-login
json
{
  "token": "google-oauth-id-token"
}

WebAuthn (Passkeys)

Register a Passkey

POST /api/v1/auth/webauthn/register/begin
POST /api/v1/auth/webauthn/register/finish

Login with Passkey

POST /api/v1/auth/webauthn/login/begin
POST /api/v1/auth/webauthn/login/finish

API 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" }

TechTrans Lab