Everyday | API DocumentationEveryday | API Documentation
  • Pricing
  • Documentation
  • API Reference
Information
Organizations
    List available organizationsget
Profiles
    List profilesgetCreate profilepostRetrieve profilegetDelete profiledeleteUpdate profilepatchList a profile's eventsgetCreate event for a profilepostList a profile's seriesgetCreate series for a profilepostList followers of a profileget
Events
    List a profile's eventsgetCreate event for a profilepostList eventsgetCreate eventpostRetrieve eventgetDelete eventdeleteUpdate eventpatchCancel eventpostReschedule eventpostList RSVPsgetCreate RSVPpostDelete RSVPdeleteUpdate RSVPpatchRSVP statisticsgetGet RSVP settingsgetUpdate RSVP settingspatchList events in a seriesgetAdd event to seriespostRemove event from seriesdelete
RSVPs
    List RSVPsgetCreate RSVPpostDelete RSVPdeleteUpdate RSVPpatchRSVP statisticsgetGet RSVP settingsgetUpdate RSVP settingspatch
Series
    List a profile's seriesgetCreate series for a profilepostList seriesgetRetrieve seriesgetDelete seriesdeleteUpdate seriespatchPreview series deletiongetList events in a seriesgetAdd event to seriespostRemove event from seriesdelete
Calendars
    List calendarsgetRetrieve calendargetList calendar eventsgetCreate calendar eventpostDelete calendar eventdeleteUpdate calendar eventpatchList connected external calendarsgetRead your agendaget
Subscriptions
    List subscriptionsgetCreate subscriptionpostRetrieve subscriptiongetDelete subscriptiondeleteUpdate subscriptionpatch
Follows
    List followers of a profilegetList followsgetCreate followpostDelete followdelete
Search
    Search across events, profiles, and seriesget
MCP
    MCP Server (consumer / OAuth)postMCP Server (developer / API key)post
Schemas
powered by Zuplo
Everyday Public API
Everyday Public API

Schemas


Error

​object · required

Profile

id
​string · pattern: ^prf_[0-9a-fA-F]{32}…
everyday_id
​string · pattern: ^[A-Za-z0-9_.-]{3,}$

Profile handle used in links. This is not a resource ID; use the profile id (prf_...) in ID fields.

display_name
​string
description
​string | null
profile_image_url
​string | null · uri
header_image_url
​string | null · uri
is_private
​boolean
default_event_duration_minutes
​integer | null
created_at
​string | null · date-time
updated_at
​string | null · date-time

ProfileCreate

everyday_id
​string · pattern: ^[A-Za-z0-9_.-]{3,}$ · required

Profile handle used in links. This is not a resource ID; use the profile id (prf_...) in ID fields.

display_name
​string · required
description
​string | null
profile_image_url
​string | null · uri
header_image_url
​string | null · uri
is_private
​boolean
organization_id
​string · pattern: ^org_[0-9a-fA-F]{32}…

Optional organization from GET /v1/organizations. When omitted, the caller's single active owned organization is used.

ProfileUpdate

display_name
​string
description
​string | null
profile_image_url
​string | null · uri
header_image_url
​string | null · uri
is_private
​boolean

Event

id
​string · pattern: ^evt_[0-9a-fA-F]{32}…
profile_id
​string | null · pattern: ^prf_[0-9a-fA-F]{32}…

Owning profile ID. Null when the profile is no longer visible to the caller.

title
​string
description
​string | null
location
​string | null
start_time
​string · date-time
end_time
​string | null · date-time
start_timezone
​string | null
end_timezone
​string | null
recurrence_rule
​string | null
status
​string | null
slug
​string
image_url
​string | null · uri
is_all_day
​boolean
is_private
​boolean
require_rsvp
​boolean
require_payment
​boolean
cancellation_reason
​string | null
cancelled_at
​string | null · date-time
is_rescheduled
​boolean | null
created_at
​string | null · date-time
updated_at
​string | null · date-time
transparency
​string · enum

RFC 5545 busy/free behavior: opaque blocks time; transparent does not.

Enum values:
opaque
transparent

EventCreate

title
​string · required
profile_id
​string · pattern: ^prf_[0-9a-fA-F]{32}…

Required when calling POST /v1/events; inferred from path when calling POST /v1/profiles/{profile_id}/events.

description
​string | null
location
​string | null
start_time
​string · pattern: ^\d{4}-\d{2}-\d{2}[T…

Event start time. Recommended: a naive local time (no offset) interpreted in start_timezone — e.g. "2026-06-06T09:30:00". An offset-bearing RFC 3339 value (e.g. "2026-06-06T09:30:00-04:00") is also accepted. Must be sent together with start_timezone. Omit for all-day events (use start_date).

Example: 2026-06-06T09:30:00
end_time
​string | null · pattern: ^\d{4}-\d{2}-\d{2}[T…

Event end time, same formats as start_time. When present, must be sent together with end_timezone. Omit for all-day events (use end_date).

Example: 2026-06-06T11:30:00
start_timezone
​string

IANA timezone name (e.g. "America/New_York") for start_time. Required. Used for display, outbound calendar sync, and recurrence expansion; it does not reinterpret an explicit offset in start_time. Must not be null.

end_timezone
​string

IANA timezone name for end_time. Independent of start_timezone (e.g. a NYC→LA flight). Must be sent together with end_time and must not be null. When omitted on create, the platform fills it from start_timezone.

start_date
​string · pattern: ^\d{4}-\d{2}-\d{2}$

All-day start date (YYYY-MM-DD, date only). Required when is_all_day is true; do not send with start_time/end_time.

end_date
​string · pattern: ^\d{4}-\d{2}-\d{2}$

All-day end date (YYYY-MM-DD), EXCLUSIVE — the event spans up to but not including this date. Optional; defaults to start_date + 1 day (single day) and must be after start_date (multi-day allowed).

recurrence_rule
​string | null · maxLength: 8192

Single RRULE text (optional RRULE: prefix), or null to clear recurrence. Must produce a first occurrence within a bounded work allowance using the effective event start. Invalid or excessively costly rules return 400 invalid_recurrence_rule. Advanced rules such as BYDAY=2TU are supported.

slug
​string

URL slug for the event. Optional — when omitted the platform derives one from the title and start time (evaluated in start_timezone). Reserved values (history, previous, s) are rejected.

image_url
​string | null · uri
is_all_day
​boolean
is_private
​boolean
require_rsvp
​boolean
require_payment
​boolean
transparency
​string · enum

RFC 5545 busy/free behavior: opaque blocks time; transparent does not.

Enum values:
opaque
transparent

EventUpdate

title
​string
description
​string | null
location
​string | null
start_time
​string · pattern: ^\d{4}-\d{2}-\d{2}[T…

Event start as an RFC 3339 date-time. When present, must be sent together with start_timezone.

end_time
​string | null · pattern: ^\d{4}-\d{2}-\d{2}[T…

Event end as an RFC 3339 date-time. When present, must be sent together with end_timezone.

start_timezone
​string

IANA timezone name for start_time. Required when start_time is present (they must travel together). Used for display, outbound calendar sync, and recurrence expansion. Must not be null. Omit to leave unchanged.

end_timezone
​string

IANA timezone name for end_time. Independent of start_timezone. Required when end_time is present. Must not be null. Omit to leave unchanged; no cascade from a start_timezone change.

start_date
​string · pattern: ^\d{4}-\d{2}-\d{2}$

All-day start date (YYYY-MM-DD, date only). Required when is_all_day is true; do not send with start_time/end_time.

end_date
​string · pattern: ^\d{4}-\d{2}-\d{2}$

All-day end date (YYYY-MM-DD), EXCLUSIVE — the event spans up to but not including this date. Optional; defaults to start_date + 1 day (single day) and must be after start_date (multi-day allowed).

recurrence_rule
​string | null · maxLength: 8192

Single RRULE text (optional RRULE: prefix), or null to clear recurrence. Must produce a first occurrence within a bounded work allowance using the effective event start. Invalid or excessively costly rules return 400 invalid_recurrence_rule. Advanced rules such as BYDAY=2TU are supported.

slug
​string
image_url
​string | null · uri
is_all_day
​boolean
is_private
​boolean
require_rsvp
​boolean
transparency
​string · enum

RFC 5545 busy/free behavior: opaque blocks time; transparent does not.

Enum values:
opaque
transparent

EventCancel

reason
​string

EventReschedule

start_time
​string · pattern: ^\d{4}-\d{2}-\d{2}[T… · required

New event start as an RFC 3339 date-time. Must be sent together with start_timezone.

end_time
​string · pattern: ^\d{4}-\d{2}-\d{2}[T…

New event end as an RFC 3339 date-time. When present, must be sent together with end_timezone.

start_timezone
​string

IANA timezone name for the new start_time. Required (reschedule always sets start_time). Must not be null.

end_timezone
​string

IANA timezone name for the new end_time. Independent of start_timezone. Required when end_time is present. Must not be null.

Series

id
​string · pattern: ^ser_[0-9a-fA-F]{32}…
profile_id
​string | null · pattern: ^prf_[0-9a-fA-F]{32}…

Owning profile ID. Null when the profile is no longer visible to the caller.

name
​string
slug
​string
description
​string | null
is_private
​boolean
created_at
​string | null · date-time
updated_at
​string | null · date-time

SeriesCreate

name
​string · required
slug
​string · required
description
​string | null
is_private
​boolean

SeriesUpdate

name
​string
slug
​string
description
​string | null
is_private
​boolean

Rsvp

id
​string · pattern: ^rsvp_[0-9a-fA-F]{32…
event_id
​string · pattern: ^evt_[0-9a-fA-F]{32}…

Event containing this RSVP.

attendee_email
​string | null
attendee_first_name
​string | null
attendee_last_name
​string | null
status
​string
rsvp_type
​string | null
num_guests
​integer
created_at
​string · date-time
updated_at
​string · date-time

RsvpCreate

status
​string · enum · required
Enum values:
going
maybe
not_going
waitlist
attendee_email
​string | null
attendee_first_name
​string | null
attendee_last_name
​string | null
rsvp_type
​string | null
num_guests
​integer · min: 1
Default: 1

RsvpUpdate

status
​string · enum
Enum values:
going
maybe
not_going
waitlist
num_guests
​integer · min: 1

RsvpStats

event_id
​string · pattern: ^evt_[0-9a-fA-F]{32}…
going
​integer
maybe
​integer
not_going
​integer
waitlist
​integer
total_attendees
​integer

RsvpSettings

enable_capacity_limit
​boolean
capacity_limit
​integer | null
allow_waitlist
​boolean
allow_multiple_attendees
​boolean
allow_notifications
​boolean

RsvpSettingsUpdate

enable_capacity_limit
​boolean
capacity_limit
​integer | null
allow_waitlist
​boolean
allow_multiple_attendees
​boolean
allow_notifications
​boolean

Calendar

id
​string · pattern: ^cal_[0-9a-fA-F]{32}…
name
​string
description
​string | null
color
​string | null
is_default
​boolean
created_at
​string · date-time
updated_at
​string · date-time

CalendarEvent

id
​string · pattern: ^cev_[0-9a-fA-F]{32}…
calendar_id
​string · pattern: ^cal_[0-9a-fA-F]{32}…

Personal calendar containing this event.

title
​string
description
​string | null
location
​string | null
start_time
​string · date-time
end_time
​string | null · date-time
start_timezone
​string | null
end_timezone
​string | null
is_all_day
​boolean
recurrence_rule
​string | null
status
​string | null
created_at
​string · date-time
updated_at
​string · date-time
transparency
​string · enum

RFC 5545 busy/free behavior: opaque blocks time; transparent does not.

Enum values:
opaque
transparent

CalendarEventCreate

title
​string · required
description
​string | null
location
​string | null
start_time
​string · pattern: ^\d{4}-\d{2}-\d{2}[T…

Event start time. Recommended: a naive local time (no offset) interpreted in start_timezone — e.g. "2026-06-06T09:30:00". An offset-bearing RFC 3339 value is also accepted. Must be sent together with start_timezone. Omit for all-day events (use start_date).

Example: 2026-06-06T09:30:00
end_time
​string | null · pattern: ^\d{4}-\d{2}-\d{2}[T…

Event end time, same formats as start_time. When present, must be sent together with end_timezone. Omit for all-day events (use end_date).

Example: 2026-06-06T11:30:00
start_timezone
​string

IANA timezone name for start_time. Required. Used for display and recurrence; not used to reinterpret an explicit offset. Must not be null.

end_timezone
​string

IANA timezone name for end_time. Independent of start_timezone. Required when end_time is present. Must not be null.

start_date
​string · pattern: ^\d{4}-\d{2}-\d{2}$

All-day start date (YYYY-MM-DD, date only). Required when is_all_day is true; do not send with start_time/end_time.

end_date
​string · pattern: ^\d{4}-\d{2}-\d{2}$

All-day end date (YYYY-MM-DD), EXCLUSIVE. Optional; defaults to start_date + 1 day (single day) and must be after start_date (multi-day allowed).

is_all_day
​boolean
recurrence_rule
​string | null · maxLength: 8192

Single RRULE text (optional RRULE: prefix), or null to clear recurrence. Must produce a first occurrence within a bounded work allowance using the effective event start. Invalid or excessively costly rules return 400 invalid_recurrence_rule. Advanced rules such as BYDAY=2TU are supported.

transparency
​string · enum

RFC 5545 busy/free behavior: opaque blocks time; transparent does not.

Enum values:
opaque
transparent

CalendarEventUpdate

title
​string
description
​string | null
location
​string | null
start_time
​string · pattern: ^\d{4}-\d{2}-\d{2}[T…

Event start time (naive local + start_timezone recommended; offset-bearing also accepted). When present, must be sent together with start_timezone.

Example: 2026-06-06T09:30:00
end_time
​string | null · pattern: ^\d{4}-\d{2}-\d{2}[T…

Event end time, same formats as start_time. When present, must be sent together with end_timezone. Omit for all-day events (use end_date).

Example: 2026-06-06T11:30:00
start_timezone
​string

IANA timezone name for start_time. Required when start_time is present. Used for display and recurrence; not used to reinterpret an explicit offset. Must not be null.

end_timezone
​string

IANA timezone name for end_time. Independent of start_timezone. Required when end_time is present. Must not be null.

start_date
​string · pattern: ^\d{4}-\d{2}-\d{2}$

All-day start date (YYYY-MM-DD, date only). Required when is_all_day is true; do not send with start_time/end_time.

end_date
​string · pattern: ^\d{4}-\d{2}-\d{2}$

All-day end date (YYYY-MM-DD), EXCLUSIVE. Optional; defaults to start_date + 1 day (single day) and must be after start_date (multi-day allowed).

is_all_day
​boolean
recurrence_rule
​string | null · maxLength: 8192

Single RRULE text (optional RRULE: prefix), or null to clear recurrence. Must produce a first occurrence within a bounded work allowance using the effective event start. Invalid or excessively costly rules return 400 invalid_recurrence_rule. Advanced rules such as BYDAY=2TU are supported.

transparency
​string · enum

RFC 5545 busy/free behavior: opaque blocks time; transparent does not.

Enum values:
opaque
transparent

Subscription

id
​string · pattern: ^sub_[0-9a-fA-F]{32}…
profile_id
​string | null · pattern: ^prf_[0-9a-fA-F]{32}…

Profile source for a profile subscription; otherwise null. A null value for a profile subscription means the source is no longer visible. Use subscription_type to identify the source type.

series_id
​string | null · pattern: ^ser_[0-9a-fA-F]{32}…

Series source for a series subscription; otherwise null. A null value for a series subscription means the source is no longer visible. Use subscription_type to identify the source type.

subscription_type
​string
is_active
​boolean | null
access_valid
​boolean | null
include_personal_calendar
​boolean | null
created_at
​string | null · date-time
updated_at
​string | null · date-time

SubscriptionCreate

subscription_type
​string · enum · required
Enum values:
profile
series
profile_id
​string · pattern: ^prf_[0-9a-fA-F]{32}…
series_id
​string · pattern: ^ser_[0-9a-fA-F]{32}…
include_personal_calendar
​boolean
external_calendar_ids
​string[] · maxItems: 100 · unique

Connected external calendars returned by GET /v1/external-calendars. Personal cal_ IDs are not accepted. Omission means no external targets; personal calendar inclusion defaults to true.

consolidate
​boolean

Explicitly adopt matching manual/child-series sync intent into this subscription. Defaults to false. May retire redundant child subscriptions.

Default: false

SubscriptionUpdate

is_active
​boolean

Follow

id
​string · pattern: ^fol_[0-9a-fA-F]{32}…
following_type
​string · enum
Enum values:
profile
series
event
target_id
​string | null · pattern: ^(prf|ser|evt)_[0-9a…

Prefixed identifier of the followed profile, series, or event. Null only when the original target is no longer visible.

created_at
​string | null · date-time

FollowCreate

following_type
​string · enum · required
Enum values:
profile
series
event
target_id
​string · pattern: ^(prf|ser|evt)_[0-9a… · required

Prefixed ID of the target resource.

SearchResult

​object[]
has_more
​boolean
next_cursor
​string | null

JsonRpcResponse

jsonrpc
​string · enum · required
Enum values:
2.0
​required

Request id echoed from the JSON-RPC request. May be a string, integer, or null.

result
​object

Method-specific result payload. Present on successful responses; mutually exclusive with error.

​object

Present on failed responses; mutually exclusive with result.

FollowPage

​object[] · required
has_more
​boolean · required
next_cursor
​string | null · required

SeriesPage

​object[] · required
has_more
​boolean · required
next_cursor
​string | null · required

SubscriptionPage

​object[] · required
has_more
​boolean · required
next_cursor
​string | null · required

ProfilePage

​object[] · required
has_more
​boolean · required
next_cursor
​string | null · required

CalendarEventPage

​object[] · required
has_more
​boolean · required
next_cursor
​string | null · required

EventPage

​object[] · required
has_more
​boolean · required
next_cursor
​string | null · required

CalendarPage

​object[] · required
has_more
​boolean · required
next_cursor
​string | null · required

RsvpPage

​object[] · required
has_more
​boolean · required
next_cursor
​string | null · required

SeriesDeletion

member_count
​integer · required

Total events that were tagged in this series at delete time.

deleted_event_count
​integer · required

Events permanently deleted (only nonzero when cascade_exclusive_events=true).

preserved_event_count
​integer · required

Events that remain on the profile after deletion.

SeriesDeletionPreview

series_name
​string · required
member_count
​integer · required

Total events tagged in this series.

exclusive_count
​integer · required

Events that would be deleted in cascade mode.

shared_count
​integer · required

Events that would be preserved (also tagged in other series).

member_recurring_count
​integer · min: 0 · required
exclusive_recurring_count
​integer · min: 0 · required
shared_recurring_count
​integer · min: 0 · required

SeriesAddEvent

event_id
​string · pattern: ^evt_[0-9a-fA-F]{32}… · required

SearchItem

type
​string · enum
Enum values:
event
profile
series
id
​string · pattern: ^(evt|prf|ser)_[0-9a…
title
​string | null
description
​string | null
rank
​number | null
image_url
​string | null
slug
​string | null
profile_handle
​string | null · pattern: ^[A-Za-z0-9_.-]{3,}$
date_info
​string | null · date-time

ClaimConsumer

consumerName
​string · pattern: ^[a-zA-Z0-9_-]{1,128… · required

Zuplo consumer name (request.user.sub on monetized routes).

ExternalCalendar

id
​string · pattern: ^xcal_[0-9a-fA-F]{32…
name
​string
description
​string | null
color
​string | null
can_edit
​boolean | null
time_zone
​string | null
is_primary
​boolean | null
created_at
​string | null · date-time

ExternalCalendarPage

​object[] · required
has_more
​boolean · required
next_cursor
​string | null · required

Organization

id
​string · pattern: ^org_[0-9a-fA-F]{32}… · required

Public organization ID accepted by profile creation.

name
​string · required
handle
​string | null · required
role
​string · required

The authenticated caller's role in this organization.

is_default
​boolean · required

True only when this is the caller's single active owned organization and will be used when profile creation omits organization_id.

OrganizationList

​object[] · required

ProfileCreated

organization_id
​string · pattern: ^org_[0-9a-fA-F]{32}… · required

The organization selected explicitly or resolved from the caller's owned default.

id
​string · pattern: ^prf_[0-9a-fA-F]{32}…
everyday_id
​string · pattern: ^[A-Za-z0-9_.-]{3,}$

Profile handle used in links. This is not a resource ID; use the profile id (prf_...) in ID fields.

display_name
​string
description
​string | null
profile_image_url
​string | null · uri
header_image_url
​string | null · uri
is_private
​boolean
default_event_duration_minutes
​integer | null
created_at
​string | null · date-time
updated_at
​string | null · date-time

AgendaWindow

date
​string · date · required
end_date
​string · date · required
timezone
​string · required
start
​string · date-time · required
end
​string · date-time · required

AgendaSource

calendar_id
​string · pattern: ^(?:cal|xcal)_[0-9a-… · required
name
​string · required
provider
​string · enum · required
Enum values:
everyday
google
microsoft
ios
last_sync_at
​string | null · date-time · required
status
​string · enum · required
Enum values:
ok
warning

AgendaItem

occurrence_id
​string · required

Identifies this occurrence using the event ID and original slot. No write endpoint accepts it.

calendar_id
​string · pattern: ^(?:cal|xcal)_[0-9a-… · required
event_id
​string · pattern: ^(?:cev|xcev)_[0-9a-… · required

xcev_ IDs are read-only and stable while the stored row exists. Removing and reimporting an event may assign a new ID.

editable
​boolean · required

True only for non-recurring personal events, editable through the calendar-event PATCH route.

title
​string · required
start
​string · date-time · required
end
​string | null · date-time · required
local_start
​string · date-time · required
local_end
​string | null · date-time · required
is_all_day
​boolean · required
location
​string | null · required
​object · required
busy
​boolean · required
is_recurring
​boolean · required
profile
​object | null · required
start_date
​string · date

All-day events only; authoritative calendar date.

end_date
​string · date

All-day events only; exclusive end date.

description
​string | null

Present only with detail=full.

Agenda

​object · required
​object[] · maxItems: 500 · required
complete
​boolean · required

Whether the query and expansion returned all matching stored data. Does not guarantee provider coverage or freshness.

incomplete_reason
​string | null · required
​object[] · required
On this page
  • Error
  • Profile
  • ProfileCreate
  • ProfileUpdate
  • Event
  • EventCreate
  • EventUpdate
  • EventCancel
  • EventReschedule
  • Series
  • SeriesCreate
  • SeriesUpdate
  • Rsvp
  • RsvpCreate
  • RsvpUpdate
  • RsvpStats
  • RsvpSettings
  • RsvpSettingsUpdate
  • Calendar
  • CalendarEvent
  • CalendarEventCreate
  • CalendarEventUpdate
  • Subscription
  • SubscriptionCreate
  • SubscriptionUpdate
  • Follow
  • FollowCreate
  • SearchResult
  • JsonRpcResponse
  • FollowPage
  • SeriesPage
  • SubscriptionPage
  • ProfilePage
  • CalendarEventPage
  • EventPage
  • CalendarPage
  • RsvpPage
  • SeriesDeletion
  • SeriesDeletionPreview
  • SeriesAddEvent
  • SearchItem
  • ClaimConsumer
  • ExternalCalendar
  • ExternalCalendarPage
  • Organization
  • OrganizationList
  • ProfileCreated
  • AgendaWindow
  • AgendaSource
  • AgendaItem
  • Agenda