Skip to content

Calendar Notes API

The Calendar Notes API provides endpoints for working with daily and weekly notes. These notes are automatically organized in special calendar groups and are identified by date (for daily) or week number and year (for weekly).

Get today’s daily note, or a specific date’s note. Creates the note automatically if it doesn’t exist.

GET /api/daily
ParameterTypeDescription
workspaceIdstringTarget workspace (uses default if not provided)
datestringDate in YYYY-MM-DD format (defaults to today)
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "2025-02-07",
"content": "",
"workspaceId": "660e8400-e29b-41d4-a716-446655440001",
"groupId": "770e8400-e29b-41d4-a716-446655440002",
"userId": "880e8400-e29b-41d4-a716-446655440003",
"icon": null,
"isDeleted": false,
"deletedAt": null,
"deletedBy": null,
"isEncrypted": false,
"encryptionMetadata": null,
"createdAt": "2025-02-07T08:00:00.000Z",
"updatedAt": "2025-02-07T08:00:00.000Z"
},
"count": 1,
"filters": {
"workspaceId": "660e8400-e29b-41d4-a716-446655440001",
"date": "2025-02-07",
"type": "daily"
}
}
Terminal window
# Get today's daily note
curl -X GET "https://sidvy.com/api/daily" \
-H "Authorization: Bearer sidvy_abc123..."
# Get a specific date's daily note
curl -X GET "https://sidvy.com/api/daily?date=2025-02-01" \
-H "Authorization: Bearer sidvy_abc123..."

Update today’s daily note, or a specific date’s note. Creates the note automatically if it doesn’t exist.

PUT /api/daily
{
"content": "# Friday, February 7th\n\n- Met with team\n- Reviewed PRs",
"workspaceId": "660e8400-e29b-41d4-a716-446655440001",
"date": "2025-02-07"
}
FieldTypeRequiredDescription
contentstringYesNote content (markdown, max 1MB)
workspaceIdstringNoTarget workspace (uses default if not provided)
datestringNoDate in YYYY-MM-DD format (defaults to today)

Returns the updated note object in the same format as GET.

Terminal window
curl -X PUT "https://sidvy.com/api/daily" \
-H "Authorization: Bearer sidvy_abc123..." \
-H "Content-Type: application/json" \
-d '{"content": "# My Daily Note\n\nToday I worked on..."}'

Get the current week’s note, or a specific week’s note. Creates the note automatically if it doesn’t exist.

GET /api/weekly
ParameterTypeDescription
workspaceIdstringTarget workspace (uses default if not provided)
weeknumberISO week number (1-53). Required if year is provided
yearnumberYear (1970-2100). Required if week is provided
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "2025-W06",
"content": "",
"workspaceId": "660e8400-e29b-41d4-a716-446655440001",
"groupId": "770e8400-e29b-41d4-a716-446655440003",
"userId": "880e8400-e29b-41d4-a716-446655440003",
"icon": null,
"isDeleted": false,
"deletedAt": null,
"deletedBy": null,
"isEncrypted": false,
"encryptionMetadata": null,
"createdAt": "2025-02-03T08:00:00.000Z",
"updatedAt": "2025-02-03T08:00:00.000Z"
},
"count": 1,
"filters": {
"workspaceId": "660e8400-e29b-41d4-a716-446655440001",
"week": 6,
"year": 2025,
"type": "weekly"
}
}
Terminal window
# Get current week's note
curl -X GET "https://sidvy.com/api/weekly" \
-H "Authorization: Bearer sidvy_abc123..."
# Get a specific week's note
curl -X GET "https://sidvy.com/api/weekly?week=6&year=2025" \
-H "Authorization: Bearer sidvy_abc123..."

Update the current week’s note, or a specific week’s note. Creates the note automatically if it doesn’t exist.

PUT /api/weekly
{
"content": "# Week 6, 2025\n\n## Goals\n- Ship new feature\n- Review Q1 roadmap",
"workspaceId": "660e8400-e29b-41d4-a716-446655440001",
"week": 6,
"year": 2025
}
FieldTypeRequiredDescription
contentstringYesNote content (markdown, max 1MB)
workspaceIdstringNoTarget workspace (uses default if not provided)
weeknumberNoISO week number (1-53). Required if year is provided
yearnumberNoYear (1970-2100). Required if week is provided

Returns the updated note object in the same format as GET.

Terminal window
curl -X PUT "https://sidvy.com/api/weekly" \
-H "Authorization: Bearer sidvy_abc123..." \
-H "Content-Type: application/json" \
-d '{"content": "# Week Summary\n\n## Accomplishments\n- Launched v2.0"}'

Daily and weekly notes are automatically organized into special calendar groups:

  • Daily Notes - A group named “Daily Notes” is created automatically in each workspace
  • Weekly Notes - A group named “Weekly Notes” is created automatically in each workspace

These groups are created on-demand when you first access a daily or weekly note in a workspace.

{
"error": "UNAUTHORIZED",
"message": "Authentication required"
}
{
"error": "NOT_FOUND",
"message": "Workspace not found or access denied"
}
{
"error": "VALIDATION_ERROR",
"message": "Invalid date format. Use YYYY-MM-DD"
}
{
"error": "VALIDATION_ERROR",
"message": "Both week and year must be provided together"
}
{
"error": "VALIDATION_ERROR",
"message": "Note content too long"
}
{
"error": "VALIDATION_ERROR",
"message": "User storage quota exceeded"
}