Docs
API

User API

Read the signed-in user and connect a Git provider.

Get Current User

GET /api/v1/user/me

Response 200:

{
  "id": "uuid",
  "email": "user@example.com",
  "name": "John Doe",
  "avatar_url": "https://...",
  "email_verified": true,
  "is_active": true,
  "created_at": "2025-01-01T00:00:00Z",
  "updated_at": "2025-01-01T00:00:00Z",
  "last_login_at": "2025-01-15T10:00:00Z"
}

provider is the git provider the session works with: the one it signed in through, else the git provider connected most recently, and absent for an account with none. providers lists every provider the account can sign in with, Google and Apple included.

Each of teams carries its id, name, slug, the person's role and the team's archetype, null until one is picked.

Connect a Git Provider

POST /api/v1/user/connect/{provider}

Provider: github, gitlab or bitbucket. Starts connecting it to the signed-in account, for an account that signed up with Google or Apple.

Response 200: { "url": "<the provider's authorization page>" }. The callback adds the identity to this account, keeps the current session, and redirects to /settings?connected=<provider>, or to /settings?connect_error=<cancelled|identity_in_use|failed>. An identity that belongs to another account is never moved. 400 for any other provider or one not configured.