Skip to main content
Base path: /v1/auth

POST /signup

Create a user. Request
{
  "email": "[email protected]",
  "password": "secret",
  "metadata": {"name": "Jane"}
}
Response
{
  "user": {"id": "...", "email": "[email protected]"}
}

POST /signin

Sign in and receive tokens. Request
{ "email": "[email protected]", "password": "secret" }
Response
{
  "access_token": "...",
  "refresh_token": "...",
  "user": {"id": "...", "email": "[email protected]"}
}

POST /signout

Invalidate the current session. Headers: Authorization: Bearer <access_token> Response
{ "message": "Signed out successfully" }

GET /me

Return the current authenticated user. Headers: Authorization: Bearer <access_token> Response
{ "user": {"id": "...", "email": "..."} }

POST /sync

Ensure a user exists in DB and create a default project if none exists. Headers: Authorization: Bearer <access_token> Response
{
  "user": {"id": "...", "email": "..."},
  "project": {"id": "...", "name": "My First Project", "slug": "my-first-project"}
}