Skip to main content
GET
/
analytics
/
campaigns
List Campaigns (Analytics)
curl --request GET \
  --url https://api-ai.textyess.com/analytics/campaigns \
  --header 'x-auth-token: <api-key>'
{
  "data": [
    {
      "_id": "507f1f77bcf86cd799439011",
      "campaign": {
        "_id": "507f1f77bcf86cd799439011",
        "name": "Summer Sale",
        "createdAt": "2024-01-10T08:00:00.000Z"
      },
      "total_messages": 5000,
      "cost": 25000,
      "revenue": 125000,
      "orders_number": 120,
      "campaign_conversion_rate": 2.4,
      "average_cart": 1041.67,
      "roas": 5,
      "open_rate": 65.2,
      "campaign_type": "campaigns",
      "uniqueConversations": 4800
    }
  ],
  "pagination": {
    "total": 42,
    "perPage": 10,
    "page": 0
  }
}

Overview

The list campaigns endpoint returns a paginated list of campaigns with aggregated analytics (messages, cost, revenue, orders, conversion rate, ROAS, open rate) within an optional date range. Results can be filtered by type. Results are ordered by campaign creation date (newest first).

Authentication

This endpoint requires a valid JWT token in the x-auth-token header. You can find your token in the Developers section:
x-auth-token: your_jwt_token

Query Parameters

from
string
Start date for filtering results (ISO 8601). Defaults to 2022-01-01 if omitted.
to
string
End date for filtering results (ISO 8601). Defaults to now if omitted.
type
string
Type of assets: campaigns or outbound-automations. When outbound-automations, includes flows and outbound automations.
page
string
required
Page number (0-based). Use 0 for the first page.
perPage
string
required
Number of items per page. Must be at least 1.

Response

The response has two top-level keys: data (array of campaign analytics) and pagination. Each item in data includes:
_id
string
Campaign (or asset) ID
campaign
object
Campaign document (name, createdAt, etc.)
total_messages
number
Total messages sent for this campaign in the date range
cost
number
Total cost in cents
revenue
number
Attributed revenue
orders_number
number
Number of attributed orders
campaign_conversion_rate
number
Conversion rate (orders / messages) as a percentage
average_cart
number
Average order value (revenue / orders)
roas
number
Return on ad spend (revenue / cost)
open_rate
number
Open rate (read / delivered+read) as a percentage
campaign_type
string
Asset type: campaigns or outbound-automations
uniqueConversations
number
Number of unique conversations
Pagination object: total (total count), perPage, page.
{
  "data": [
    {
      "_id": "507f1f77bcf86cd799439011",
      "campaign": {
        "_id": "507f1f77bcf86cd799439011",
        "name": "Summer Sale",
        "createdAt": "2024-01-10T08:00:00.000Z"
      },
      "total_messages": 5000,
      "cost": 25000,
      "revenue": 125000,
      "orders_number": 120,
      "campaign_conversion_rate": 2.4,
      "average_cart": 1041.67,
      "roas": 5,
      "open_rate": 65.2,
      "campaign_type": "campaigns",
      "uniqueConversations": 4800
    }
  ],
  "pagination": {
    "total": 42,
    "perPage": 10,
    "page": 0
  }
}