GET /public/v1/notes
Returns recent meeting note summaries for the authenticated user.
Query parameters
| Param | Type | Default | Description |
limit | integer | 10 | Max results (1–20) |
Response fields
| Field | Type | Description |
data[].id | string | Note UUID |
data[].title | string | null | Generated note title |
data[].summary | string | null | Summary text |
data[].content | string | Readable note content |
data[].meeting_session_id | string | null | Linked meeting session |
data[].created_at | string | ISO 8601 timestamp |
data[].updated_at | string | ISO 8601 timestamp |
pagination.limit | integer | Requested limit |
pagination.count | integer | Actual count returned |
Example
curl https://api.altar.inc/public/v1/notes?limit=5 \
-H "Authorization: Bearer altar-api-your_key"
{
"data": [
{
"id": "01963c4e-...",
"title": "Weekly Standup",
"summary": "Discussed roadmap priorities...",
"content": "Discussed roadmap priorities...",
"meeting_session_id": "a1b2c3d4-...",
"created_at": "2026-03-23T10:00:00.000Z",
"updated_at": "2026-03-23T10:45:00.000Z"
}
],
"pagination": { "limit": 5, "count": 1 }
}
GET /public/v1/notes/:id
Returns a single note with full metadata including linked meeting details and calendar event info.
Path parameters
| Param | Type | Description |
id | string | Note UUID |
Response fields
| Field | Type | Description |
data.id | string | Note UUID |
data.title | string | null | Note title |
data.summary | string | null | Summary text |
data.content | string | Readable note content |
data.meeting_session_id | string | null | Linked meeting session |
data.meeting | object | null | Meeting metadata (if linked) |
data.meeting.started_at | string | Meeting start time |
data.meeting.ended_at | string | null | Meeting end time |
data.meeting.title | string | null | Meeting title |
data.meeting.calendar_event | object | null | Calendar event metadata |
Example
curl https://api.altar.inc/public/v1/notes/01963c4e-... \
-H "Authorization: Bearer altar-api-your_key"
{
"data": {
"id": "01963c4e-...",
"title": "Weekly Standup",
"summary": "Discussed roadmap priorities...",
"content": "Full note content...",
"meeting_session_id": "a1b2c3d4-...",
"meeting": {
"started_at": "2026-03-23T10:00:00.000Z",
"ended_at": "2026-03-23T10:45:00.000Z",
"title": "Weekly Standup",
"calendar_event": {
"summary": "Weekly Standup",
"attendees": [
{ "email": "nick@altar.inc", "displayName": "Nick" }
]
}
},
"created_at": "2026-03-23T10:00:00.000Z",
"updated_at": "2026-03-23T10:45:00.000Z"
}
}
GET /public/v1/notes/:id/transcript
Returns the full transcript for the meeting linked to a note. Includes both structured segments and a pre-formatted text version.
Path parameters
| Param | Type | Description |
id | string | Note UUID |
Query parameters
| Param | Type | Default | Description |
type | string | best available | live or whisper_post. Defaults to whisper_post if available, else live. |
Response fields
| Field | Type | Description |
data.meeting_session_id | string | Session UUID |
data.segments[] | array | Transcript segments |
data.segments[].speaker | string | null | Speaker label |
data.segments[].source | string | null | mic or system |
data.segments[].text | string | Spoken text |
data.segments[].start_time | string | Segment start (ISO 8601) |
data.segments[].end_time | string | Segment end (ISO 8601) |
data.segments[].transcription_type | string | live or whisper_post |
data.formatted_transcript | string | Pre-formatted text transcript |
Example
curl https://api.altar.inc/public/v1/notes/01963c4e-.../transcript \
-H "Authorization: Bearer altar-api-your_key"
{
"data": {
"meeting_session_id": "a1b2c3d4-...",
"segments": [
{
"speaker": "Nick",
"source": "system",
"text": "Let's discuss the roadmap",
"start_time": "2026-03-23T10:05:12.000Z",
"end_time": "2026-03-23T10:05:15.000Z",
"transcription_type": "whisper_post"
}
],
"formatted_transcript": "[System - Nick] Let's discuss the roadmap\n..."
}
}
GET /public/v1/notes/search
Semantic search across meeting notes. Returns the most relevant notes for a query.
Query parameters
| Param | Type | Default | Description |
q | string | required | Search query |
limit | integer | 5 | Max results (1–10) |
Response fields
| Field | Type | Description |
data[].id | string | Note UUID |
data[].title | string | null | Note title |
data[].summary | string | null | Summary text |
data[].meeting_session_id | string | null | Linked meeting session |
data[].relevance | number | null | Relevance score (0–1, higher is better) |
data[].created_at | string | ISO 8601 timestamp |
Example
curl "https://api.altar.inc/public/v1/notes/search?q=roadmap&limit=3" \
-H "Authorization: Bearer altar-api-your_key"
{
"data": [
{
"id": "01963c4e-...",
"title": "Weekly Standup",
"summary": "Discussed roadmap priorities...",
"meeting_session_id": "a1b2c3d4-...",
"relevance": 0.87,
"created_at": "2026-03-23T10:00:00.000Z"
}
]
}
GET /public/v1/meetings
Returns recent meeting sessions with metadata. Does not include full transcripts.
Query parameters
| Param | Type | Default | Description |
limit | integer | 10 | Max results (1–20) |
status | string | completed | completed, active, or all |
Response fields
| Field | Type | Description |
data[].id | string | Session UUID |
data[].title | string | null | Meeting title |
data[].status | string | active, completed, etc. |
data[].started_at | string | Meeting start (ISO 8601) |
data[].ended_at | string | null | Meeting end (ISO 8601) |
data[].timezone | string | null | IANA timezone |
data[].note_id | string | null | Linked note UUID, if exists |
data[].calendar_event | object | null | Calendar event metadata |
pagination.limit | integer | Requested limit |
pagination.count | integer | Actual count returned |
Example
curl https://api.altar.inc/public/v1/meetings?status=completed&limit=5 \
-H "Authorization: Bearer altar-api-your_key"
{
"data": [
{
"id": "a1b2c3d4-...",
"title": "Weekly Standup",
"status": "completed",
"started_at": "2026-03-23T10:00:00.000Z",
"ended_at": "2026-03-23T10:45:00.000Z",
"timezone": "America/Los_Angeles",
"note_id": "01963c4e-...",
"calendar_event": {
"summary": "Weekly Standup",
"attendees": [
{ "email": "nick@altar.inc", "displayName": "Nick" }
]
}
}
],
"pagination": { "limit": 5, "count": 1 }
}
Versioning
Public endpoints are versioned in the URL path. Breaking changes will go in a new
version (/public/v2/...) rather than modify existing contracts.
Current version: v1