Programmatic access
If you want to drive Moonjar from outside the app — capture from a script, push items into a collection from a workflow tool, read your library into a custom dashboard — the same REST API the mobile app uses is available with a per-user API key. For most use cases, connecting through MCP is easier and gives you most of the same surface without code.
Authentication
Section titled “Authentication”Moonjar uses a per-user API key. Generate one in Settings → API keys (or the equivalent path — [TODO: VERIFY exact path]) and revoke it from the same screen if it leaks.
Send the key on every request as the X-API-Key header. The key
has the same scope as your account — anything you can do in
the app, the key can do.
curl -H "X-API-Key: $MOONJAR_API_KEY" https://www.moonjar.io/api/...What you can do
Section titled “What you can do”- Capture text, URLs, photos (base64), and PDFs.
- Search across documents, conversations, and memories.
- Read documents, conversations, collections, trips, reminders, and memories.
- Write to collections — add items, update items, link items, edit fields.
- Create and update reminders.
- Manage trips — create, update, link bookings, mark complete.
- Register email-capture addresses (the same addresses that drive the email-forwarding flow).
- Manage your account — profile fields, custom prompt, default group, timezone, home country.
What you can’t do
Section titled “What you can’t do”- Issue or revoke API keys programmatically. Use the app.
- Trigger memory writes. Memories are extracted from chats
only — there’s no
POST /api/memories/extractfor writing memories from arbitrary text. You can save a memory by hand viaPOST /api/memories(manual create); auto-extraction stays inside the chat pipeline. - Set or change your password without supplying the current password.
- Modify other users’ data. API keys are scoped to a single account.
Where to look for endpoint shapes
Section titled “Where to look for endpoint shapes”This section is intentionally light on per-endpoint detail — the canonical reference is the source. Common patterns:
- Documents —
GET /api/documents,GET /api/documents/:id,PATCH /api/documents/:id,POST /api/capture. - Search —
GET /api/search?q=...&mode=auto,GET /api/search/fields,GET /api/universal-search. - Collections —
GET /api/collections,POST /api/collections,POST /api/collections/:id/items,GET /api/collections/:id/lookup. - Reminders —
GET /api/reminders/lists,POST /api/reminders/lists/:id/items,GET /api/reminders/today. - Trips —
GET /api/trips,POST /api/trips/:id/places,GET /api/trips/:id/itinerary. - Memories —
GET /api/memories,POST /api/memories,PATCH /api/memories/:id. - Notifications —
GET /api/notifications,PATCH /api/notifications/:id/read,DELETE /api/notifications/:id. - Capture by email —
POST /api/capture/emailis wired to AWS SNS only (validated SNS signatures); for direct programmatic capture usePOST /api/capturewithcontent_type: "note","url", or"email".
Limits
Section titled “Limits”The same monthly caps that apply to in-app use also apply to API calls. See Limits.
See also
Section titled “See also”- Limits
- Connect Moonjar to Claude — usually easier than the API.
- Capture by email — for programmatic email-forwarding integrations.