Skip to main content
POST
/
v1
/
messages
/
all
Paginate Message
curl --request POST \
  --url https://api.heymarket.com/v1/messages/all \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "archived": true,
  "ascending": true,
  "assigned": 123,
  "date": "<string>",
  "filter": "<string>",
  "id": 123,
  "limit": 123,
  "order": "<string>",
  "page": 123,
  "parent_id": 123
}
'
[
  {
    "author": "<string>",
    "broadcast_id": 123,
    "conversation": {
      "assigned": 123,
      "blocked": true,
      "channel": "<string>",
      "created": "<string>",
      "creator": 123,
      "email_noti": true,
      "id": 123,
      "inbox": 123,
      "last_inbound": 123,
      "local_id": "<string>",
      "members": [
        {
          "id": 123,
          "name": "<string>"
        }
      ],
      "muted": true,
      "name": "<string>",
      "noreply": "<string>",
      "op": "<string>",
      "read": 123,
      "replied": true,
      "snooze_till": "<string>",
      "status": "<string>",
      "super": 123,
      "support": true,
      "target": "<string>",
      "type": "<string>",
      "updated": "<string>"
    },
    "custom": {
      "data": [
        123
      ],
      "type": "<string>"
    },
    "date": "<string>",
    "flagged": true,
    "id": 123,
    "link_url": "<string>",
    "local_id": "<string>",
    "media": "<string>",
    "phone": "<string>",
    "status": "<string>",
    "super": 123,
    "support": true,
    "target": "<string>",
    "text": "<string>",
    "type": "<string>",
    "updated": "<string>",
    "user": 123
  }
]
Use this endpoint for team-wide message exports, sync jobs, and analytics pipelines that need to walk through message history.
Sending an empty JSON body returns the most recent messages. To continue pagination, pass the last returned message timestamp as created_at in the next request.

Authorizations

Authorization
string
header
required

Recommended authentication for new integrations. Generate a short-lived JWT from your API Secret ID and API Secret Key, then pass the signed JWT as a bearer token in the Authorization header.

API Secret credentials are available in the Heymarket app under Settings > Integrations > API. The Secret Key is shown only when it is generated, so copy and store it securely before closing the dialog.

Use the following JWT values:

{
"alg": "HS256",
"typ": "JWT"
}
{
"iss": "YOUR_API_SECRET_ID",
"iat": CURRENT_UNIX_TIMESTAMP
}

Replace CURRENT_UNIX_TIMESTAMP with the current Unix timestamp in seconds when generating the token.

Sign the JWT with HMAC-SHA256 using this signing secret:

YOUR_API_SECRET_ID||YOUR_API_SECRET_KEY

Send the signed JWT as a bearer token:

Authorization: Bearer YOUR_SIGNED_JWT

Tokens expire 5 minutes after the iat timestamp. Generate a new JWT per request, or cache it briefly for less than 5 minutes. Generate JWTs only from trusted server-side code; do not expose the API Secret Key in browser, mobile, or other client-side code.

Body

application/json

Pagination json

archived
boolean
ascending
boolean
assigned
integer
date
string
filter
string
id
integer
limit
integer
order
string
page
integer
parent_id
integer

Response

array of messages in team

author
string
broadcast_id
integer
conversation
object
custom
object
date
string
flagged
boolean
id
integer
local_id
string
media
string
phone
string
status
string
super
integer
support
boolean
target
string
text
string
type
string
updated
string
user
integer