Proud member of the Google for Startups Cloud Program
API Reference

API reference — core endpoints

A usage-level reference for the main HeyMello API endpoints, grouped by domain. All paths are relative to the base URL and require a bearer token unless noted.

Base URL:  https://<your-heymello-api-host>/api/v1
Auth:      Authorization: Bearer <access_token>

Admin-only and internal service endpoints are omitted from this reference.


Agents

Method & PathPurpose
GET /agents/List active agents in your organization.
POST /agents/Create a new agent.
GET /agents/{agent_id}Get an agent’s configuration.
PUT /agents/{agent_id}Update agent fields.
DELETE /agents/{agent_id}Delete an agent (and release its number).
PATCH /agents/{agent_id}/promptUpdate only the agent’s instructions.
GET /agents/{agent_id}/versionsList the agent’s change history.
GET /agents/{agent_id}/versions/{version}View a historical version.
POST /agents/{agent_id}/versions/{version}/restoreRoll back to a prior version.
GET /agents/meta/industriesList selectable industries.
GET /agents/meta/use-casesList selectable use cases (optionally by industry).

Voices

Method & PathPurpose
GET /voices/List the voice catalog (id, name, gender, preview audio).

Knowledge base

Method & PathPurpose
POST /knowledge-base/uploadUpload a document.
GET /knowledge-base/documentsList uploaded documents.
GET /knowledge-base/document/{kb_id}Get a document’s details.
PUT /knowledge-base/document/{kb_id}Rename a document.
DELETE /knowledge-base/document/{kb_id}Delete a document.
GET /agents/{agent_id}/knowledge-baseList documents attached to an agent.
POST /agents/{agent_id}/knowledge-base/assignAttach documents to an agent.
POST /agents/{agent_id}/knowledge-base/unassignDetach documents from an agent.

Tools & custom functions

Built-in tools

Method & PathPurpose
GET /builtin-tools/List available built-in tools.
GET /builtin-tools/agent/{agent_id}List an agent’s built-in tool states.
PUT /builtin-tools/agent/{agent_id}/{tool_id}Enable/disable and configure a built-in tool for an agent.
DELETE /builtin-tools/agent/{agent_id}/{tool_id}Remove a built-in tool from an agent.

Custom functions (your own webhook integrations)

Method & PathPurpose
POST /agents/{agent_id}/custom-functions/Create a custom function for an agent.
GET /agents/{agent_id}/custom-functions/List an agent’s custom functions.
GET /agents/{agent_id}/custom-functions/{id}Get a custom function.
PUT /agents/{agent_id}/custom-functions/{id}Update a custom function.
DELETE /agents/{agent_id}/custom-functions/{id}Delete a custom function.

Calls

Method & PathPurpose
POST /calls/make-callPlace a single outbound call (needs positive credit balance).
GET /callsList call history (filter by call id / from / to).
GET /calls/{call_id}Get full call detail (transcript + analysis).
GET /calls/session/{session_id}Get call detail by session id.
GET /calls/decrypt-transcript/{session_id}Retrieve a call transcript.
GET /calls/recording/{session_id}Stream/download a call recording.

POST /calls/make-call body: agent_id, to_number, optional first_name/last_name, optional variables (custom placeholders for the prompt).


Phone numbers

Method & PathPurpose
GET /phone-numbersList phone numbers (filter by status/agent).
GET /phone-numbers/org-numbersList all numbers your org owns.
GET /phone-numbers/org-unassignedList org numbers ready to assign.
GET /phone-numbers/pricingCurrent credit pricing per country/currency.
POST /phone-numbers/purchaseBuy a number and assign it to an agent.
POST /phone-numbers/buyBuy a number into your org pool.
POST /phone-numbers/{id}/assignAssign an owned number to an agent.
POST /phone-numbers/{id}/unlinkDetach a number from its agent.
GET /phone-numbers/subscriptionsList number subscriptions.
POST /phone-numbers/subscriptions/{id}/cancelCancel a number subscription.
POST /phone-numbers/subscriptions/{id}/resumeResume a cancelled subscription.

Campaigns

Method & PathPurpose
GET /campaigns/List campaigns.
POST /campaigns/Create a campaign from a JSON contact list.
POST /campaigns/uploadCreate a campaign from an uploaded file (XLSX/CSV).
POST /campaigns/validate-excelDry-run validate a contact file before saving.
GET /campaigns/{id}Get campaign details and progress.
PUT /campaigns/{id}Update campaign settings.
DELETE /campaigns/{id}Cancel a campaign.
PATCH /campaigns/{id}/startStart dialing a pending campaign.
PATCH /campaigns/{id}/pausePause an active campaign.
PATCH /campaigns/{id}/resumeResume a paused campaign.
POST /campaigns/{id}/rerunClone a finished campaign into a new one.
POST /campaigns/{id}/contactsAppend contacts (JSON).
POST /campaigns/{id}/uploadAppend contacts (file).
GET /campaigns/{id}/numbersList contacts/calls in a campaign.
GET /campaigns/{id}/analyticsCampaign metrics (connect rate, outcomes, avg duration).
GET /campaigns/{id}/exportExport campaign + call results.

Callbacks

Method & PathPurpose
POST /callbacks/Register a callback request.
GET /callbacks/List upcoming callbacks.
PATCH /callbacks/{id}/rescheduleReschedule a callback.
DELETE /callbacks/{id}Cancel a callback.

Bookings

Method & PathPurpose
GET /bookingsList all appointments booked across your org.
GET /agents/{agent_id}/bookingsList appointments booked by one agent.

Post-call analysis

Method & PathPurpose
GET /agents/{agent_id}/post-call-analysisGet an agent’s analysis configuration.
PUT /agents/{agent_id}/post-call-analysisUpdate analysis config (prompt, outcomes, success outcomes, notification emails).

Analytics

Method & PathPurpose
GET /analytics/calls/summaryTotals, success rate, duration, inbound/outbound split.
GET /analytics/calls/attemptsDial-attempt breakdown + best-time-to-call heatmap.
GET /analytics/calls/sentimentSentiment distribution.
GET /analytics/calls/outcomesOutcome funnel per agent.
GET /analytics/calls/time-trendsCalls per day and busiest hours.
GET /analytics/calls/agentsPer-agent performance metrics.
GET /analytics/calls/listFilterable, paginated call list (drill-through).
GET /analytics/custom-fields/keysDiscover extracted custom fields.
GET /analytics/custom-fields/distributionValue distribution for a custom field.

Most analytics endpoints accept a days window or start_date/end_date, plus optional agent_id / campaign_id filters.


Transfer events

Method & PathPurpose
GET /transfer-eventsList call transfers across your org.
GET /agents/{agent_id}/transfer-eventsList transfers for one agent.

Billing

Method & PathPurpose
GET /billing/balanceCurrent credit balance.
GET /billing/pricingCurrencies and price per credit.
GET /billing/plansCredit bundle plans for a country.
GET /billing/transactionsCredit ledger history.
GET /billing/usage-summaryCredits used, grouped by feature.
GET /billing/invoicesList invoices.
GET /billing/invoices/{id}/pdfGet an invoice PDF link.
POST /billing/topup/initiateStart a credit purchase (Stripe/Razorpay).
PATCH /organisations/me/billingUpdate billing country / VAT-GST number.

Organizations & users

Method & PathPurpose
GET /organisations/List your organizations.
GET /organisations/{id}Get organization details.
PATCH /organisations/{id}Update organization profile.
GET /users/List users in your organization.
GET /users/{user_id}Get a user profile.
PATCH /users/{user_id}Update a user (role/status/profile).
POST /auth/invite (via auth)Invite a teammate to your org.
GET /users/me/data-exportExport your personal data (GDPR).
DELETE /users/me/eraseErase/anonymize your personal data (GDPR).
GET /login-history/{user_id}Review sign-in history.

Looking for something not listed here? It may be admin-only or handled in the dashboard. Contact your account team.