Notes
A note is a piece of raw content captured against a project — a recording, a written snippet, an imported article, etc. Notes are the input side of Scripe’s content pipeline; once a note has been turned into a post draft (via “Turn into post” in the dashboard or the future write API), the post lives in posts. The v1 API exposes the notes the authenticated workspace owns, scoped to a specific project, with date filters and cursor pagination. Notes attached to deleted projects are not returned. A note may have at most one queue slot — the day on which it’s scheduled for content production. The slot is included inline so you don’t have to make a second call.GET /v1/notes
List notes inside a project. projectId is required; everything else is
optional.
Query parameters
dateFrom / dateTo filter on the queue slot’s date, not on the
note’s createdAt. A note without a slot is excluded from a date-filtered
result set; remove the date params to see notes that aren’t yet
scheduled.
Response
Field reference
The
content field is the raw user content. We do not redact PII or
strip HTML — if you’re rendering this somewhere user-facing, sanitize
on your end.
Pagination caveats
- Order is
(createdAt DESC, id DESC)— newest first. The cursor encodes that tuple. - Changing any filter (
projectId,folderId,dateFrom,dateTo,limit) mid-loop will likely emit400 bad_cursor. Restart the loop with the new filters.
GET /v1/notes/{noteId}
Single note read. Returns the same shape, wrapped in data.
Response
Errors
POST /v1/notes
Create a note + paired calendar slot. Required scope: notes:write.
Request body
We strongly recommend setting
Idempotency-Key on every write — see
idempotency.md. Replay within 24h returns the same
response with header Idempotent-Replayed: true.
Response
Errors
What’s NOT here (yet)
- Audio / transcript downloads. A note may have an attached recording; the v1 API doesn’t expose the storage URLs. Use sources for the truncated transcript.
- Pinned / starred filters. Dashboard-only state, not exposed in v1.
- Search / full-text query. No
?q=parameter. Filter client-side for now. - Update / delete endpoints.
PATCH/DELETEare out of scope for v1.