Create with an API key
Best default for shell scripts, automation, and editor integrations.
curl -H "Authorization: Bearer <api_key>" -X POST https://jotspot.io/api/v1/jots/text --data-binary @notes.md
Terminal workflow
Create, share, and fetch JotSpot notes from your terminal.
POST /api/v1/jots/text requires an authenticated account, creates a draft jot with a short slug, and is limited to 10 creates per hour per account. Admin accounts are exempt.
Quickstart
Use an API key for scripted work. Browser session cookies are fine for local manual testing.
Best default for shell scripts, automation, and editor integrations.
curl -H "Authorization: Bearer <api_key>" -X POST https://jotspot.io/api/v1/jots/text --data-binary @notes.md
Useful when you already have an authenticated browser session and want a fast manual post from the same machine.
curl -b cookies.txt -c cookies.txt -X POST https://jotspot.io/api/v1/jots/text -d "Hello world"
Draft by default. Add ?visibility=public to publish immediately.
Pipe output straight in when you are turning existing files or shell output into a jot.
cat README.md | curl -H "Authorization: Bearer <api_key>" -X POST https://jotspot.io/api/v1/jots/text --data-binary @-
Set ?render=text when the page should show raw 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 @-
Keep the response machine-friendly when all you want back is the jot URL.
curl -s -H "Authorization: Bearer <api_key>" -X POST "https://jotspot.io/api/v1/jots/text?format=text" -d "Hello"
curl -s -H "Authorization: Bearer <api_key>" -X POST "https://jotspot.io/api/v1/jots/text?format=text&render=text" --data-binary @-
?format=text changes the API response format only. Add &render=text if you also want the jot page to default to text.
Editing
Account-owned jots can be edited over bearer auth. Existing token-owned jots can still be updated with their private manage token.
Use this for jots that belong to your account.
curl -H "Authorization: Bearer <api_key>" -X PATCH "https://jotspot.io/api/v1/jots/abc123/text" --data-binary @notes.md
Legacy token-based edits still work if you kept the private manage URL or token.
curl -X PATCH "https://jotspot.io/api/v1/jots/abc123/text?token=<owner_token>" --data-binary @notes.md
Add &visibility=public to publish, or &visibility=draft to unpublish.
These endpoints accept raw values, which makes them easy to drive from shell scripts.
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"
Reading
Use the raw routes for scripts, or hit the field endpoints when you only need one value.
Works for direct text downloads or tools that just need the jot 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
Grab only the field you need without parsing the full page.
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