Give every system a memory.
Write business events, software changes, personal history, automations, and agent actions into the same workspace timeline people already use. Every API key stays bound to one workspace.
Set up iPhone & Apple Watch captureSend the first memory
Create a key, choose a logbook, and post an event. Human notes and machine events become the same searchable Log object.
- Create a workspace key.Open Workspace settings → API keys. Pick only the permissions the integration needs and copy the secret once.
- Resolve a logbook.Call
GET /api/v1/logbooksto get valid names and IDs for the key workspace. - Capture with an idempotency key.Use a stable ID from the source system so retries do not create duplicates.
curl https://quicklogs.vercel.app/api/v1/logs \
-H "Authorization: Bearer $OPENLOGS_API_KEY" \
-H "Idempotency-Key: payment-pay_9281" \
-H "Content-Type: application/json" \
-d '{
"logbook": "Operations",
"title": "Security deposit received",
"type": "payment.received",
"source": { "type": "api", "label": "Rental system" },
"subject": { "type": "rental", "externalId": "ADV160-B" },
"properties": { "amount": 1000, "currency": "PHP" },
"tags": ["deposit", "gcash"]
}'Workspace access
Keys inherit no browser session. They authorize machine access to exactly one workspace and can be revoked immediately.
Send the key as Authorization: Bearer ql_live_…. Keep application secrets server-side. Never embed them in public browser JavaScript, distributed mobile binaries, source control, or logs. For a personal Apple Shortcut, use a dedicated create-only key and remove it before sharing the shortcut.
logs.readSearch and retrieve memorieslogs.createCapture new memorieslogs.updateCorrect existing memorieslogs.archiveArchive memoriescomments.createAdd team contextlogs.exportExport workspace historytemplates.readRead capture templatestemplates.createCapture from templatesusage.readRead usage and limitsCapture from your iPhone or Apple Watch
Turn a quick thought into a saved OpenLogs note. Build a personal shortcut using Apple’s Shortcuts app and the OpenLogs API.
Start with one destination logbook. Download the ready-made Shortcut below, finish its two setup prompts, then run it and enter what happened. You can duplicate the shortcut for different logbooks. No OpenLogs app installation is required.
Build your capture setup
Choose where new notes go, then install the ready-made Shortcut. Paste your configuration and workspace API key once during setup.
Install in three steps
- Copy your configuration. It contains your destination and preferences, with no API key.
- Download and open the .shortcut file. On iPhone, open it from Safari Downloads or Files, then tap Add Shortcut or Set Up Shortcut.
- Complete the two setup prompts. Paste the configuration into the first. Paste a dedicated Create logs API key into the second. Add the shortcut, run it, and enter a note.
All actions are included. The Shortcut replaces the note placeholders automatically. The file is the same signed template for everyone; your copied configuration personalizes it during installation.
View or manually copy configuration
{"logbook":"General","title":"Quick note","body":"[Note variable]","rawInput":"[Note variable]","source":{"type":"human","label":"Apple Shortcuts"},"tags":["shortcut"],"visibility":"private"}No API key is requested or stored on this page. Add it directly in Apple Shortcuts and remove it before sharing your configured shortcut. To change destinations later, copy a new configuration into the shortcut’s first Text action, or install another copy.
Prefer to build it yourself?
{
"logbook": "General",
"title": "Quick note",
"body": "[Note variable]",
"rawInput": "[Note variable]",
"source": {
"type": "human",
"label": "Apple Shortcuts"
},
"tags": [
"shortcut"
],
"visibility": "private"
}After installing
Run the Shortcut once on iPhone, approve access to quicklogs.vercel.app when prompted, and enter a test note. Confirm it appears in the selected logbook with the expected tags and visibility. On Apple Watch, find the shortcut in Shortcuts, or add it as a watch face complication. Your key and setup sync with the shortcut through your Apple account. If it does not appear, enable Show on Apple Watch in the shortcut’s Details on iPhone.
Manual setup: build the same workflow yourself
- 1. Create your keyIn Workspace settings → API keys, select the destination workspace. Create a key named “Apple Shortcuts” with only
logs.create(Create logs); uncheck Read logs. Owners and admins can create keys. Copy the secret when shown and paste it directly into Shortcuts. The key covers its workspace; choosing a logbook here does not restrict the key to that logbook. - 2. Capture the noteIn Apple Shortcuts, tap + and name it “Log to OpenLogs.” Add Ask for Input, set type to Text, and prompt “What happened?” Add Set Variable named Note. For voice capture on iPhone, you can use Dictate Text instead. Add an If action: if Note has no value, Stop This Shortcut.
- 3. Give the capture an IDAdd Generate UUID, then Set Variable named Capture ID. This identifies one submission for safe retries.
- 4. Configure the requestAdd Get Contents of URL. Set the URL to
https://quicklogs.vercel.app/api/v1/logsand Method to POST. Expand its options and add the three headers shown below.
Authorization: Bearer YOUR_WORKSPACE_API_KEY
Content-Type: application/json
Idempotency-Key: [Capture ID variable]Keep the space after Bearer. Select the actual Capture ID variable for the last header; do not type the bracketed text.
- 5. Add the JSON fieldsSet Request Body to JSON. Add fields matching the builder’s reference. Use Text for IDs, title, and visibility. For body and rawInput, tap the value and select the Note variable. Add source as a Dictionary containing type = human and label = Apple Shortcuts. Add tags as an Array with one Text item per tag. Do not paste the JSON into a single text field or send the literal “[Note variable]” placeholder.
- 6. Confirm it was savedFrom Contents of URL, use Get Dictionary Value for data, then another for id. Add If: when id has a value, Show Alert “Saved to OpenLogs.” Otherwise show the response’s error. A network error should stop the shortcut without a success message.
- 7. Test the full flowRun on iPhone, approve the requested permissions, and enter a test note. Open the selected logbook and verify its body, tags, and visibility. Only then add the shortcut to your Home Screen, widget, or supported Action button. You can also invoke it by saying its name to Siri.
Use it on Apple Watch
On iPhone, open the shortcut’s Details and enable Show on Apple Watch. Open Shortcuts on your Watch and tap it, or add a Shortcuts complication to the watch face. Test the complete request on your own Watch: Apple notes that some actions require the phone or cannot finish on Watch. Text entry or dictation availability depends on your device and language.
For a simpler Watch flow, replace the text prompt with Choose from Menu options such as “Workout completed” or “Arrived at office.” Each choice sets Note to that text, then runs the same request. Keep the destination fixed to reduce steps on the small screen.
When something goes wrong
- 401: Check the Bearer header, expired key, or revoked key.
- 403: Check that the key includes Create logs.
- 404: Check the key’s workspace and that the selected logbook and group still exist.
- 400: Check JSON field types, required title and logbook, and tag lengths. The title is limited to 240 characters; the full note belongs in body.
- 409: A capture ID was reused with different content. Use the same ID only for identical retries.
- 413: Shorten the note. The entire JSON request must fit within 64 KB, including both body and rawInput.
- 429: Respect Retry-After when provided; check workspace usage limits.
- No connection: This shortcut has no offline queue. Retain your note and verify whether it arrived before submitting again. Re-running the whole shortcut generates a new ID and can create a duplicate.
The endpoint saves your text as supplied and timestamps it on receipt. It does not automatically extract amounts, tags, or dates such as “yesterday.” Keys are visible to anyone who can inspect your shortcut. Use a personal workspace for personal notes; private visibility also permits workspace owners and admins.
Apple references: Send an API request · Run on Apple Watch · Watch action limitations.
REST API
Base URL: https://quicklogs.vercel.app/api. All data routes require a workspace API key.
/v1/logbooksList logbooks and groupslogs.read/v1/logsSearch and page through memorieslogs.read/v1/logsCapture a human or machine memorylogs.create/v1/logs/{id}Retrieve one memorylogs.read/v1/logs/{id}Correct or enrich a memorylogs.update/v1/logs/{id}Archive a memorylogs.archive/v1/logs/{id}/commentsAdd workspace contextcomments.create/v1/templatesList reusable capture templatestemplates.read/v1/exportsExport bounded workspace historylogs.export/v1/usageRead plan limits and countersusage.readTypeScript SDK
The zero-dependency SDK works in Node.js, server routes, workers with fetch, and automation scripts. OpenLogs names are exported alongside the existing compatibility names.
curl -O https://quicklogs.vercel.app/sdk/openlogs.mjsES module · no runtime dependenciesimport { createOpenLogs } from "./openlogs.mjs"
const openlogs = createOpenLogs({
apiKey: process.env.OPENLOGS_API_KEY,
})
await openlogs.log("Production deploy completed", {
logbook: "Engineering",
type: "deployment.completed",
source: "system",
externalId: "deploy-c3bf58b",
properties: { sha: "c3bf58b", environment: "production" },
tags: ["deployment", "production"],
})The source package lives at packages/quicklogs. The hosted module is generated from that same source during every production build, so the examples and runtime stay aligned.
Connect an AI agent with MCP
The remote MCP server gives compatible agents focused tools to list logbooks, find and read memories, capture events, update or archive them, comment, and inspect usage.
{
"mcpServers": {
"openlogs": {
"type": "http",
"url": "https://quicklogs.vercel.app/api/mcp",
"headers": {
"Authorization": "Bearer ${OPENLOGS_API_KEY}"
}
}
}
}openlogs_list_logbooksopenlogs_find_memoriesopenlogs_get_memoryopenlogs_capture_memoryopenlogs_update_memoryopenlogs_archive_memoryopenlogs_comment_on_memoryopenlogs_get_usageUse a read-only key for retrieval agents. Add create, update, archive, or comment scopes only when the agent’s workflow needs those actions.
Limits, pagination, and safe retries
API responses are designed for long-running integrations without letting one workspace or request grow without bounds.
Follow nextCursor for additional pages. On 429, wait for Retry-After. Send Idempotency-Key on writes so network retries return the existing memory instead of creating another one.