Skip to main content
GET
/
api
/
calendar
Get the user's content calendar
curl --request GET \
  --url https://app.puffle.ai/api/calendar \
  --header 'Authorization: Bearer <token>'
{
  "calendar": {
    "id": "cal_8c2b2d4e-e29b-41d4-a716-446655440000",
    "user_id": "11111111-1111-1111-1111-111111111111",
    "name": "My Content Calendar",
    "created_at": "2026-02-01T12:00:00Z",
    "updated_at": "2026-04-22T09:00:00Z"
  }
}

Overview

Returns the caller’s single content calendar — the container that holds every post. On first call for a new user, the row is created lazily with the default name My Content Calendar. All post-scoped queries (listSocialPosts, listArchivedSocialPosts, etc.) scope automatically by the caller’s user_id, so in practice this endpoint is mostly useful as a session warm-up and for reading the calendar name.

AI agent notes

Call this once per session. The response is effectively idempotent — the only time it does anything novel is the very first call for a newly signed-up user, which transparently bootstraps the row.This endpoint has no scheduled_at or posts data — only the calendar envelope. For post data, call listSocialPosts after this.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Response

Calendar returned (existing or freshly auto-created for first-time users).

calendar
object
required

User's content calendar. One calendar exists per user — the server lazily creates it on first call to this endpoint.