API Reference

Bindly's REST API is available at bind.ly/api/*.

Authentication

All API endpoints (except /api/public/*) require authentication.

Session Cookie (Web)

Automatically set on login. Used by the SPA at bind.ly/app.

User Key (MCP / Programmatic)

Pass as Bearer token:

Authorization: Bearer userk_abc123...

Create User Keys at bind.ly/app > Settings.

Space API Key

For Space-level access:

Authorization: Bearer spacek_abc123...

Endpoints

Auth

MethodPathDescription
POST/api/auth/registerRegister with email/password
POST/api/auth/loginLogin, returns JWT cookies
POST/api/auth/logoutClear session
GET/api/auth/meCurrent user profile
GET/api/auth/googleStart Google OAuth
GET/api/auth/callback/googleGoogle OAuth callback
POST/api/auth/verify-emailVerify email token
POST/api/auth/forgot-passwordRequest password reset
POST/api/auth/reset-passwordReset password with token
GET/api/auth/keysList User Keys
POST/api/auth/keysCreate User Key
DELETE/api/auth/keys/:idRevoke User Key
POST/api/auth/add-passwordAdd password to OAuth-only account

Bindings

MethodPathDescription
GET/api/bindings?spaceId=List bindings in Space
POST/api/bindingsCreate binding
GET/api/bindings/:id?tier=1Get binding (Tier 1/1.5/2)
PUT/api/bindings/:idUpdate (creates new Version)
DELETE/api/bindings/:idDelete binding

Spaces

MethodPathDescription
GET/api/spacesList accessible Spaces
POST/api/spacesCreate Space
GET/api/spaces/:idGet Space details

Sets

MethodPathDescription
GET/api/sets?spaceId=List Sets
POST/api/setsCreate Set
GET/api/sets/:idGet Set
DELETE/api/sets/:idDelete Set

Search

MethodPathDescription
GET/api/search?q=&mode=Search (auto/semantic/keyword)

Public (No Auth)

MethodPathDescription
GET/api/public/@:space/:bindingPublic binding by slug
GET/api/public/spacesList public Spaces
GET/api/healthHealth check