๐Ÿš€ 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, storageBucket = abook-auth.firebasestorage.app
โš ๏ธ Note: POST, PUT, and DELETE requests require JSON payloads. Edit the JSON in the text areas before testing.

๐Ÿฅ Health Check

API Health Check
GET
https://abook.squadmedia.se/API/
Check if API is running and get version info

๐Ÿ‘ค User Endpoints

Get User Summary
GET
https://abook.squadmedia.se/API/user/2/summary
Get user profile information
Get User Inbox
GET
https://abook.squadmedia.se/API/user/2/inbox
Get all messages for user
Send Message to User
POST
https://abook.squadmedia.se/API/user/2/inbox
Send a new message to user inbox
Mark Messages as Read
PUT
https://abook.squadmedia.se/API/user/2/inbox/read
Mark specific messages as read
Delete Messages
DELETE
https://abook.squadmedia.se/API/user/2/inbox
Delete specific messages from inbox
List User Clubs
GET
https://abook.squadmedia.se/API/user/2/clubs
List book clubs where user is a member
List User Families
GET
https://abook.squadmedia.se/API/user/2/families
List families where user is a member
Club Details (Members)
GET
https://abook.squadmedia.se/API/clubs/2
Get club details and members list
Apply for Club Membership
POST
https://abook.squadmedia.se/API/clubs/2/memberships
Request membership in a club (self)
Approve Club Member (Admin)
PUT
https://abook.squadmedia.se/API/clubs/2/memberships/2/approve
Approve membership (admin only)
Remove Club Member (Admin)
DELETE
https://abook.squadmedia.se/API/clubs/2/memberships/2
Remove member from club (admin only)
Leave Club (Self)
DELETE
https://abook.squadmedia.se/API/clubs/2/memberships/self
Leave club as the authenticated user
Family Details (Members)
GET
https://abook.squadmedia.se/API/families/1
Get family details and members list
Apply for Family Membership
POST
https://abook.squadmedia.se/API/families/1/memberships
Request membership in a family (self)
Approve Family Member (Admin)
PUT
https://abook.squadmedia.se/API/families/1/memberships/2/approve
Approve membership (admin only)
Remove Family Member (Admin)
DELETE
https://abook.squadmedia.se/API/families/1/memberships/2
Remove member from family (admin only)
Leave Family (Self)
DELETE
https://abook.squadmedia.se/API/families/1/memberships/self
Leave family as the authenticated user

๐Ÿ“š Library Endpoints

Get User Library
GET
https://abook.squadmedia.se/API/user/2/library
Get all books in user's library
Get Book Details
GET
https://abook.squadmedia.se/API/books/1/details
Get detailed information about a book
Get Book Messages
GET
https://abook.squadmedia.se/API/books/1/messages
Get all messages/comments for a book
Create Book Message
POST
https://abook.squadmedia.se/API/books/{book_id}/messages
Post a club message with optional photo/video attachment (images auto-convert to WebP; files saved under /API/booktalk/{book_id}/msg_{message_id}.ext)

๐Ÿ“ Annotation Endpoints

Create Annotation
POST
https://abook.squadmedia.se/API/annotations
Create a new annotation for a book. User ID is automatically derived from authentication token.
Update Annotation
PUT
https://abook.squadmedia.se/API/annotations/{annotation_id}
Update an existing annotation (replace {annotation_id} with actual ID)
Delete Annotation
DELETE
https://abook.squadmedia.se/API/annotations/{annotation_id}
Delete an annotation (replace {annotation_id} with actual ID)
Upload Annotation Attachment
POST
https://abook.squadmedia.se/API/annotations/{annotation_id}/attachments
Upload a photo or video for an existing annotation (stored under /API/users/{user_id}/annotations/note_{annotation_id}_{attachment_id}.ext)

๐Ÿท๏ธ Tag/NFC Endpoints

Get Tag History
GET
https://abook.squadmedia.se/API/tags/{uuid}/history
Get ownership and borrowing history for a tag (UUID: 1-14 characters). Returns user_id and username for current owner and borrower.
Borrow Tag
POST
https://abook.squadmedia.se/API/tags/borrow
Borrow a book tag from another user. Requires valid borrowPIN. Checks if already borrowed. Returns borrower_user_id, borrower_username, owner_user_id, owner_username. Error if already borrowed includes borrowed_by_user_id, borrowed_by_username, and due_date. Error 22 if borrowPIN is incorrect.
Return Tag
PUT
https://abook.squadmedia.se/API/tags/return/{uuid}
Return a borrowed tag. Only the owner (authenticated user) can return. Generates new borrowPIN. Error 24 if not owner, Error 19 if not borrowed.
Transfer Tag Ownership
POST
https://abook.squadmedia.se/API/tags/transfer
Transfer/Buy tag ownership. Authenticated user is the buyer/receiver. Requires seller's ownerPIN. Generates new ownerPIN after successful transfer. Returns from_user_id (seller), to_user_id (buyer), new_ownerPIN. Error 23 if ownerPIN is incorrect.
Associate Tag with Book
POST
https://abook.squadmedia.se/API/tags/associate
Link a tag UUID to a book_id. Requires valid owner_pin for verification. Error 15 if owner_pin is incorrect.