Skip to content

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.

RESTJSONBearer authOpenAPI 3.1

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 Explorer

Endpoint 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/search

    Full-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.