Developers
FairSlice API
Last updated: March 2026
Introduction
Build integrations with the FairSlice REST API. JSON in, JSON out, no surprises. Every endpoint mirrors what the web and Android apps use, so anything you can do in the UI you can do via the API.
Authentication
All API requests require a Bearer token in the Authorization header:
Authorization: Bearer your-access-token
Obtain a token by signing in via POST /api/auth/login with your email and password. The response includes an access_token and refresh_token.
Interactive spec
The full OpenAPI specification is available as interactive documentation.
Open API ExplorerEndpoint reference
- Auth
/api/auth/*Login, signup, refresh tokens, OAuth
- Groups
/api/groups/*CRUD, members, invites
- Expenses
/api/groups/{id}/expenses/*CRUD, splits, disputes, comments
- Settlements
/api/groups/{id}/settlements/*Create, confirm, reject
- Friends
/api/friends/*Requests, balances, 1:1 expenses
- Game sessions
/api/groups/{id}/games/*CRUD, players, rebuys, settle
- Game templates
/api/game-templates/*System and custom templates
- Receipts
/api/receipts/*AI scan, scan-and-split
- Notifications
/api/notifications/*List, mark read, preferences
- Reports
/api/reports/*Spending analytics
- Search
/api/searchFull-text search across expenses, groups, friends
Errors & rate limits
FairSlice uses standard HTTP status codes. Errors return a JSON body of the form { "error": "human-readable message" } and, where relevant, a code field for programmatic handling.
Authenticated routes are rate-limited per user; unauthenticated routes per IP. Sustained abuse returns 429 with a Retry-After header.