Welcome to the JotSpot CLI
CLI
How to use the JotSpot command line interface.
CLI
How to use the JotSpot command line interface.
View this CLI jot as rendered Markdown or plain text.
(Updated 27/05/26)
JotSpot exposes a small HTTP API that works well from curl, shell scripts, editors, and other terminal tools.
POST /api/v1/jots/text is limited to 10 creates per hour per accountFor account-owned CLI use, generate an API key in account settings and send it as a bearer token:
curl -H "Authorization: Bearer <api_key>" ...
You can also use an authenticated browser session cookie for manual local testing.
Create a draft:
curl -H "Authorization: Bearer <api_key>" \
-X POST https://jotspot.io/api/v1/jots/text \
--data-binary @note.md
Create and publish immediately:
curl -H "Authorization: Bearer <api_key>" \
-X POST "https://jotspot.io/api/v1/jots/text?visibility=public" \
--data-binary @note.md
Create from stdin:
cat README.md | curl -H "Authorization: Bearer <api_key>" \
-X POST https://jotspot.io/api/v1/jots/text \
--data-binary @-
Preserve raw terminal output instead of rendering Markdown:
uptime | curl -H "Authorization: Bearer <api_key>" \
-X POST "https://jotspot.io/api/v1/jots/text?render=text" \
--data-binary @-
Return plain text instead of JSON:
curl -s -H "Authorization: Bearer <api_key>" \
-X POST "https://jotspot.io/api/v1/jots/text?format=text" \
-d "Hello world"
format=text changes the response format only. If you also want the jot page to default to plain text, add render=text.
Typical JSON response:
{
"success": true,
"jot_id": "x93dst55",
"url": "https://jotspot.io/j/x93dst55",
"raw_url": "https://jotspot.io/j/x93dst55.txt",
"manage_url": "/manage/x93dst55/<token>",
"visibility": "draft"
}
Field notes:
jot_id: the jot slugurl: normal jot pageraw_url: raw markdown/text routemanage_url: private handoff URL for legacy token-based ownershipvisibility: initial jot stateEdit an account-owned jot with bearer auth:
curl -H "Authorization: Bearer <api_key>" \
-X PATCH https://jotspot.io/api/v1/jots/abc123/text \
--data-binary @note.md
Edit a legacy token-owned jot with its owner token:
curl -X PATCH \
"https://jotspot.io/api/v1/jots/abc123/text?token=<owner_token>" \
--data-binary @note.md
Publish or unpublish while editing:
curl -X PATCH \
"https://jotspot.io/api/v1/jots/abc123/text?token=<owner_token>&visibility=public" \
--data-binary @note.md
curl -X PATCH \
"https://jotspot.io/api/v1/jots/abc123/text?token=<owner_token>&visibility=draft" \
--data-binary @note.md
Update title, description, and tags:
curl -X PATCH "https://jotspot.io/api/v1/jots/abc123/title?token=<owner_token>" -d "New title"
curl -X PATCH "https://jotspot.io/api/v1/jots/abc123/desc?token=<owner_token>" --data-binary "Short summary"
curl -X PATCH "https://jotspot.io/api/v1/jots/abc123/tags?token=<owner_token>" -d "cli,notes,python"
Fetch raw body:
curl https://jotspot.io/j/abc123.txt
curl https://jotspot.io/j/abc123.md
curl -H "Accept: text/plain" https://jotspot.io/j/abc123
Fetch individual fields:
curl https://jotspot.io/api/v1/jots/abc123/title
curl https://jotspot.io/api/v1/jots/abc123/desc
curl https://jotspot.io/api/v1/jots/abc123/tags
curl https://jotspot.io/api/v1/jots/abc123/text
manage_url or ?token=...visibility=publicScore: 1
View-only mode. Editing requires your private owner token.
Comments
Loading comments...