FeaturesHow it worksPricingCompareAboutContact Get startedSign in

Developers

REST API

Connect your own systems and AI agents to Epicurus Pro with a simple REST API and a Model Context Protocol (MCP) server.

Authentication

Send your key in the Authorization header. Requests without a valid key get 401.

curl "https://fraser.epicurus.pro/api/v1/contacts?q=sarah&limit=5" \
  -H "Authorization: Bearer ep_live_your_key"

Endpoints

Endpoints marked write need a read + write key.

Account

GET/v1/meYour organisation, key name, scopes and plan
GET/v1/billingPlan, status, current period and next bill
GET/v1/creditsCredit balance
GET/v1/audit-logOrganisation audit log

Team & locations

GET/v1/locationsLocations in your group with people counts
GET/v1/teamTeam members, roles and status
GET/v1/team/{id}One team member
POST/v1/teamInvite a team member (write)

Contacts

GET/v1/contactsSearch contacts (q, limit)
GET/v1/contacts/{id}One contact with phones, emails and history
POST/v1/contactsAdd a contact (write)
GET/v1/companiesSearch companies

Email

GET/v1/emailsEmail conversations, newest first
GET/v1/emails/{thread}Every message in a conversation
POST/v1/emailsSend an email to a contact (write)
GET/v1/mailboxConnected mailbox settings
POST/v1/mailbox/sync-modeChange mailbox sync mode (write)

Calls & messages

GET/v1/phone-numbersNumbers on your account
GET/v1/phone/usageMinutes used and available
GET/v1/comm-logsCalls, SMS and WhatsApp logs
GET/v1/comm-logs/{id}One call with transcript and summary
POST/v1/comm-logsLog a call or message (write)

Tasks

GET/v1/tasksYour tasks (status, contact_id, limit)
GET/v1/tasks/{id}One task with notes
POST/v1/tasksCreate a task (write)
POST/v1/tasks/{id}/notesAdd a note (write)
POST/v1/tasks/{id}/completeComplete a task (write)

Help & support

GET/v1/helpSearch the help centre (question)
GET/v1/support-ticketsYour support tickets
GET/v1/support-tickets/{id}One ticket
POST/v1/support-ticketsRaise a ticket (write)

Creating things

curl -X POST https://fraser.epicurus.pro/api/v1/tasks \
  -H "Authorization: Bearer ep_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{"title":"Send Sarah the floor plan","due_on":"2026-10-15"}'

Errors

Errors return a JSON body like {"error":{"type":"not_found","message":"…"}} with the matching HTTP status: 401 bad key, 403 missing scope, 404 not found, 422 validation, 429 rate limited.