Built for machines.
Loved by developers.
Every operation in FindTime is available through the REST API and the MCP server. Automate everything. Let your AI run your calendar.
Authentication
All authenticated endpoints require a Bearer token in the Authorization header. Generate your API key from the Settings page or via the API.
Public endpoints (availability check, booking) do not require authentication.
MCP Setup
Add FindTime to your AI agent's MCP config. Drop this into your claude_desktop_config.json or equivalent:
Your agent gets 70 native tools covering scheduling, orgs, teams, branding, contact cards, tasks, and more.
Endpoint Reference
Scheduling
/api/v1/eventsList event types
Show curl example
/api/v1/eventsCreate event type
Show curl example
/api/v1/events/:idGet event type by ID
Show curl example
/api/v1/events/:idUpdate event type
Show curl example
/api/v1/events/:idDelete event type
Show curl example
/api/v1/events/:id/hostsGet host pool for a team event (assignment_strategy + members)
Show curl example
/api/v1/events/:id/hostsReplace host pool (must all be team_members of the event's team)
Show curl example
/api/v1/scheduleGet availability schedule
Show curl example
/api/v1/scheduleSet availability schedule
Show curl example
/api/v1/availabilityCheck available slots (public). Returns [{start, end, duration_minutes}]
Show curl example
/api/v1/bookingsBook a meeting (public). Validates the slot, picks a host for round-robin, writes the calendar event, persists to bookings + booking_answers.
Show curl example
/api/v1/bookingsList your bookings. Filters: ?status=confirmed|cancelled|all, ?from=ISO, ?to=ISO
Show curl example
/api/v1/bookings/:idGet a single booking
Show curl example
/api/v1/bookings/:idCancel a booking. Best-effort calendar removal.
Show curl example
/api/v1/bookings/:idReschedule. Same host, validates new slot, replaces calendar event.
Show curl example
/api/v1/events/:id/questionsList per-event booking questions (public read)
Show curl example
/api/v1/events/:id/questionsReplace the full set of booking questions on an event
Show curl example
/api/v1/availability-profilesList your availability profiles with embedded slots + overrides
Show curl example
/api/v1/availability-profilesCreate a profile with optional weekly slots
Show curl example
/api/v1/availability-profiles/:idGet one profile with slots + overrides
Show curl example
/api/v1/availability-profiles/:idUpdate name/timezone/default; pass slots to replace them
Show curl example
/api/v1/availability-profiles/:idDelete a profile (cascades to slots + overrides)
Show curl example
/api/v1/availability-profiles/:id/overridesUpsert a date override (holiday, special hours)
Show curl example
/api/v1/availability-profiles/:id/overrides/:overrideIdRemove a date override
Show curl example
Organizations
/api/v1/orgsList your organizations
Show curl example
/api/v1/orgsCreate organization
Show curl example
/api/v1/orgs/:idGet organization
Show curl example
/api/v1/orgs/:idUpdate organization
Show curl example
/api/v1/orgs/:idDelete organization
Show curl example
/api/v1/orgs/:id/membersList org members
Show curl example
/api/v1/orgs/:id/membersAdd org member
Show curl example
/api/v1/orgs/:id/membersRemove org member by user_id query param
Show curl example
/api/v1/orgs/:id/members/:userIdUpdate a member's role
Show curl example
/api/v1/orgs/:id/members/:userIdRemove org member (path-style)
Show curl example
/api/v1/orgs/:id/teamsList teams
Show curl example
/api/v1/orgs/:id/teamsCreate team
Show curl example
/api/v1/orgs/:id/teams/:teamIdGet team
Show curl example
/api/v1/orgs/:id/teams/:teamIdUpdate team
Show curl example
/api/v1/orgs/:id/teams/:teamIdDelete team
Show curl example
/api/v1/orgs/:id/teams/:teamId/membersList team members
Show curl example
/api/v1/orgs/:id/teams/:teamId/membersAdd team member
Show curl example
/api/v1/orgs/:id/teams/:teamId/membersRemove team member
Show curl example
Branding & Assets
/api/v1/brandingGet branding (with fallback chain)
Show curl example
/api/v1/brandingSet branding
Show curl example
/api/v1/uploadUpload image
Show curl example
/api/v1/brandingReset branding (account, org, or team) to defaults
Show curl example
/api/v1/branding/statusWhich scope (team/org/personal/account) is currently resolving for the caller
Show curl example
Discovery (Public)
/api/v1/discover/:slugGet user or org info, events with per-event questions, and booking instructions — no auth needed
Show curl example
Connections (Calendar / Conferencing OAuth)
/api/v1/connectionsList connected toolkits
Show curl example
/api/v1/connectionsInitiate OAuth — returns connect_url for the user to visit
Show curl example
/api/v1/connections/:toolkitRevoke a toolkit. Optional ?connected_account_id=...
Show curl example
Orchestration (Phase 2)Coming soon
/api/v1/meeting-requestsList your meeting requests. Filters: ?status=&limit=
Show curl example
/api/v1/meeting-requestsCreate a delegated scheduling job
Show curl example
/api/v1/meeting-requests/:idGet one meeting request
Show curl example
/api/v1/meeting-requests/:idUpdate fields (not status — use /transition)
Show curl example
/api/v1/meeting-requests/:idDelete (rare — usually transition to canceled)
Show curl example
/api/v1/meeting-requests/:id/transitionMove to a new status. Illegal transitions return 409.
Show curl example
/api/v1/meeting-requests/:id/eventsAudit log: every status change, message, hold, etc.
Show curl example
/api/v1/counterpartiesList people you have scheduled with
Show curl example
/api/v1/counterpartiesUpsert a counterparty (idempotent on owner+email)
Show curl example
/api/v1/counterparties/:idGet one counterparty
Show curl example
/api/v1/counterparties/:idDelete a counterparty
Show curl example
/api/v1/approval-policyYour approval policy (auto-created with defaults)
Show curl example
/api/v1/approval-policyUpdate policy fields
Show curl example
/api/v1/meeting-requests/:id/routePhase 3 — assess capability, pick mode, open negotiation, send outreach. Optional body { force_mode }.
Show curl example
/api/v1/intentPhase 6 — natural-language → meeting_request. Body { text, force_create? }. Returns { intent, meetingRequestId, status }.
Show curl example
Tasks
/api/v1/tasksList tasks (filter by ?status=todo|done, ?org_id=)
Show curl example
/api/v1/tasksCreate a task
Show curl example
/api/v1/tasks/:idGet a task
Show curl example
/api/v1/tasks/:idUpdate a task (title, notes, status, due_date)
Show curl example
/api/v1/tasks/:idDelete a task
Show curl example
Profile
/api/v1/meGet your profile
Show curl example
/api/v1/meUpdate your profile
Show curl example
/api/v1/me/api-keyRegenerate API key (rotates your existing key)
Show curl example
/api/v1/me/onboardingGet onboarding state (which steps are complete)
Show curl example
/api/v1/me/onboardingMark onboarding complete / update state
Show curl example
/api/v1/public-profileList your public booking profiles (personal + orgs you own)
Show curl example
Referrals
/api/v1/referralsList your referral code + referrals
Show curl example
/api/v1/referralsCreate a referral against your code
Show curl example
Contact Cards
/api/v1/me/contact-cardGet your contact card (phone/title/company/socials)
Show curl example
/api/v1/me/contact-cardUpdate your contact card. Any subset of fields.
Show curl example
/api/v1/orgs/:org_id/contact-cardGet an org’s contact card (member only)
Show curl example
/api/v1/orgs/:org_id/contact-cardUpdate org contact card (member only)
Show curl example
/api/vcard/:slugPublic vCard (.vcf) download for user or org
Show curl example
Account
/api/v1/me/deletionCheck self-deletion status
Show curl example
/api/v1/me/deletionRequest account deletion (30-day grace)
Show curl example
/api/v1/me/deletionCancel a pending deletion
Show curl example
/api/v1/me/exportDownload a JSON archive of all your account data
Show curl example
MCP Tools
70 native tools available to any MCP-compatible AI agent. Your assistant calls these directly — no HTTP wrangling required.
Scheduling
findtime.list_eventsList all event typesfindtime.create_eventCreate a new event typefindtime.get_eventGet event type detailsfindtime.update_eventUpdate an event typefindtime.delete_eventDelete an event typefindtime.get_event_hostsGet the host pool for a team eventfindtime.set_event_hostsReplace the host pool for a team eventfindtime.list_event_questionsList per-event booking questionsfindtime.set_event_questionsReplace the set of booking questions on an eventfindtime.get_scheduleGet availability schedulefindtime.set_scheduleSet availability schedulefindtime.check_availabilityCheck open time slotsfindtime.book_meetingBook a meeting (public — no auth)findtime.list_bookingsList bookings (filters: status, from, to)findtime.cancel_bookingCancel a bookingfindtime.reschedule_bookingReschedule a booking to a new timeAvailability Profiles
findtime.list_availability_profilesList profiles with slots + overridesfindtime.create_availability_profileCreate a new profilefindtime.update_availability_profileUpdate a profilefindtime.delete_availability_profileDelete a profilefindtime.add_availability_overrideUpsert a date overridefindtime.remove_availability_overrideRemove a date overrideOrganizations & Teams
findtime.list_orgsList your organizationsfindtime.create_orgCreate an organizationfindtime.get_orgGet organization detailsfindtime.update_orgUpdate an organizationfindtime.delete_orgDelete an organizationfindtime.list_org_membersList org membersfindtime.add_org_memberAdd a member to an orgfindtime.remove_org_memberRemove a member from an orgfindtime.update_org_member_roleChange a member's rolefindtime.list_teamsList teams in an orgfindtime.get_teamGet team detailsfindtime.create_teamCreate a teamfindtime.update_teamUpdate a teamfindtime.delete_teamDelete a teamfindtime.list_team_membersList team membersfindtime.add_team_memberAdd a member to a teamfindtime.remove_team_memberRemove a member from a teamBranding & Assets
findtime.get_brandingGet branding with fallback chainfindtime.set_brandingSet colors, logo, and themefindtime.upload_imageUpload an image assetConnections
findtime.list_connectionsList connected calendars + conferencing toolsfindtime.initiate_connectionStart OAuth for a toolkit, returns connect_urlfindtime.revoke_connectionDisconnect a toolkitDiscovery
findtime.discoverPublic lookup by slug — booking URL + events + questionsTasks
findtime.list_tasksList your tasks/todosfindtime.create_taskCreate a task or reminderfindtime.update_taskUpdate a taskfindtime.complete_taskMark a task as donefindtime.delete_taskDelete a taskProfile
findtime.get_profileGet your profilefindtime.update_profileUpdate profile detailsContact Cards
findtime.get_contact_cardGet your contact cardfindtime.update_contact_cardUpdate your contact cardfindtime.get_org_contact_cardGet an org's contact cardfindtime.update_org_contact_cardUpdate an org's contact cardAccount
findtime.get_deletion_statusCheck self-deletion statusfindtime.request_account_deletionSchedule deletion (30-day grace)findtime.cancel_account_deletionCancel a pending deletionfindtime.export_my_dataDownload a full JSON archive of your dataOrchestration (Phase 2)Coming soon
findtime.request_meetingNatural-language → meeting_request (intent capture)findtime.create_meeting_requestCreate a delegated scheduling jobfindtime.list_meeting_requestsList your meeting requestsfindtime.get_meeting_requestGet a meeting requestfindtime.transition_meeting_requestMove a meeting_request to a new statusfindtime.get_meeting_request_eventsAudit log for a meeting requestfindtime.route_meeting_requestAssess capability + route (link / agent / reply)findtime.list_counterpartiesList people you've scheduled withfindtime.upsert_counterpartyCreate or update a counterpartyfindtime.get_approval_policyGet your approval policyfindtime.update_approval_policyUpdate approval policy