Entry
One capture: a voice memo, a typed note or a file. Its body is the one text that search, chat and agents read.
Fields
- id string
- The capture time plus a short random suffix.
- type enum
audio, text or file.
- status enum
uploading, processing, ready or failed.
- captured_at date-time
- When it was spoken, typed or saved, in your own time zone.
- local_date date
- The day it belongs to, in your time.
- title string
- Written by Cordial unless you set it.
- gist string
- One line on what it's about.
- summary string
- For entries over about 150 words.
- body string
- The cleaned transcript, the note as typed, or a file's text.
- body_version number
- Counts edits. Every earlier version is kept.
- word_count, duration_sec number
- How long it is.
- locked list
- Fields you set by hand (
project, title, body). Never overwritten.
- project_id string
- Where it's filed.
- file object
- For a file: its name, type, kind and size.
Read and change it
- GET/api/entries by date, project, type, status
- GET/api/entries/{id}
- GET/api/search?q=
- POST/api/entries
- PATCH/api/entries/{id}
- POST/api/entries/{id}/retry
- DELETE/api/entries/{id}
Agent tools
search list_entries get_entry create_note create_file set_title replace_in_body set_body move_entries
Project
Your own buckets. Cordial files every entry into one of them, or the Inbox, and never invents one.
Fields
- id string
- Stable, so a rename is one change.
inbox and empty are built in.
- name string
- 1 to 60 characters.
- description string
- What belongs here, in plain words. Filing reads this.
- entry_count number
- How many entries it holds.
- builtin bool
- Inbox and Empty Recordings can't be renamed or deleted.
Read and change it
- GET/api/projects
- POST/api/projects
- PATCH/api/projects/{id}
- POST/api/projects/{id}/merge
- DELETE/api/projects/{id}
Agent tools
list_projects create_project update_project merge_projects
Account
You. Every other record hangs off your account, and no other account can reach any of it.
Fields
- email string
- Your sign-in address.
- status enum
- Active or not. An inactive account is locked out everywhere at once.
- plan string
- Your plan.
- entry_count number
- How many entries you have.
- upload_url string
- Where the iPhone share sheet sends captures.
- mcp_url string
- Your MCP server address, for agents.
- has_key, key_created_at bool, number
- Whether a capture key exists, and when it was made.
Read and change it
- GET/api/account
- POST/api/account/key
- POST/api/account/signout-all
Original file
The files behind an entry. Each is handed out as a download link that expires after five minutes.
Kinds
- audio file
- The recording, as captured.
- file file
- An uploaded photo, PDF or anything else, up to 100 MB.
- transcript_raw json
- The speech engine's own output, word by word with confidence. Never rewritten.
- text json
- The transcript in a provider-neutral shape.
Read it
- GET/api/entries/{id}/artifacts/{name}
- GET/api/entries/{id}/audio
Mention
People, places and projects an entry names, picked out when it's processed. They come with every entry.
Fields
- text string
- The name as said.
- type string
- A person, a place, a project and so on.
Read it
- GET/api/entries/{id} as entities
Agent tools
get_entry
Chat
A conversation with your memos: over everything, one project, or a handful of entries.
Fields
- session_id string
- Its id.
- title string
- Named after its first question, a project or an entry.
- project_id string
- Set when it's limited to one project.
- memo_ids list
- Up to five entries it's about, always in view.
- message_count, updated_at number
- How long, and how recent.
Read and change it
- GET/api/chats
- POST/api/chats
- GET/api/chats/{id}
- DELETE/api/chats/{id}
Agent connection
A key an outside agent uses over MCP: which projects it sees, and whether it may change anything. The key itself is shown once and never listed.
Fields
- id, label string
- Its name, 1 to 60 characters.
- all_projects, projects bool, list
- Everything, or the projects listed.
- write bool
- Whether it may make changes.
- source enum
pasted (a key you made) or oauth (an app you connected).
- client string
- For a connected app, where it lives.
- created_at number
- When it was made.
Read and change it
- GET/api/account/agent-keys
- POST/api/account/agent-keys
- DELETE/api/account/agent-keys/{id}
Usage day
What your account used and cost, per day, task and kind of entry, at list price.
Fields
- date, task, type string
- Which day, which step (like
enrich or chat), which kind of entry.
- llm_calls, llm_in_tokens, llm_out_tokens number
- AI calls and their size.
- transcribe_sec, vector_queries number
- Speech transcribed, searches by meaning.
- usd object
- Cost by kind (
llm, transcribe, vectors, compute) and in total.
Read it
- GET/api/usage?from=&to= with totals by task, type, project, agent and Overhead
App copy
Your own copy of the web app, served only to you and kept as it is through updates.
Fields
- app enum
standard or custom.
- build string
- The version your copy serves.
- forked_from, forked_at string, date-time
- Which standard version it was copied from, and when.
- standard_build string
- The standard app's current version.
Read and change it
- GET/api/app
- POST/api/app/fork
- DELETE/api/app
- GET/my/… your copy's pages