
monologue-notes-api
โ 277by intellectronica ยท part of intellectronica/agent-skills
Use this skill when the user wants to read or search their Monologue notes through the Monologue Notes REST API. It covers authentication with the MONOLOGUE_API_KEY environment variable, safe token handling, listing notes, fetching a single note, pagination, filters, and error handling. The API is read-only and should be accessed with direct HTTP requests such as curl or any equivalent REST client.
This is the playbook your agent receives when the skill activates โ you don't need to read it to use the skill, but it's here to audit before installing.
Monologue Notes API
This skill provides the information needed to call the Monologue Notes REST API directly. Use it for read-only operations on the authenticated user's notes.
Use whatever HTTP client fits the task: curl, a short script, or another REST-capable tool.
Do not invent client libraries unless the user asks for one.
Authentication
Use the environment variable MONOLOGUE_API_KEY as the bearer token.
- Required auth header:
Authorization: Bearer $MONOLOGUE_API_KEY - Required scope:
notes:read - Never print the token, echo it, log it, or include it in a response to the user
- Only pass it through the
Authorizationheader as a shell variable expansion
Check whether the token is available without displaying it:
if [ -z "${MONOLOGUE_API_KEY:-}" ]; then
echo "MONOLOGUE_API_KEY is not set"
fiIf MONOLOGUE_API_KEY is missing:
- Report that the environment variable is not present
- Ask the user whether they want to provide an API key
- Do not attempt authenticated API calls until a token is available
Avoid commands such as these because they would expose secrets:
echo "$MONOLOGUE_API_KEY"
env | grep MONOLOGUE_API_KEY
set | grep MONOLOGUE_API_KEYBase URL
- Base URL:
https://api.monologue.to - API shape: read-only Notes API
- Data format: JSON
- Timestamps: ISO 8601 date-time strings
Request Pattern
For all requests:
curl -sS \
-H "Authorization: Bearer $MONOLOGUE_API_KEY" \
"https://api.monologue.to/..."If structured output is useful, pipe the response to jq.
Endpoints
List notes
GET /v1/public-api/notes
Returns a page of notes for the authenticated user.
Supported query parameters:
limit: integer from1to100, default20cursor: opaque pagination cursor from a previous responsecreated_after: ISO 8601 timestampcreated_before: ISO 8601 timestampupdated_after: ISO 8601 timestampq: full-text search across titles, summaries, and transcripts
Example:
curl -sS \
-H "Authorization: Bearer $MONOLOGUE_API_KEY" \
"https://api.monologue.to/v1/public-api/notes?limit=20&q=interview"Example with jq:
curl -sS \
-H "Authorization: Bearer $MONOLOGUE_API_KEY" \
"https://api.monologue.to/v1/public-api/notes?limit=20" \
| jq '{next_cursor, items: [.items[] | {note_id, title, summary, created_at, updated_at}]}'Expected response fields:
items: array of note summariesnext_cursor: cursor for the next page, if any
Each list item may include:
note_idtitlesummarycreated_atupdated_at
Possible errors:
400: invalid filter or cursor401: missing or invalid token403: token lacks the required scope422: validation error
Get a single note
GET /v1/public-api/notes/{note_id}
Returns the full details for one note belonging to the authenticated user.
Path parameters:
note_id: note identifier returned by the list endpoint
Example:
curl -sS \
-H "Authorization: Bearer $MONOLOGUE_API_KEY" \
"https://api.monologue.to/v1/public-api/notes/NOTE_ID"Example with jq:
curl -sS \
-H "Authorization: Bearer $MONOLOGUE_API_KEY" \
"https://api.monologue.to/v1/public-api/notes/NOTE_ID" \
| jq '{note_id, title, summary, transcript, transcript_segments, created_at, updated_at}'In addition to the list fields, the full note response may include:
transcripttranscript_segments
Notes:
transcript_segmentsis loosely typed structured JSON and may benull404means the note was not found for the authenticated user
Possible errors:
401: missing or invalid token403: token lacks the required scope404: note not found422: validation error
Common Workflows
Search notes by keyword
Use the q parameter:
curl -sS \
-H "Authorization: Bearer $MONOLOGUE_API_KEY" \
"https://api.monologue.to/v1/public-api/notes?q=meeting"Search covers:
- note titles
- note summaries
- note transcripts
Page through results
- Call
GET /v1/public-api/notes - Read
next_cursorfrom the response - Pass that cursor back as the
cursorquery parameter - Stop when
next_cursoris absent ornull
Example:
curl -sS \
-H "Authorization: Bearer $MONOLOGUE_API_KEY" \
"https://api.monologue.to/v1/public-api/notes?limit=50&cursor=OPAQUE_CURSOR"Filter by time
Use ISO 8601 date-time values:
curl -sS \
-H "Authorization: Bearer $MONOLOGUE_API_KEY" \
"https://api.monologue.to/v1/public-api/notes?created_after=2026-01-01T00:00:00Z"Operating Rules
- Treat this API as read-only
- Do not claim write support; this skill only covers listing and reading notes
- Prefer
https://api.monologue.tofor requests - When reporting failures, summarise the HTTP status and relevant response body without exposing the token
- If the user asks for a workflow that requires local post-processing, fetch the data first and then transform it separately
Source Notes
This skill is based on:
/Users/eleanor/repos/obsidian/intellectronica/2026-04-21-20-10 Monologue API.md- Live OpenAPI checks against
https://api.monologue.to/public-openapi.jsonon 2026-04-22
npx skills add https://github.com/intellectronica/agent-skills --skill monologue-notes-apiRun this in your project โ your agent picks the skill up automatically.
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under CC0-1.0โ you can use, modify, and redistribute it under that license's terms.
View the full license file on GitHub โ