SMSAPI integration
SMSAPI (smsapi.com) is an SMS gateway. Send SMS to one or many numbers or to a contacts group, now or scheduled, with a free test mode; send RCS messages and one-time MFA codes and verify them; manage sender names, SMS templates, short URLs, the blacklist and opt-outs; register delivery-report and inbound-message callbacks; read the account profile, points balance and prices; and manage the contacts database (contacts, groups, custom fields, group permissions). Left out: subuser account administration, the blacklist file import, wiping all contacts, all groups or the whole blacklist at once, removing a blacklisted number by its value (the same call without a number clears the whole blacklist; remove one entry by its id instead), and the bulk group-membership-by-query and multi-group assignment routes. Authentication is an OAuth token created with the needed scopes in the OAuth Tokens section of the SMSAPI.com Customer Portal, sent as a Bearer token.
Say what should happen.
The workflow builds itself.
What you can do with SMSAPI
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Callback, 8 operations
activate_callbackActivate callbackPUTRe-activates a deactivated callback so SMSAPI calls its URL again.create_callbackCreate callbackPOSTRegisters a callback URL that SMSAPI calls on events of one type (delivery report, inbound SMS/MMS, HLR, bulk, short URL click). Your endpoint must answer OK or deliveries are retried.deactivate_callbackDeactivate callbackPUTDeactivates a callback without deleting it; activate_callback turns it back on.delete_callbackDelete callbackDELETEDeletes a registered callback; SMSAPI stops calling its URL.get_callbackGet callbackGETReturns one registered callback: url, type, format version, receiver settings, and whether it is active or marked invalid.list_callbacksList callbacksGETLists the callback URLs registered on the account, with their type (delivery reports, inbound messages, HLR, short URL clicks, bulk), format version and whether each is active or invalid.test_callbackTest callbackGETSends a test request to a callback's URL and returns the outcome: test_result, connection_failed, invalid_encoding, and the HTTP status and body your endpoint answered.update_callbackUpdate callbackPUTChanges a callback's URL and, optionally, its output format version (the only two fields an update takes).
Contact group, 7 operations
create_contact_groupCreate contact groupPOSTCreates a contacts group and returns it with its id. Groups can be targeted by send_sms (group).delete_contact_groupDelete contact groupDELETEDeletes a contacts group; with delete_contacts=true the contacts assigned to it are deleted too.get_contact_groupGet contact groupGETReturns one contacts group: name, description, contact count, dates, idx and permissions.get_group_of_contactGet group of contactGETReturns one group the contact belongs to, by group id.list_contact_groupsList contact groupsGETLists contact groups with their name, description, contact count, dates and permissions.list_groups_of_contactList groups of contactGETLists the groups a contact belongs to.update_contact_groupUpdate contact groupPUTUpdates a contacts group. The vendor requires name on every update: send the current name back when only changing other fields.
Sms template, 6 operations
create_sms_templateCreate sms templatePOSTCreates an SMS template and returns it with its id.delete_sms_templateDelete sms templateDELETEDeletes an SMS template.get_sms_templateGet sms templateGETReturns one SMS template.list_available_sms_templatesList available sms templatesGETLists the SMS templates this user can use: its own and, optionally, those shared with it by the main account.list_sms_templatesList sms templatesGETLists the account's own SMS templates (id, name, text, normalize).update_sms_templateUpdate sms templatePUTUpdates an SMS template; send only what changes.
Contact, 5 operations
create_contactCreate contactPOSTCreates a contact in the contacts database and returns it with its id. The vendor spec requires both phone_number and email.delete_contactDelete contactDELETEDeletes one contact from the contacts database.get_contactGet contactGETReturns one contact with all its fields, including custom fields and dates.list_contactsList contactsGETLists contacts in the contacts database, filtered by free text (q) or by field, sorted with order_by and paged with offset and limit. Returns size (total matches) and collection.update_contactUpdate contactPUTUpdates a contact; send only the fields to change. Returns the updated contact.
Contact field, 5 operations
create_contact_fieldCreate contact fieldPOSTCreates a custom contact field of a given type (text, date, email, phone_number, number). Returns it with its id.delete_contact_fieldDelete contact fieldDELETEDeletes a custom contact field.list_available_contact_fieldsList available contact fieldsGETLists every contact field usable in filters and messages: the built-in ones and your custom ones, with their type and options.list_contact_fieldsList contact fieldsGETLists the custom contact fields defined on the account (id, name, type).update_contact_fieldUpdate contact fieldPUTRenames a custom contact field.
Group member, 5 operations
add_group_memberAdd group memberPUTAdds (pins) a contact to a group and returns the contact. assign_contact_to_group does the same and returns the contact's groups instead.assign_contact_to_groupAssign contact to groupPUTAssigns a contact to a group and returns the contact's groups. add_group_member does the same and returns the contact instead.get_group_memberGet group memberGETChecks whether a contact is in a group: returns the contact when it is a member.remove_group_memberRemove group memberDELETERemoves (unpins) a contact from a group; the contact itself is kept.unassign_contact_from_groupUnassign contact from groupDELETERemoves a contact from a group; the contact itself is kept.
Group permission, 5 operations
create_group_permissionCreate group permissionPOSTGrants a user (main account or subuser) read, write and/or send permission on a contacts group.delete_group_permissionDelete group permissionDELETERemoves a user's permissions on a contacts group.get_group_permissionGet group permissionGETReturns one user's read, write and send permissions on a contacts group.list_group_permissionsList group permissionsGETLists which users (main account or subusers) can read, write or send to a contacts group.update_group_permissionUpdate group permissionPUTChanges one user's read, write and send permissions on a contacts group; send only the flags to change.
Sendername, 5 operations
create_sendernameCreate sendernamePOSTAdds a sender name (needs activation by SMSAPI Customer Service first). Only verified names are accepted by send_sms; check its status with get_sendername.delete_sendernameDelete sendernameDELETEDeletes a sender name from the account.get_sendernameGet sendernameGETReturns one sender name with its status (ACTIVE, INACTIVE, UNKNOWN) and whether it is the default.list_sendernamesList sendernamesGETLists the account's sender names with status (ACTIVE, INACTIVE, UNKNOWN), whether each is the default, and creation date.set_default_sendernameSet default sendernamePOSTMakes an active sender name the account default, used when send_sms gets no from.
Short url, 5 operations
create_short_urlCreate short urlPOSTCreates a short URL for a target link, optionally named, described and expiring. Returns it with short_url and its id.delete_short_urlDelete short urlDELETEDeletes a short URL; the short link stops redirecting.get_short_urlGet short urlGETReturns one short URL with its target, short link, expiry and click counts.list_short_urlsList short urlsGETLists the account's short URLs with their target, short link, expiry and click counts (hits, hits_unique).update_short_urlUpdate short urlPUTUpdates a short URL's target, name or description; send only what changes.
Blacklist entry, 3 operations
add_to_blacklistAdd to blacklistPOSTAdds a phone number to the blacklist so no SMS is sent to it from this account, optionally until an expiry date. Returns the entry with its id.delete_blacklist_entryDelete blacklist entryDELETERemoves one blacklist entry by its id (find it with list_blacklist), so SMS can reach that number again.list_blacklistList blacklistGETLists blacklisted phone numbers (numbers SMS from this account are blocked to), with id, number, creation date and expiry (null never expires). Paged with offset and limit.
Contacts trash, 2 operations
empty_contacts_trashEmpty contacts trashDELETEEmpties the contacts trash (the vendor's Clean trash). Call restore_contacts_trash first if any trashed contact should be kept.restore_contacts_trashRestore contacts trashPUTRestores the contacts in the contacts trash (the vendor's Restore trash).
Mfa code, 2 operations
send_mfa_codeSend mfa codePOSTSends a one-time authorization code by SMS (billed) and returns its id and the code. A code is valid for 180 seconds; check what the user typed with verify_mfa_code.verify_mfa_codeVerify mfa codePOSTChecks a code the user typed against the one sent by send_mfa_code: succeeds with no content when valid; fails with 404 for a wrong code and 408 for an expired one (after 180 s).
Opt out, 2 operations
delete_opt_outDelete opt outDELETEDeletes an opt-out entry, so that number can receive messages again.list_opt_outsList opt outsGETLists opt-outs: numbers that used an opt-out link ([%opt_out_link%] in send_sms) and are excluded from future campaigns. Optionally for one phone number, paged with offset and limit.
Opt out settings, 2 operations
get_opt_out_settingsGet opt out settingsGETReturns the opt-out settings (brand).update_opt_out_settingsUpdate opt out settingsPUTUpdates the opt-out settings: the brand (at most 255 characters).
Contact field option, 1 operation
list_contact_field_optionsList contact field optionsGETLists the options of a custom contact field.
Country volume, 1 operation
list_country_volumesList country volumesGETLists the used shipment volume per country (the vendor's shipment country volumes), optionally for one year and month.
Price, 1 operation
list_pricesList pricesGETLists the account's prices per country and network, optionally for one message type.
Profile, 1 operation
get_profileGet profileGETReturns the account profile: name, email, username, phone number, payment type, user type (native or subuser) and points (the available balance).
Rcs message, 1 operation
send_rcs_messageSend rcs messagePOSTSends one RCS message to a phone number from an RCS sender; give text (plain, converted to RCS) or content (RCS JSON). Returns the message id.
Rcs sender, 1 operation
list_rcs_sendersList rcs sendersGETLists the RCS senders (agents) this account may send from, with the id send_rcs_message takes.
Sendername statement, 1 operation
get_sendername_statementGet sendername statementGETReturns the statement text a user accepts when registering a new sender name (content, and sections when extended statements are enabled).
Sms, 1 operation
send_smsSend smsPOSTSends an SMS (billed per part) to numbers (to) or a contacts group (group), now or at date. Use test=1 to validate without sending or charge. Returns count, points used and per-number id and status.
Token, 1 operation
pingPingGETChecks the token: authorized is true when it is valid; unavailable lists sub-services that are currently down.
Use SMSAPI from Claude Code, Cursor or Codex
Connect SMSAPI in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its SMSAPI operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect SMSAPI
- Create your workspace
Sign up free. Nothing to install.
- Connect SMSAPI once
Add your SMSAPI connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
SMSAPI integration FAQ
What can you do with the SMSAPI integration?
LiveContext exposes 71 operations on SMSAPI, covering callback, contact group, sms template and contact.
