Skip to main content
PATCH
Update Note

Authorizations

Authorization
string
header
required

API key in format {id}.{secret}.

The notes an endpoint returns depend on the key type. A user key reaches the notes that user can see in the app, including notes in their own private folders. A system key (workspace or organization, no user identity) reaches only notes that sit in a folder shared with all workspace members. Notes in a private folder, in a folder shared with only some members, or in no folder at all fall outside a system key's read scope, and scopes do not widen that boundary.

List and search endpoints drop out-of-scope notes from the response without an error. Single-note reads and their sub-resources return 404, the same response as a deleted note. See What notes a system key reads.

Path Parameters

noteGuid
string
required

Note GUID

Query Parameters

updateMask
string
required

Comma-separated list of fields to update. Only title is supported today.

Body

application/json

Partial update for a note. Include only the fields named in updateMask.

title
string

New note title. Must not be blank and is limited to 100 characters.

Required string length: 1 - 100
Example:

"Q3 Planning Sync"

Response

Note updated

The top-level container for a single recording session. A Note holds its transcribed content as Paragraphs, and can be summarized into NoteSummary or rendered into a NoteDocument. See Data Model for the full structure.

guid
string
required

Unique identifier for the note

Example:

"note-guid-123"

title
string
required

Note title

Example:

"Meeting notes"

createdAt
string<date-time>
required

ISO-8601 creation timestamp

Example:

"2025-07-20T10:00:00Z"

updatedAt
string<date-time>
required

ISO-8601 last update timestamp

Example:

"2025-07-20T11:10:00Z"

sourceType
enum<string>
required

Source type of the note:

  • live-voice: Real-time voice recording
  • recording: Uploaded audio file
  • text: Text-only note
  • video: Video recording
  • webpage: Web page content
  • offline-mode: Offline recording
  • onboarding: Onboarding sample note
Available options:
onboarding,
text,
live-voice,
recording,
offline-mode,
webpage,
video
Example:

"live-voice"

recordingDurationSeconds
integer
required

Actual recording length in seconds. Returns 0 for non-recording source types.

Example:

3600

webUrl
string<uri>
required

Web URL to access the note

Example:

"https://tiro.ooo/n/123"

collaborators
object[]
required

Array of collaborators with their roles

participants
object[]
required

Array of meeting participants tagged in the note

workspaceGuid
string | null

GUID of the workspace this note belongs to. null for notes not associated with a workspace.

Example:

"ws_a1b2c3d4"

recordingStartAt
string<date-time> | null

Actual recording start timestamp. Null for non-recording source types.

Example:

"2025-07-20T10:00:10Z"

recordingEndAt
string<date-time> | null

Actual recording end timestamp. Null for non-recording source types.

Example:

"2025-07-20T11:00:10Z"

transcribeLocale
string | null

Language locale used for transcription. Null for non-recording source types.

Example:

"en_US"

translateLocale
string | null

Language locale used for translation. Null when no translation was requested.

Example:

"ko_KR"

matchedSnippets
string[] | null

Highlight snippets for the keyword that matched this note. Present only on responses to the deep-search endpoints (POST /v1/external/workspaces/{workspaceGuid}/notes/search or the deprecated POST /v1/external/notes/search); absent (null) on plain list responses.

documents
object[] | null

Note's primary documents (one-pager / custom). Present only on responses to the deep-search endpoints (POST /v1/external/workspaces/{workspaceGuid}/notes/search or the deprecated POST /v1/external/notes/search); absent (null) on plain list responses. Each item's truncated flag indicates whether the deep-search budget was exceeded.