How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

SendHub Message API

Send and manage messages.

SendHub Message API is one of 6 APIs that SendHub publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Message. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 5 operations across 3 paths, and defines 65 schemas. It is described by OpenAPI 3.0.3, at version v1.

Requests are made against a single base URL, https://api.sendhub.com.

5 operations 3 paths 65 schemas 1 DELETE2 GET1 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
v1
Base URL
https://api.sendhub.com
Authentication
API Key, API Key, HTTP Basic
License
Terms of Service
Resource Areas
1

Authentication & Security 3

SendHub Message API declares 3 security schemes for authenticating requests. An API key is passed in the query as username (username). An API key is passed in the query as api_key (api_key). It accepts HTTP basic authentication (basic_auth). By default, every request must be authenticated.

  • username — Your SendHub line's username (can be found in your My Settings page)
  • api_key — Your SendHub line's API key (can be found in your My Settings page)
  • basic_auth — Use your SendHub line's password or API key as the password with HTTP Basic Authentication (Your username and API key can be found in your My Settings page)

Paths & Operations 5

Across 3 paths, the API surfaces 5 operations — 1 DELETE, 2 GET, 1 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Message 5

Send and manage messages.

POST
/v1/messages
Send an SMS or MMS message
sendMessage body → 201401420429
GET
/v1/messages/{message_id}
Get Message
getMessage 1 param → 200401404420429
PUT
/v1/messages/{message_id}
Update Message
updateMessage 1 param body → 201401404420429
DELETE
/v1/messages/{message_id}
Delete Message
deleteMessage 1 param → 200401404420429
GET
/v1/messages/scheduled
List scheduled messages
listScheduledMessages → 200400401420429

Schemas 65

The contract defines 65 schemas that model the data the API accepts and returns. The most detailed are sendMessageResponse (21 properties), message (21 properties), messageNestedContact (14 properties), threadNestedGroup (9 properties). Each schema is shown below with its type and property counts.

modifiedTs
mmsOnlyFilename
object
deleted
boolean
sendMessageResponse
object
Successfully queued or scheduled the message for sending
21 properties 19 required
message
object
21 properties 20 required
updateMessageResponse
groupMediums
contactIdBoth
string
sendMessageRequestAtLeastContacts
object
4 properties 2 required
messageViaShortcode
boolean
Send the message via your account's Short Code number (requires a plan with Short Code access (learn more here)[https://sendhub.force.com/support/s/article/sho…
messageNestedGroup
object
contactName
string
The contact's name
sent
The date & time in UTC the message was sent at.
groupCheckAll
boolean
This is used internally and may be expanded upon or removed in the future
smsGateway
string
This is used internally and may be expanded upon or removed in the future
threadId
The thread ID
mms
object
contactKeyword
string
The keyword must be unique and is generated by the contact's name by default. [Learn more about how contact keywords are used here.](https://sendhub.force.com/…
errorObject
object
2 properties
messageCreatedAt
UTC timestamp of when the message was created
messageUnread
boolean
Whether or not the message is marked as unread Changing this will mark the corresponding thread as read or unread
messageContactIdsOrNumbers
array
nullableString
string
messageText
string
The text content of the message Note: Be sure you understand SMS segmenting ((learn more here)[https://sendhub.force.com/support/s/article/how-am-i-billed-for-…
idStr
string
Same as id but always a string
id
string
timestamp
string
A UTC timestamp 2021-08-01T03:48:55.350453 equals August 1st, 2021 at 3:48 and 55.350453 seconds AM (UTC)
blocked
boolean
Opt-out status (eg. if they texted Stop, Cancel, Block, Quit or End - [more info](https://sendhub.force.com/support/s/article/SendHub-Number-FAQ))
sendMessageRequest
object
sendMessageRequestBoth
object
userId
The ID of a SendHub user (an individual line)
groupPermissions
baseSendMessageRequest
object
3 properties 1 required
timestampWithoutDecimal
string
A UTC timestamp 2021-08-01T03:48:34 equals August 1st, 2021 at 3:48 and 34 seconds AM (UTC)
messageResourceUri
string
Resource URI for this message
isShared
boolean
Whether the group is shared between the lines
threadNestedGroup
object
9 properties
scheduledAt
string
The date & time in UTC to schedule the message to be sent at. Note: it must be exactly 24-characters long and in this format: 2022-04-13T15:29:40+0000
ttjResponse
string
A custom response sent when someone texts-to-join this group
groupName
string
The group's name
createdTs
messageId
The message ID
groupSlug
string
The "keyword" used to text-to-join Defaults to the group name lowercased, without any spaces and not duplicate by appending an incrementing number if needed
extraInfo
string
JSON-escaped object containing this contact's custom field(s)
direction
string
The direction of the message; outbound-api or incoming
textToSubscribe
boolean
Whether to enable text-to-join functionality for this group
groupIdInt
integer
The group ID
rateLimitingResponse
object
6 properties
messageGroupIds
array
Group ids
groupId
string
The group ID
isOwned
boolean
This is used internally and may be expanded upon or removed in the future
contactNumber
string
The contact's phone number
directionToFrom
string
The direction of the message; to or from the contact
idIsThreadId
boolean
Determines whether id is the thread ID or the message ID
contactIdInt
integer
The contact ID
contactId
The contact ID
forceShortlinkCreation
boolean
If true, creates a shortlink for this message regardless if there's an attachment.
dynamicThreadId
If idisthreadid is true, this is the threadid, otherwise it's the messageid
shortlink
string
A short link generated by SendHub when you send a message with an attachment or with forceshortlinkcreation set to true
listScheduledMessagesResponse
object
1 property
sendMessageRequestAtLeastGroups
object
4 properties 2 required
screened
boolean
Whether the contact has been blocked by you
messageType
string
The type of the message (if on the thread object, then the type of the last message in the thread)
messageNestedContact
object
14 properties
acknowledgment
string

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

sendhub-message-api-openapi.yml Raw ↑

Other APIs SendHub publishes across the network.

SendHub Authentication API
SendHub Contact API
SendHub Group API
SendHub Profile API
SendHub Thread API
Where this information came from

This is an independent, third-party profile of SendHub Message API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.