1MSG
ReferenceCampaigns API

Recipient analytics

GET
/api/v1/campaigns/{campaignId}/analytics/recipients

One row per recipient. filter is a comma-separated list of sent, delivered, read, replied, failed, skipped, or cancelled. filter=clicked is rejected; use filter=replied with replyType=button. fields limits the columns. conversationId is the Inbox dialog. providerConversationId is the provider chat id. messageId and providerMessageId are the provider message id. limit max 100. cursor is nextCursor.

Authorization

bearer
headerAuthorizationBearer <token>

Key issued in Settings → Developer → API key. Inbox methods need the Inbox scope. Campaigns methods need the Campaigns scope.

Path Parameters

campaignId*string

Campaign id returned by create or list.

Query Parameters

filter?string

Comma-separated: sent, delivered, read, replied, failed, skipped, cancelled. filter=clicked is rejected — use replied with replyType=button.

replied?string

true keeps only people who replied. false keeps people who did not.

Value in"true""false"
replyType?string

button keeps button taps. text keeps free-text replies.

Value in"button""text"
buttonId?string

One template button id. Use with replyType=button.

reason?string

Exact skip or fail reason from the errors feed.

fields?string

Comma-separated columns to return. Include providerConversationId and providerMessageId when you need the provider ids. conversationId is the Inbox dialog id. messageId is the provider message id.

limit?number

Page size, from 1 to 100. Default 50.

cursor?string

nextCursor from the previous page. Leave empty for the first page.

Response Body

application/json
  1. response
items*array<>

Recipients on this page. When the fields query is set, each item contains only the named keys.

nextCursor*|

Cursor for the next page, or null on the last page.

curl -X GET 'https://api.1msg.io/api/v1/campaigns/string/analytics/recipients'
{  "items": [    {      "phone": "+15551234567",      "bsuid": "ab.abc123xyz",      "name": "Ana",      "conversationId": "cm3dialog01",      "providerConversationId": "[email protected]",      "messageId": "wamid.HBgM",      "providerMessageId": "wamid.HBgM",      "status": "queued",      "sentAt": "2026-11-01T09:00:00.000Z",      "deliveredAt": "2026-11-01T09:00:00.000Z",      "readAt": "2026-11-01T09:00:00.000Z",      "replies": [        {          "type": "button",          "buttonId": "shop",          "text": "string",          "receivedAt": "2026-11-01T09:00:00.000Z",          "messageId": "wamid.HBgM",          "providerMessageId": "wamid.HBgM"        }      ],      "error": {        "code": "string",        "title": "string",        "failedAt": "2026-11-01T09:00:00.000Z"      }    }  ],  "nextCursor": null}