Authentication
Send your key in the Authorization header. Requests without a valid key get 401.
curl "https://dev.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/me | Your organisation, key name, scopes and plan |
| GET | /v1/billing | Plan, status, current period and next bill |
| GET | /v1/credits | Credit balance |
| GET | /v1/audit-log | Organisation audit log |
Team & locations
| GET | /v1/locations | Locations in your group with people counts |
| GET | /v1/team | Team members, roles and status |
| GET | /v1/team/{id} | One team member |
| POST | /v1/team | Invite a team member (write) |
Contacts
| GET | /v1/contacts | Search contacts (q, limit) |
| GET | /v1/contacts/{id} | One contact with phones, emails and history |
| POST | /v1/contacts | Add a contact (write) |
| GET | /v1/companies | Search companies |
Email
| GET | /v1/emails | Email conversations, newest first |
| GET | /v1/emails/{thread} | Every message in a conversation |
| POST | /v1/emails/{thread}/actions | Flag, pin, mark read or unread, delete, restore, close or reopen a conversation (write) |
| GET | /v1/email-recipients?q= | Find people to email: contacts first, then recent senders |
| GET | /v1/team-chats | Team Messages conversations with unread counts |
| GET | /v1/team-chats/messages | Messages in one chat (user_id or group_id) |
| POST | /v1/team-chats/messages | Send a Team Messages chat message to a colleague (write) |
| GET | /v1/agent-payments | Agent purchases and bookings with status, pay-as (business, personal, expense), claim status and receipts (read only) |
| GET | /v1/payment-cards | Your saved personal and business cards for agent payments, last 4 only (read only) |
| GET | /v1/meeting-notes | Meeting taker notes with summaries, optional transcript (read only) |
| POST | /v1/emails | Send an email to a contact (write) |
| GET | /v1/mailbox | Connected mailbox settings |
| POST | /v1/mailbox/sync-mode | Change mailbox sync mode (write) |
Calls & messages
| GET | /v1/phone-numbers | Numbers on your account |
| GET | /v1/phone/usage | Minutes used and available |
| GET | /v1/comm-logs | Calls, SMS and WhatsApp logs |
| GET | /v1/comm-logs/{id} | One call with transcript and summary |
| POST | /v1/comm-logs | Log a call or message (write) |
Documents
| GET | /v1/documents | Documents the agent made for you |
| POST | /v1/documents | Create a branded PDF, Word, PowerPoint or Excel file (write) |
| GET | /v1/document-styles | Saved document styles |
Email watches
| GET | /v1/email-watches | Emails you are waiting on, with chaser status |
Memorable dates
| GET | /v1/memorable-dates | Upcoming birthdays and memorable dates (?days=30) |
| POST | /v1/memorable-dates | Save a date against a contact (contact_id, label, date, recurring, note) |
Expenses
| GET | /v1/mileage/trips | Mileage trips (from, to, kind) |
| GET | /v1/mileage/claims | Monthly mileage claims (status, team=true for admins) |
| GET | /v1/travel-expenses | Travel and hotel expenses (from, to, pay_as) |
| POST | /v1/travel-expenses | Record a travel or hotel expense (write) |
| GET | /v1/expense-reports/{type} | Report for mileage, travel or agent-payments (from, to, member_id) |
| GET | /v1/agent-payments | Purchases the agent made, with claim status |
| GET | /v1/spending-policy | Categories the agent always refuses (e.g. gambling) |
Dashboards & sites
| GET | /v1/dashboards | Dashboards, reports and pages the agent built, with links |
Legal research
| GET | /v1/legal-research | In-depth UK legal and HR research with statutes, cases and sources (?question=&jurisdiction=) |
Places
| GET | /v1/places | Find restaurants, hotels and businesses (?query=&near=&open_now=) |
Tasks
| GET | /v1/tasks | Your tasks (status, contact_id, limit) |
| GET | /v1/tasks/{id} | One task with notes |
| POST | /v1/tasks | Create a task (write) |
| POST | /v1/tasks/{id}/notes | Add a note (write) |
| POST | /v1/tasks/{id}/complete | Complete a task (write) |
Help & support
| GET | /v1/help | Search the help centre (question) |
| GET | /v1/support-tickets | Your support tickets |
| GET | /v1/support-tickets/{id} | One ticket |
| POST | /v1/support-tickets | Raise a ticket (write) |
Creating things
curl -X POST https://dev.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.