โ ๏ธ Note: POST, PUT, and DELETE requests require JSON payloads. Edit the JSON in the text areas before testing.
๐ฅ Health Check
API Health Check
GET
GET {API_BASE}/
Check if API is running and get version info
๐ Attachments (Stage 1.2)
Signed Upload Flow: signed-url โ PUT โ confirm โ read-url
POST
POST /attachments/signed-url
PUT {upload_url}
POST /attachments/confirm
GET /attachments/read-url?scope=...&owner_id=...&media_file=...
This tests the Stage 1.2 canonical attachment contract:
โข signed-url returns media_file (filename only) + upload_url โข browser does a PUT to GCS signed URL
โข confirm checks object exists
โข read-url returns a signed GET URL for preview/download
Last media_file:(none)
Last upload_url:(none)
Last read_url:(none)
๐ค User Endpoints
Get User Summary
GET
GET /user/2/summary
Get user profile info, clubs[], families[], and users_app map
Get User Inbox
GET
GET /user/2/inbox
Get all messages for user
Send Message to User
POST
POST /user/2/inbox
Send a new message to user inbox
Mark Messages as Read
PUT
PUT /user/2/inbox/read
Mark specific messages as read
Delete Messages
DELETE
DELETE /user/2/inbox
Delete specific messages from inbox
๐ Library Endpoints
Get User Library
GET
GET /user/2/library
Get all books in user's library
Get Book Details
GET
GET /books/2/details
Get DB-hydrated book details
๐ Annotation Endpoints
Create Annotation
POST
POST /annotations
Create a new annotation for a book. User ID derived from auth token.