Everyday | API DocumentationEveryday | API Documentation
  • Pricing
  • Documentation
  • API Reference
Information
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 eventpatch
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

Subscriptions

Follow-style subscriptions that sync a profile or series into a user's calendar.


List subscriptions

GET
https://api.every.day
/v1/subscriptions

Returns the authenticated user's active and inactive subscriptions to profiles or series.

List subscriptions › query Parameters

cursor
​string

Opaque cursor returned from a previous list response.

limit
​integer · min: 1 · max: 100

Maximum number of items to return per page. Range 1-100, default 20.

Default: 20

List subscriptions › Responses

Page

​object[] · required
has_more
​boolean · required
next_cursor
​string | null · required
GET/v1/subscriptions
curl --request GET \ --url https://api.every.day/v1/subscriptions
shell
Example Responses
No example specified for this content type
application/json

Create subscription

POST
https://api.every.day
/v1/subscriptions

Subscribes the authenticated user to a profile or series. The corresponding events are then synced into target_calendar_id (or the user's default personal calendar if omitted).

Create subscription › Headers

Idempotency-Key
​string · minLength: 8 · maxLength: 255

A client-generated identifier (UUIDv4 recommended; 8–255 chars, alphanumeric/underscore/hyphen) for the request. The header is validated and logged, but server-side deduplication is not enforced: resubmitting a create with the same key produces a second resource. Treat creates as non-idempotent and design retries accordingly. Deduplication is planned for a future API version.

Create subscription › Request Body

subscription_type
​string · enum · required
Enum values:
profile
series
profile_id
​string
series_id
​string
target_calendar_id
​string
include_personal_calendar
​boolean
sync_window_start
​string · date-time
sync_window_end
​string · date-time

Create subscription › Responses

Created

id
​string
subscription_type
​string
is_active
​boolean
access_valid
​boolean
include_personal_calendar
​boolean
sync_window_start
​string | null · date-time
sync_window_end
​string | null · date-time
created_at
​string · date-time
updated_at
​string · date-time
POST/v1/subscriptions
curl --request POST \ --url https://api.every.day/v1/subscriptions \ --header 'Content-Type: application/json' \ --data ' { "subscription_type": "profile", "profile_id": "profile_id", "series_id": "series_id", "target_calendar_id": "target_calendar_id", "include_personal_calendar": true, "sync_window_start": "2024-08-25T15:00:00Z", "sync_window_end": "2024-08-25T15:00:00Z" } '
shell
Example Request Body
{ "subscription_type": "profile", "profile_id": "profile_id", "series_id": "series_id", "target_calendar_id": "target_calendar_id", "include_personal_calendar": true, "sync_window_start": "2024-08-25T15:00:00Z", "sync_window_end": "2024-08-25T15:00:00Z" }
json
Example Responses
No example specified for this content type
application/json

Retrieve subscription

GET
https://api.every.day
/v1/subscriptions/{subscription_id}

Returns a subscription owned by the authenticated user.

Retrieve subscription › path Parameters

subscription_id
​string · required

Prefixed unique identifier of the subscription (e.g., sub_8f3ab21e49c44c8baf7b5e4a1b2c3d4e).

Retrieve subscription › Responses

Subscription

id
​string
subscription_type
​string
is_active
​boolean
access_valid
​boolean
include_personal_calendar
​boolean
sync_window_start
​string | null · date-time
sync_window_end
​string | null · date-time
created_at
​string · date-time
updated_at
​string · date-time
GET/v1/subscriptions/{subscription_id}
curl --request GET \ --url https://api.every.day/v1/subscriptions/:subscription_id
shell
Example Responses
No example specified for this content type
application/json

Delete subscription

DELETE
https://api.every.day
/v1/subscriptions/{subscription_id}

Unsubscribes from the source. Events that were synced under this subscription are removed from the target calendar.

Delete subscription › path Parameters

subscription_id
​string · required

Prefixed unique identifier of the subscription (e.g., sub_8f3ab21e49c44c8baf7b5e4a1b2c3d4e).

Delete subscription › Responses

Deleted

No data returned
DELETE/v1/subscriptions/{subscription_id}
curl --request DELETE \ --url https://api.every.day/v1/subscriptions/:subscription_id
shell
Example Responses
No example specified for this content type

Update subscription

PATCH
https://api.every.day
/v1/subscriptions/{subscription_id}

Updates a subscription's sync window or active state. Setting is_active: false stops new events from syncing but does not retroactively remove events that were already synced.

Update subscription › path Parameters

subscription_id
​string · required

Prefixed unique identifier of the subscription (e.g., sub_8f3ab21e49c44c8baf7b5e4a1b2c3d4e).

Update subscription › Request Body

is_active
​boolean
sync_window_start
​string · date-time
sync_window_end
​string · date-time

Update subscription › Responses

Updated

id
​string
subscription_type
​string
is_active
​boolean
access_valid
​boolean
include_personal_calendar
​boolean
sync_window_start
​string | null · date-time
sync_window_end
​string | null · date-time
created_at
​string · date-time
updated_at
​string · date-time
PATCH/v1/subscriptions/{subscription_id}
curl --request PATCH \ --url https://api.every.day/v1/subscriptions/:subscription_id \ --header 'Content-Type: application/json' \ --data ' { "is_active": true, "sync_window_start": "2024-08-25T15:00:00Z", "sync_window_end": "2024-08-25T15:00:00Z" } '
shell
Example Request Body
{ "is_active": true, "sync_window_start": "2024-08-25T15:00:00Z", "sync_window_end": "2024-08-25T15:00:00Z" }
json
Example Responses
No example specified for this content type
application/json

CalendarsFollows