All endpoints in the User API are grouped underDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ptshen/timeful-plus/llms.txt
Use this file to discover all available pages before exploring further.
/api/user and require an authenticated session. Requests without a valid session cookie receive 401 Unauthorized.
Get Profile
User object for the currently signed-in user, including the current month’s event creation count.
Response 200 OK: A User object (see User Object Reference).
Update Name
New first name.
New last name.
200 OK: Returns {}.
Update Calendar Options
Buffer time settings applied when computing free slots.
Constrains calendar availability to a working-hours window.
200 OK: Returns {}.
Get Events
isDeleted: true) are excluded.
For availability groups (type: "group"), each event includes a hasResponded boolean indicating whether the user has already submitted availability.
Response 200 OK: Array of Event objects.
Set Event Folder
ObjectID of the target folder. Pass
null to remove the event from its current folder.200 OK: No body.
Get Calendar Events
| Parameter | Type | Required | Description |
|---|---|---|---|
timeMin | ISO 8601 | ✅ | Start of the time window |
timeMax | ISO 8601 | ✅ | End of the time window |
accounts | string | — | Comma-separated list of calendarAccountKey strings to query |
200 OK: Map of { calendarAccountKey: { calendarEvents: [...], error: ... } }.
Add Google Calendar Account
Google OAuth authorization code.
OAuth scope string.
200 OK: Returns {}.
Add Apple Calendar Account
Apple ID email address.
App-specific password generated from Apple ID settings.
200 OK: Returns {}. Returns 401 with { "error": "invalid-credentials" } if the credentials are rejected.
Add Outlook Calendar Account
Microsoft OAuth authorization code.
OAuth scope string.
200 OK: Returns {}.
Remove Calendar Account
Email address of the account to remove.
Calendar type of the account:
"google", "outlook", or "apple".200 OK: Returns {}.
Toggle Calendar Account
Email of the calendar account to toggle.
Calendar type:
"google", "outlook", or "apple".true to enable; false to disable.200 OK: Returns {}.
Toggle Sub-Calendar
Email of the parent calendar account.
Calendar type:
"google", "outlook", or "apple".ID of the sub-calendar to toggle.
true to enable; false to disable.200 OK: Returns {}.
Search Contacts
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | ✅ | Search term |
200 OK: Array of matching User-shaped objects (name, email, picture).
Delete User
200 OK: Returns {}.
User Object Reference
MongoDB ObjectID of the user.
Primary email address from the OAuth provider.
First name (from OAuth or custom override).
Last name (from OAuth or custom override).
Profile picture URL from the OAuth provider.
User’s UTC offset in minutes at time of last sign-in.
When
true, OAuth sign-in will not overwrite firstName/lastName.Map of
{ "email_CALENDARTYPE": CalendarAccount }. Keys are constructed as {email}_{CALENDARTYPE} (e.g. alice@gmail.com_google).The
calendarAccountKey of the account used during initial sign-in.Global
CalendarOptions containing bufferTime and workingHours settings.Whether the user has an active premium subscription (or
SELF_HOSTED_PREMIUM=true is set).Stripe customer ID associated with the user’s premium subscription. Absent for users who have never initiated a checkout.
Number of events created this calendar month (computed at request time, not stored).