OpenLogsDOCS
OPENLOGS DEVELOPER PLATFORM

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 capture
REST API TypeScript SDK Remote MCP Scoped access
01

Send the first memory

Create a key, choose a logbook, and post an event. Human notes and machine events become the same searchable Log object.

  1. Create a workspace key.Open Workspace settings → API keys. Pick only the permissions the integration needs and copy the secret once.
  2. Resolve a logbook.Call GET /api/v1/logbooks to get valid names and IDs for the key workspace.
  3. Capture with an idempotency key.Use a stable ID from the source system so retries do not create duplicates.
cURLCopy and adapt
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"]
  }'
02

Workspace access

Keys inherit no browser session. They authorize machine access to exactly one workspace and can be revoked immediately.

Keep credentials out of shared code

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 memories
logs.createCapture new memories
logs.updateCorrect existing memories
logs.archiveArchive memories
comments.createAdd team context
logs.exportExport workspace history
templates.readRead capture templates
templates.createCapture from templates
usage.readRead usage and limits

Capture 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

  1. Copy your configuration. It contains your destination and preferences, with no API key.
  2. Download and open the .shortcut file. On iPhone, open it from Safari Downloads or Files, then tap Add Shortcut or Set Up Shortcut.
  3. 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.
2. Download Shortcut

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?
Your JSON field referenceFor manual setup only
{
  "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. 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. 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. 3. Give the capture an IDAdd Generate UUID, then Set Variable named Capture ID. This identifies one submission for safe retries.
  4. 4. Configure the requestAdd Get Contents of URL. Set the URL to https://quicklogs.vercel.app/api/v1/logs and Method to POST. Expand its options and add the three headers shown below.
Request headersCopy and adapt
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.

  1. 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.
  2. 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.
  3. 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.

03

REST API

Base URL: https://quicklogs.vercel.app/api. All data routes require a workspace API key.

MethodPathPurposeScope
GET/v1/logbooksList logbooks and groupslogs.read
GET/v1/logsSearch and page through memorieslogs.read
POST/v1/logsCapture a human or machine memorylogs.create
GET/v1/logs/{id}Retrieve one memorylogs.read
PATCH/v1/logs/{id}Correct or enrich a memorylogs.update
DELETE/v1/logs/{id}Archive a memorylogs.archive
POST/v1/logs/{id}/commentsAdd workspace contextcomments.create
GET/v1/templatesList reusable capture templatestemplates.read
GET/v1/exportsExport bounded workspace historylogs.export
GET/v1/usageRead plan limits and countersusage.read
Download the OpenAPI 3.1 contract
04

TypeScript 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 dependencies
TypeScriptCopy and adapt
import { 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.

05

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.

MCP client configurationCopy and adapt
{
  "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_usage

Use a read-only key for retrieval agents. Add create, update, archive, or comment scopes only when the agent’s workflow needs those actions.

06

Limits, pagination, and safe retries

API responses are designed for long-running integrations without letting one workspace or request grow without bounds.

64 KBMaximum ingestion request
200Maximum logs per page
60/minDefault API key rate limit
25 MBMaximum export size

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.