skills/intellectronica/agent-skills/monologue-notes-api

monologue-notes-api

Installation
SKILL.md

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 Authorization header 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"
fi

If 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_KEY

Base 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 from 1 to 100, default 20
  • cursor: opaque pagination cursor from a previous response
  • created_after: ISO 8601 timestamp
  • created_before: ISO 8601 timestamp
  • updated_after: ISO 8601 timestamp
  • q: 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 summaries
  • next_cursor: cursor for the next page, if any

Each list item may include:

  • note_id
  • title
  • summary
  • created_at
  • updated_at

Possible errors:

  • 400: invalid filter or cursor
  • 401: missing or invalid token
  • 403: token lacks the required scope
  • 422: 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:

  • transcript
  • transcript_segments

Notes:

  • transcript_segments is loosely typed structured JSON and may be null
  • 404 means the note was not found for the authenticated user

Possible errors:

  • 401: missing or invalid token
  • 403: token lacks the required scope
  • 404: note not found
  • 422: 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

  1. Call GET /v1/public-api/notes
  2. Read next_cursor from the response
  3. Pass that cursor back as the cursor query parameter
  4. Stop when next_cursor is absent or null

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.to for 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.json on 2026-04-22
Weekly Installs
4
GitHub Stars
248
First Seen
2 days ago