๐Ÿš€ aBook v7 API Tester

Test all API endpoints directly in your browser

API Base URL:
User ID: 2
Book ID: 2
Auth Token: Not set
ID Token:

๐Ÿ”‘ Firebase Auth

Sign in (Email/Password)
POST
Firebase Auth โ†’ abook-auth
authDomain = abook-auth.firebaseapp.com, projectId = abook-auth
โš ๏ธ 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.