Morse API
Everything in Morse,from a script.
Anything you can do in the app, an agent or a cron job can do too, with one personal access token. This guide assumes you have never seen Morse’s code.
Base
https://onmorse.com/apiGET/auth/me
export MORSE=https://onmorse.com/api
export MORSE_TOKEN=mp_YOUR_MORSE_TOKEN
curl -H "Authorization: Bearer $MORSE_TOKEN" \
"$MORSE/auth/me"{
"id": "5e6f2b31-5c4a-4d0e-9a77-1b2c3d4e5f60",
"email": "priya@neuralarc.ai",
"name": "Priya Shah",
"title": "Head of Product",
"timezone": "Asia/Kolkata",
"accent": null
}No token yet? Make one in Settings.
Getting started
Three steps, and you have one.
Tokens are made in the app, not here.
The API deliberately can’t mint its own, because a token that could make tokens would never really expire.
002
Name it, set when it expires
Name it after whatever will use it: “Claude”, “Notion sync”. Expiry is 30, 60 or 90 days, a day you pick, or never.
003
Copy it. It is shown once
It starts mp_ and is 49 characters. Morse keeps only a fingerprint and the last four, so it cannot show it to you again.
emails, invites, reschedules, sharing notes. Add X-Timezone with an IANA name such as Asia/Kolkata, so the times in those emails are in your zone.Surfaces
What you can reach.
The same things the app talks to.
Under the same permissions you already have. A token is a sign-in, not a second set of keys.
Every route, with its parameters and schemas, is at /api/openapi.json.
Limits
A few things it won’t do,
however well-formed the request is.
Agents
Hand it the brief once.
Then go back to plain words.
The brief
I'm giving you access to my Morse account. Morse is Unified Machines' meetings app. - The API is at https://onmorse.com/api. Send `Authorization: Bearer mp_YOUR_MORSE_TOKEN` with every request. - Start by fetching https://onmorse.com/api/openapi.json with that header. It lists every route with its parameters and schemas, and each route's description says what it does and who may call it. - Send `X-Timezone: Asia/Kolkata` on requests that email people. - This token acts as me. Ask me before anything that emails people, deletes something, or changes who can see a meeting. - Never repeat the token back in your replies.
“What did we decide about pricing last week?”
GET /meetings/search → GET /meetings/{id}/summary
“Book thirty minutes with Arjun on Thursday.”
POST /meetings · X-Timezone
“Catch me up on yesterday’s voice notes.”
GET /voice-notes?limit=20