Claudly API

Claude Conversation Tracker — save, recall, and resume conversations across machines

v1.0 · 18 endpoints · GET /help for raw docs
Authentication
1. POST /login with your email → JWT emailed to you (auto-registers new users)
2. Use the JWT as Password on authenticated endpoints — valid for 1 hour, HMAC-SHA256 signed
3. All endpoints require Username + Password (JWT) except /login and /help
Auth & Sessions
POST /login Request a JWT via email 🔒

Body (JSON)

UsernamestringEmail addressrequired
DisplayNamestringDisplay name (used for auto-registration)optional
curl -X POST /login -H "Content-Type: application/json" -d '{"Username":"[email protected]"}'
POST /logout Revoke all active JWTs 🔒

Body (JSON)

UsernamestringEmail addressrequired
PasswordstringJWT tokenrequired
Conversations
POST /save Save or update a conversation 🔒

Body (JSON)

UsernamestringEmail addressrequired
SessionIDstringClaude session IDrequired*
ConversationIDintExisting conversation IDrequired*
TitlestringConversation titleoptional
SummarystringWhat the conversation is aboutoptional
MessagesstringMessage contentoptional
ServerNamestringMachine hostnameoptional
WorkingDirectorystringWorking directory pathoptional
TagsstringComma-separated tagsoptional
IsCompletedboolMark as completedoptional
* At least one of SessionID or ConversationID is required
GET /recall Retrieve a conversation 🔒

Query Parameters

UsernamestringEmail addressrequired
PasswordstringJWT tokenrequired
SessionIDstringClaude session IDor
ConversationIDintConversation IDor
/[email protected]&Password=TOKEN&ConversationID=1
GET /list List all conversations 🔒

Query Parameters

UsernamestringEmail addressrequired
PasswordstringJWT tokenrequired
TagstringFilter by tagoptional
SearchstringSearch title/summary/tagsoptional
TopintMax results (default 50, max 500)optional
POST /delete Soft-delete a conversation 🔒

Body (JSON)

UsernamestringEmail addressrequired
PasswordstringJWT tokenrequired
ConversationIDintConversation to deleteor
SessionIDstringSession to deleteor
GET /pending Get due reminders not yet emailed 🔒

Query Parameters

UsernamestringEmail addressrequired
PasswordstringJWT tokenrequired
Returns reminders where ReminderDate <= now and email has not been sent
GET /search Search conversations by keyword 🔒

Query Parameters

UsernamestringEmail addressrequired
PasswordstringJWT tokenrequired
qstringSearch keywordrequired
TopintMax results (default 50)optional
JSONL Files
POST /upload-jsonl Upload gzipped JSONL conversation file 🔒

Body (JSON)

ConversationIDintConversation to attach file torequired
FileDatastringBase64-encoded gzipped JSONLrequired
GET /download-jsonl Download JSONL file for a conversation 🔒

Query Parameters

UsernamestringEmail addressrequired
PasswordstringJWT tokenrequired
ConversationIDintConversation IDrequired
Rawbooltrue = binary download, false = base64 JSONoptional
History
POST /add-history Log what was done in a session 🔒

Body (JSON)

ConversationIDintConversation IDrequired
ActionstringShort description of what was donerequired
DetailsstringLonger detailsoptional
ServerNamestringMachine hostnameoptional
GET /get-history Get all history entries for a conversation 🔒

Query Parameters

UsernamestringEmail addressrequired
PasswordstringJWT tokenrequired
ConversationIDintConversation IDrequired
Reminders
POST /add-reminder Create a reminder for a conversation 🔒

Body (JSON)

ConversationIDintConversation IDrequired
TitlestringReminder titlerequired
ReminderDatedatetimeWhen to send the reminder (ISO 8601)required
NotestringAdditional detailsoptional
UsernamestringEmail (if not set on conversation)optional
GET /get-reminders List all reminders for a user 🔒

Query Parameters

UsernamestringEmail addressrequired
PasswordstringJWT tokenrequired
ConversationIDintFilter by conversationoptional
GET /process-reminders Send due reminder emails (localhost only) 🔒 internal
Server-side endpoint called on a schedule. Sends emails for all due reminders (max 3 attempts). Restricted to localhost (127.0.0.1).
Suggestions
POST /suggest Submit a feature request or improvement 🔒

Body (JSON)

UsernamestringEmail addressrequired
PasswordstringJWT tokenrequired
TitlestringShort description of the suggestionrequired
DetailsstringFull detailsoptional
GET /suggestions View all suggestions and their status 🔒

Query Parameters

UsernamestringEmail addressrequired
PasswordstringJWT tokenrequired
Returns all suggestions from all users with Status and AdminResponse fields