Skip to content

HTTP API Reference

The Fluxbase HTTP API provides RESTful endpoints for authentication, storage, and database operations. All endpoints are prefixed with /api/v1/.

http://localhost:8080/api/v1

Most endpoints require authentication via JWT bearer tokens. Include the token in the Authorization header:

Terminal window
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
http://localhost:8080/api/v1/auth/user

Endpoints for user registration, login, and session management.

MethodEndpointDescription
POST/auth/signupRegister a new user
POST/auth/signinSign in with email/password
POST/auth/signoutSign out current session
POST/auth/refreshRefresh access token
GET/auth/userGet current user
PATCH/auth/userUpdate current user
POST/auth/magiclinkRequest magic link
GET/auth/magiclink/verifyVerify magic link token

Endpoints for file storage operations.

MethodEndpointDescription
GET/storage/bucketsList all buckets
POST/storage/buckets/{bucket}Create bucket
DELETE/storage/buckets/{bucket}Delete bucket
GET/storage/{bucket}List files in bucket
POST/storage/{bucket}/{key}Upload file
GET/storage/{bucket}/{key}Download file
HEAD/storage/{bucket}/{key}Get file metadata
DELETE/storage/{bucket}/{key}Delete file
POST/storage/{bucket}/{key}/signed-urlGenerate signed URL

Auto-generated CRUD endpoints for your PostgreSQL tables. Endpoints are pluralized automatically.

MethodEndpointDescription
GET/tables/{table}List records with filtering
POST/tables/{table}Create record(s)
PATCH/tables/{table}Batch update records
DELETE/tables/{table}Batch delete records
GET/tables/{table}/{id}Get record by ID
PUT/tables/{table}/{id}Replace record
PATCH/tables/{table}/{id}Update record
DELETE/tables/{table}/{id}Delete record

Table endpoints support PostgREST-compatible query parameters:

ParameterDescriptionExample
selectColumns to return?select=id,name,email
orderSort order?order=created_at.desc
limitMax results?limit=10
offsetPagination offset?offset=20
{column}.{op}Column filter?name.eq=John&age.gt=18
OperatorDescriptionExample
eqEqual?status.eq=active
neqNot equal?status.neq=deleted
gtGreater than?age.gt=18
gteGreater than or equal?age.gte=18
ltLess than?price.lt=100
lteLess than or equal?price.lte=100
likePattern match?name.like=John%
ilikeCase-insensitive pattern?name.ilike=john%
inIn list?status.in=(active,pending)
isIs null/not null?deleted_at.is.null

A live OpenAPI 3.0 specification is available at:

GET /openapi.json

This specification is generated dynamically based on your database schema and includes all available endpoints with their request/response schemas.

All errors follow a consistent format:

{
"error": "Error message description"
}

Common HTTP status codes:

CodeDescription
200Success
201Created
204No content (successful delete)
400Bad request
401Unauthorized
403Forbidden
404Not found
409Conflict
500Internal server error