Hypermail API
We offer a Restful API to interact with the system remotely or from your own applications.
You can make API calls using either POST or GET methods, unless otherwise specified for a particular endpoint.
Webhooks are also supported. Read our Webhooks Guide.
Each API call requires the following parameters:
-
apikey – Your unique API key. Find this under Get API Key in the API section.
-
area – The section of the system to access.
Examples: email, home, clients
-
action – The specific API function you want to call.
Example API Call
https://api.hypermail.com/api.php?apikey=YOURAPIKEYHERE&area=home&action=getusers&output=xml
Example Response:
<response>
<user>
<id>1337</id>
<firstname>John</firstname>
<lastname>Doe</lastname>
<username>username</username>
<email>test@test.com</email>
<lastlogin>October 17, 2025, 03:15:17 pm</lastlogin>
<primaryuser>No</primaryuser>
</user>
</response>
Paging Support
API calls that support pagination accept the following additional parameters:
-
start – The starting index for the query.
-
limit – The maximum number of records to return (default: 10, maximum: 1000).
Note: If you do not specify a limit, the default value is 10.
Example Paging API Call:
https://api.hypermail.com/api.php?apikey=YOURAPIKEYHERE&area=email&action=getmessages&start=0&limit=5
The API response will include a <records> element, indicating the total number of records available.
Example Response:
<response>
<records>2</records>
<message>
<id>45911</id>
<title>Message 1</title>
<datecreated>August 11, 2025, 09:18:08 pm</datecreated>
<numberoftimesused>0</numberoftimesused>
<datelastused>Never</datelastused>
<locked>0</locked>
</message>
<message>
<id>45910</id>
<title>Message 2</title>
<datecreated>August 11, 2025 09:17:39 pm</datecreated>
<numberoftimesused>2</numberoftimesused>
<datelastused>October 11, 2025, 11:42:04 pm</datelastused>
<locked>0</locked>
</message>
</response>
Error Handling
If an error occurs, the API returns an error message in the following format:
<response>
<error>Error Message Appears Here</error>
</response>
Output Formats
By default, the API returns results as XML. To request a different output format, add the output parameter to your request:
output=xml (default)
output=json
output=csv
Example:
https://api.hypermail.com/api.php?apikey=YOURAPIKEYHERE&area=home&action=getusers&output=json
Rate Limiting
Most API calls are limited to 10 requests per second, unless otherwise specified.
If you exceed this limit, you will receive the following error:
<response>
<error>Rate Limited: 1 API query per second.</error>
</response>
To avoid rate limiting, please implement a delay (e.g., sleep(1)) between requests if needed.
API Call List
Home
- adduser - Allows adding a user to an account
- deleteuser - Deletes a user from the account given the userid
- edituser - Allows editing a user given their userid
- getusers - Returns a list of users in the account.
Clients
- getclients - This api returns a list of clients under the account. Also returns api key of client to allow to run API calls on their account
Email Marketing
- Lists
- addemail - Adds an email to a list, when giving the list id. Also supports custom columns if they already exist in the list just pass the column name via the request.
- createlist - Allows creating a list by passing a data containing email addresses
- deleteemailbyemail - Deletes an email address from a list given it's list id and email address
- deleteemailbyemailid - Deletes an email address from a list given it's list id and email id
- deletelist - Deletes a list by a list id
- editemail - Edits an email entry inside a list. Given either email address or email id.
- getdatafeeds - Gets a list of data feeds from the account
- getfeedbackloopconfirmationemails - Gets a list of feedback confirmation emails from the account.
- getlistdetail - Gets a list of emails from the list with all the columns.
- getlistfields - Returns a list of fields inside a list. Which can be used submitted when using the addemail function call
- getlisthardbounces - Gets a list of hard bounces from a list given the listid.
- getlists - Returns a list of email lists found in the account
- getunsubscribelist - This api returns a list of optouts from the unsubscribe list of the account.
- mergelist - Merges multiple lists together into a new list. Keeps the original list!
- unsubscribedomain - This api allows you to unsubscribe a domain by adding it to the account's unsubscribe list.
- unsubscribeemail - This api allows you to unsubscribe an email address by adding it to the account's unsubscribe list.
- uploadlistbyurl - Uploads a list to the account given a url to a list.
- uploadlistfile - Allows you to upload a list to the system either csv,txt file or a zip file containing txt or csv files.
- Messages
- addmessage - This api allows you to remotely add a message to your email marketing account.
- checkspamassassin - Returns the results of the spam assassin content check
- deleteimage - Deletes an image given an image id
- deletemessage - Delete a message by message id
- editmessage - Allows editing of a message in the system.
- getmessagedetail - This api returns the html and text content of message given the id of the message.
- getmessages - Returns a list of messages in the account
- Campaigns
- blreport - Gets list of blocked responses from a campaign that appear to be from blacklists
- campaignlog - Gets the details of a campaign from the campaign log. For each chunk update. This data builds the campaign graph.
- createcampaign - Sends an email campaign
- deletecampaign - Deletes a campaign given a campaign id
- deletereoccurringcampaign - Deletes a recurring campaign given the recurring id
- deletetrigger - Deletes a trigger given a trigger id
- editcampaign - Allows editing of a campaign
- getallclicks - Gets all the clicks from all campaigns. Returns the email, date/time, and ip address, and campaign id.
- getallopens - Gets all the opens from all campaigns. Returns the email, date/time, and ip address, and campaign id.
- getcampaigndetail - Get a detailed high level information from a campaign
- getcampaignresults - Shows each individual email delivery result from a campaign.
- getcampaigns - Returns a list of campaigns from the account.
- getcampaigntriggers - Get list of campaigns triggers in the account
- getclicklog - Returns a list of emalis,ip,date,revenue from click logs for the specified campaign.
- getconversionlog - Returns a list of emalis,ip,date,revenue from conversion logs for the specified campaign.
- getopenlog - Returns a list of emalis,ip,date,revenue from open logs for the specified campaign.
- getrecurringcampaigns - Gets a list of recurring campaigns in the account.
- pausecampaign - Pauses a campaign given a campaign id
- resumecampaign - Resumes a campaign given a campaign id
- retryerrorcampaign - Retries an errored campaign given a campaign id
- Domains and IP's
- addcustomdomain - Adds a custom domain to be used to send on behalf.
- addcustomfromaddress - Adds a custom from address given a custom domain id
- adddomain - Adds a domain to a users account. Charges $17 for a .com domain unless it is a user controlled domain
- addprofile - Adds a sending profile to the account given an IP ID and Domain ID.
- deletecustomdomain - Deletes a custom domain used for sending on behalf. Also deletes any custom from addresses that have been setup using that domain
- deletecustomfromaddress - Deletes a custom from address given the id.
- deletedomain - This deletes a domain from the account.
- deleteprofile - Deletes a sending profile given its id from the account
- getcustomdomains - Gets list of custom verified domains to send on behalf of
- getdomainblacklisthistory - Gets the domain blacklist history from the account if monitoring is enabled.
- getdomains - Returns a list of domains from the account
- getipblacklisthistory - Gets the ip blacklist history of ips. Entries are created by the monitoring system.
- getips - Returns a list of ips inside the account.
- getsenderscorehistory - Gets sender score history for ips
- getsendingprofiles - Returns a list of sending profiles from the account.
- getservers - Gets a list of servers from inside the account
- updatedomainsettings - Updates the domains forwarding email and redirection url settings
- verifycustomdomain - Runs the verification check again for the custom domain to see if the DNS records are added.
- viewzonefile - View zone file of a domain given the domain id
- Single Email Send & SMTP
- Other
- addcanspamwhoisinfo - Adds a can spam/whois information to the account returns whoisid
- addfolder - Add a folder to group lists, messages or images.
- deletewhois - Deletes a whois/CAN SPAM footer entry given a whois id
- editcanspamwhoisinfo - Edits a can spam/whois information in the account
- getaccountinfo - Returns basic account information. Such as billing period, number of emails sent, package size, total ips, total domains.
- getcanspamwhoisinfo - Gets a list of whois/can spam footer addresses from the account
- getfeedbackloopreports - Gets a list of feedback reports
- getimages - Gets a list of images from imagehosting inside the account.
- getreplies - Gets a list of email replies
- getreplyeml - Returns an EML file which can be opened in outlook given a reply id
- uploadimage - Allows uploading of an image file to be imported into image hosting
- viewreply - Views a specific reply email message.
Leads
- addfolder - Adds a folder to leads section.
- addlabel - Adds a new label to lead system for use with your leads.
- addlead - Allows adding leads to the system by passing the lead data fields.
- deletelabel - deletes a label given an id
- deletelead - Delete a lead given the lead id
- getfolders - Gets a list of lead folders
- getlabels - Gets a list of labels
- getleadslist - Gets a list of leads from the account.
- labellead - Labels a lead given the lead id and the id of the label that needs to be assigned to the lead
- markspam - Marks a lead as spam or not spam
- moveleadtofolder - Moves a lead to a folder
- viewlead - Views a complete lead with custom fields and notes given the lead id passed as the id column
Data Search
Support
List Verify
- deletelist - Deletes a list given the list id
- getaccountinfo - Gets list verify package information and total stats for all lists in the account.
- getlists - Gets a list of all list verify jobs
- getliststatus - Get list details
- pauseverify - Pause a list verify job
- resumeverify - Resumes a list verify job that was paused
- uploadlistbyfile - Allows you to upload a list to the system either csv,txt file or a zip file containing txt or csv files.
- uploadlistbyurl - Uploads a list to the account given a url to a list.
- verifylist - Verify an unverified list given the list id from the list verify section
- verifysingleemail - Allows you to verify an email address real time.
- viewlist - Gets all the list records from a verified list.
SMS/Peer2Peer
- addmobiletolist - Adds a mobile number to an existing mobile list. Also supports custom columns if they already exist in the list just pass the column name via the request.
- buynumber - Buy a phone number for the account.
- campaignverifytoken - Update the campaign verify token on the account
- deletecampaigndlc - Delete a campaign from 10 DLC
- deleteimage - Delete an image from image hosting.
- deletelist - Delete a sms list
- deletenumber - Delete a phone number by id
- findnumbers - Find phone numbers to buy
- getaccountinfo - Gets account information and stats at a glance such as total mms credits, sms credits, total replies, clicks, optouts
- getcampaigns - Get list of campaigns
- getclicklog - Get all clicks from a campaign
- getdlcinformation - Gets the DLC information such as company information, campaign message information
- getimages - Gets a list of images from imagehosting inside the account.
- getlists - Gets a list of the lists in the account.
- getreplies - Get all the replies to messages in the account
- getunsubscribelist - Gets a list of mobile numbers that have unsubscribed
- listnumbers - List phone numbers in the account
- registernumberdlc - Register a phone number for 10 DLC. (Registration takes about 3 hours or so to push though all the mobile carriers)
- sendsms - Send a single SMS/MMS message
- statusdlc - Get Status of 10 DLC
- submitcampaigndlc - Submit the information to 10 DLC for campaign registration
- unsubscribemobile - Unsubscribe a single mobile number
- updatedlc - Update 10 DLC information
- uploadimage - Upload an image to image hosting
API