Unisender
MARKETING · MARKETING
Contact lists, contacts, and email and SMS campaigns in the account they connected.
Acts as the person, not as itself
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Credentials never touch the agent
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Every call on the record
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
unisender_async_export_contactsREADExport contacts (async) via POST /{lang}/api/async/exportContacts. Start a contact export and return a task_uuid; poll async/getTaskResult for the download link. Filters narrow the export to one list, contact or status. Rate limit 20 requests/60s per API key or IP.
unisender_async_get_campaign_delivery_statsREADGet per-address delivery report (async) via POST /{lang}/api/async/getCampaignDeliveryStats. Start a per-address delivery report for one campaign and return a task_uuid; poll async/getTaskResult for the download link.
unisender_async_get_task_resultREADGet async task result via POST /{lang}/api/async/getTaskResult. Status of an asynchronous task, and its download link once finished. Universal: it serves async/exportContacts and async/getCampaignDeliveryStats alike, and names which method the task belongs to.
unisender_cancel_campaignWRITECancel campaign via POST /{lang}/api/cancelCampaign. Cancel a scheduled campaign that has not been sent yet.
unisender_check_emailREADCheck email delivery status via POST /{lang}/api/checkEmail. Delivery status of one or more messages sent by sendEmail. Rate limit 300 requests/60s per API key or IP.
unisender_check_smsREADCheck SMS delivery status via POST /{lang}/api/checkSms. Delivery status of a message sent by sendSms.
unisender_create_campaignWRITECreate campaign via POST /{lang}/api/createCampaign. Schedule or start a campaign for a message created earlier. SENDS REAL MAIL: with no start_time the send begins immediately. Rate limit 100 requests/60s per API key or IP.
unisender_create_email_messageWRITECreate email message via POST /{lang}/api/createEmailMessage. Create an email message for a later campaign and return its message id. File attachments are not offered: Unisender takes them as raw binary content and forbids base64, which no JSON argument can carry.
unisender_create_email_templateWRITECreate email template via POST /{lang}/api/createEmailTemplate. Create a reusable email template and return its id.
unisender_create_fieldWRITECreate contact field via POST /{lang}/api/createField. Create an additional contact field and return its id.
unisender_create_listWRITECreate contact list via POST /{lang}/api/createList. Create a new contact list and return its id.
unisender_create_sms_messageWRITECreate SMS message via POST /{lang}/api/createSmsMessage. Create an SMS message for a later campaign and return its message id.
unisender_create_subscriber_noteWRITECreate contact note via POST /{lang}/api/createSubscriberNote. Attach a note to a contact.
unisender_delete_fieldWRITEDelete contact field via POST /{lang}/api/deleteField. Delete an additional contact field and every value stored in it.
unisender_delete_listWRITEDelete contact list via POST /{lang}/api/deleteList. Delete a contact list. The contacts themselves stay in the account.
unisender_delete_messageWRITEDelete message via POST /{lang}/api/deleteMessage. Delete a message created by createEmailMessage or createSmsMessage.
unisender_delete_subscriber_noteWRITEDelete contact note via POST /{lang}/api/deleteSubscriberNote. Delete a contact note.
unisender_delete_tagWRITEDelete tag via POST /{lang}/api/deleteTag. Delete a tag and remove it from every contact carrying it.
unisender_delete_templateWRITEDelete template via POST /{lang}/api/deleteTemplate. Delete an email template.
unisender_excludeWRITEExclude a contact via POST /{lang}/api/exclude. Exclude a contact from the named lists, or from every list when none are named.
unisender_get_actual_message_versionREADGet current message version via POST /{lang}/api/getActualMessageVersion. Id of the current version of a message that has been edited.
unisender_get_campaign_common_statsREADGet campaign summary statistics via POST /{lang}/api/getCampaignCommonStats. Aggregate delivery, open, click and unsubscribe counts for one campaign.
unisender_get_campaign_statusREADGet campaign status via POST /{lang}/api/getCampaignStatus. Current status of one campaign.
unisender_get_campaignsREADGet campaigns via POST /{lang}/api/getCampaigns. List campaigns started within a time window.
unisender_get_contactREADGet a contact via POST /{lang}/api/getContact. Read one contact by email address, optionally with its lists, fields and details.
unisender_get_contact_countREADCount contacts in a list via POST /{lang}/api/getContactCount. Count the contacts in one list that match a search. At least one search parameter is required. Rate limit 60 requests/60s per API key or IP.
unisender_get_contact_field_valuesREADGet a contact's field values via POST /{lang}/api/getContactFieldValues. Read the values one contact holds in the named additional fields.
unisender_get_fieldsREADGet contact fields via POST /{lang}/api/getFields. List the account's additional contact fields with their ids, names and types.
unisender_get_listsREADGet contact lists via POST /{lang}/api/getLists. List every contact list in the account, with each list's id and title.
unisender_get_messageREADGet message via POST /{lang}/api/getMessage. Read one message by id, as returned by createEmailMessage or createSmsMessage.
unisender_get_messagesREADGet messages via POST /{lang}/api/getMessages. List messages created within a time window, with their bodies.
unisender_get_sender_domain_listREADGet sender domains via POST /{lang}/api/getSenderDomainList. Sender domains registered on the account, with their DKIM and verification state.
unisender_get_subscriber_noteREADGet contact note via GET /{lang}/api/getSubscriberNote. Read one contact note. GET only: this method answers 405 to a POST.
unisender_get_subscriber_notesREADGet a contact's notes via GET /{lang}/api/getSubscriberNotes. List one contact's notes, paged and sorted. GET only: this method answers 405 to a POST.
unisender_get_tagsREADGet tags via POST /{lang}/api/getTags. List every tag in the account with its id.
unisender_get_templateREADGet template via POST /{lang}/api/getTemplate. Read one template, user or system, with its body.
unisender_get_templatesREADGet templates via POST /{lang}/api/getTemplates. List templates with their bodies, filtered by type and creation window.
unisender_get_total_contacts_countREADCount all contacts via POST /{lang}/api/getTotalContactsCount. Total number of contacts in the account. Returns {"total": n}.
unisender_get_visited_linksREADGet link clicks via POST /{lang}/api/getVisitedLinks. Link clicks recorded for one campaign.
unisender_get_web_versionREADGet campaign web version via POST /{lang}/api/getWebVersion. The public web-page version of a sent campaign.
unisender_import_contactsWRITEImport contacts via POST /{lang}/api/importContacts. Bulk add or update contacts: field_names names the columns and data carries one row per contact in that order. A column named 'delete' holding 1 DELETES that contact.
unisender_is_contact_in_listsREADCheck list membership via POST /{lang}/api/isContactInLists. Whether a contact is in the given lists, under an 'or' or 'and' condition.
unisender_list_messagesREADList messages via POST /{lang}/api/listMessages. List messages created within a time window, without their bodies.
unisender_list_templatesREADList templates via POST /{lang}/api/listTemplates. List templates without their bodies, filtered by type and creation window.
unisender_send_emailWRITESend a single email via POST /{lang}/api/sendEmail. Send one transactional email immediately and return its email_id. SENDS REAL MAIL. User substitution fields are barely supported here, by design. File attachments are not offered: Unisender takes them as raw binary content and forbids base64, which no JSON argument can carry. Rate limit 60 requests/60s per API key or IP.
unisender_send_smsWRITESend an SMS via POST /{lang}/api/sendSms. Send one SMS immediately and return its sms_id. SENDS A REAL MESSAGE. Rate limit 300 requests/60s per API key or IP.
unisender_send_test_emailWRITESend a test email via POST /{lang}/api/sendTestEmail. Send a test copy of an existing message. SENDS REAL MAIL to the addresses given.
unisender_subscribeWRITESubscribe a contact via POST /{lang}/api/subscribe. Add one contact to one or more lists, setting its fields and tags. By default a confirmation email is sent; double_optin=3 adds the contact outright. Returns person_id. Rate limit 300 requests/60s per API key or IP.
unisender_unsubscribeWRITEUnsubscribe a contact via POST /{lang}/api/unsubscribe. Mark a contact unsubscribed from the named lists, or from every list it is in when none are named. The contact's account-level status is unchanged.
unisender_update_email_messageWRITEUpdate email message via POST /{lang}/api/updateEmailMessage. Edit an email message created earlier by createEmailMessage.
unisender_update_email_templateWRITEUpdate email template via POST /{lang}/api/updateEmailTemplate. Edit an existing email template.
unisender_update_fieldWRITEUpdate contact field via POST /{lang}/api/updateField. Rename an additional contact field.
unisender_update_listWRITEUpdate contact list via POST /{lang}/api/updateList. Change a contact list's title or its before/after subscribe redirects.
unisender_update_opt_in_emailWRITEUpdate opt-in confirmation email via POST /{lang}/api/updateOptInEmail. Replace the subscription-confirmation email sent for one list. The body MUST contain at least one link carrying the confirmation href.
unisender_update_subscriber_noteWRITEUpdate contact note via POST /{lang}/api/updateSubscriberNote. Replace the text of an existing contact note.
Often connected alongside
Put Unisender behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.