1. Get Started
Chronox AI API Referance
  • Get Started
    • Introduction
    • Authentication
    • Rate limiting
    • Errors
    • Pagination
    • Campaign
  • Account
    • Get User Details
      GET
    • Get Meta Integration
      GET
    • Get Integrated Channels
      GET
    • Get WABA Catalogs
      GET
  • WhatsApp Templates
    • Getting started
    • Templates
      • Create Whatsapp Template Guide
      • Get Whatsapp Templates
      • Get Whatsapp Template Details
      • Create Whatsapp Template
    • Lookups
      • Get Whatsapp Template Category
      • Get Whatsapp Languages
      • Get Whatsapp Template Type
      • Get Whatsapp Template Interactive Type
      • Get Whatsapp Template Header Type
      • Get Whatsapp Template Button Type
      • Get Whatsapp Template Dynamic Variable Type
  • Messaging
    • Getting started
    • Send Whatsapp Message
      POST
    • Send Whatsapp Template
      POST
    • Send Canned Response
      POST
  • Inbox
    • Get Inbox Data
      GET
    • Get Thread Details
      GET
    • Update Thread Archive
      PUT
    • Assign Thread Tags
      PUT
    • Assign Thread Status
      PUT
    • Update Thread Notes
      PUT
    • Get Canned Responses
      GET
    • Get Tags
      GET
    • Get Thread Status Types
      GET
  • Contact List
    • Getting started
    • Get Contact List
    • Create Contact List
    • Update Contact List
    • Update Contact List Status
    • Delete Contact List
  • Contacts
    • Getting started
    • Get Contacts
    • Create Contacts
    • Update Contact
    • Delete Contact
    • Delete Contact Copy
  • Tags and fields
    • Contact Tags
      • Get contact tags
      • Create contact tags
      • Update contact tag
      • Delete contact tag
    • Contact Fields
      • Get contact fields
      • Create contact fields
      • Update contact field
      • Delete contact field
  • Campaign
    • Getting Started
    • Campaign APIs
      • Create campaign
      • Get campaign
      • Update campaign
      • Delete campaign
      • Run campaign
      • Pause campaign
      • Resume campaign
      • Archive campaign
      • Get campaign Stats
    • Lookup
      • Get Statuses
      • Get campaign execution statuses
      • Get campaign contact filter types
      • Get campaign message types
      • Get contact field types
      • Get template variable types
      • Get country codes
  • Whatsapp Flow
    • Get Whatsapp flows
  • Tickets
    • Getting started
    • Get Tickets
    • Create Ticket
    • Update Ticket
    • Get Ticket Statuses
    • Get Agents
  • Organization Teams
    • Get Organization Teams
  • Template Library
    • Get Template Library
    • Get Template Drafts
  • CRM
    • Import leads (single or bulk)
    • List leads
    • Get lead detail
  • Schemas
    • Thread Execution Data
    • LeadImportField
    • LeadImportContact
    • Single lead
    • LeadImportBulkLead
    • Bulk (leads[])
    • LeadImportWarning
    • Single result
    • Bulk result
    • ApiError
    • ErrorEnvelope
    • Lead detail
    • Lead list row
    • Lead list
  1. Get Started

Pagination

Some endpoints can return a lot of results, such as hundreds of conversations or thousands of messages. Instead of sending everything at once, these endpoints return results in smaller groups called pages. You ask for one page at a time and keep asking until you have everything you need.

Which endpoints use pages#

EndpointUses pages?How
Get Inbox DataYesstart_from and limit
Get Thread DetailsYesoffset and limit
Get Whatsapp TemplatesNoReturns all your templates in one response
All other endpointsNoReturn a single item or a short list
WARNING
Get Inbox Data and Get Thread Details work slightly differently. Read the section for the endpoint you're using. In particular, start_from counts from 1, while offset counts from 0.

Get Inbox Data#

Get Inbox Data returns your conversations, with the most recently active first.

Settings#

You add these to the end of the web address, after a ?:
SettingRequired?What it does
start_fromYesThe position of the first conversation you want. The first conversation is 1.
limitYesHow many conversations to return, from 1 to 200.
last_activity_afterYesOnly include conversations with activity after this date and time, for example 2020-01-01T00:00:00Z. To get all conversations, use a date from before you started using Chronox.
flag_activeNoSet to true to include only active conversations: those currently assigned to a team member, or with recent activity that haven't been archived.
NOTE
If you ask for more than 200, you'll get 200. If you set start_from or limit below 1, the API uses 1 instead.

Example#

This request asks for the first 50 conversations:
The conversations are in data, and stats tells you where you are:
{
  "status": true,
  "data": [
    { "…": "one conversation" }
  ],
  "stats": {
    "total_records": 132,
    "start_from": 1,
    "limit": 50
  }
}
FieldWhat it means
stats.total_recordsThe total number of conversations that match your settings, across all pages.
stats.start_fromThe position this page started at.
stats.limitThe page size that was used.

Getting the next page#

Add limit to start_from to get the next page. With a limit of 50:
Pagestart_fromConversations
111–50
25151–100
3101101–150
You've reached the last page when start_from + limit is more than total_records, or when data is empty.

If something's missing#

If start_from, limit or last_activity_after is missing or invalid, the request fails with one of these messages:
Missing required fields: start_from, limit, and last_activity_after are required
Invalid start_from or limit values
Invalid last_activity_after date format

Get Thread Details#

Get Thread Details returns the messages in one conversation, with the newest first.

Settings#

SettingRequired?What it does
offsetNoHow many messages to skip. The first message is at 0. Defaults to 0.
limitNoHow many messages to return. Defaults to 50.
TIP
There's no maximum limit, but very large pages are slow. Keep to 50–100 messages per page.

Example#

This request asks for the 50 newest messages in a conversation:
The messages are in data.thread_execution_data, and data.pagination tells you where you are:
{
  "status": true,
  "data": {
    "thread_execution_data": [
      { "…": "one message" }
    ],
    "pagination": {
      "offset": 0,
      "limit": 50,
      "total_records": 318
    }
  }
}
The real response contains more fields about the conversation than shown here.

Getting the next page#

Add limit to offset to get the next page. With a limit of 50:
PageoffsetMessages
101–50 (newest)
25051–100
3100101–150
You've reached the last page when offset + limit is equal to or more than total_records, or when thread_execution_data is empty.

If something's wrong#

If limit is 0 or less, or offset is below 0, the API responds with HTTP status 400 and one of these messages:
Limit must be greater than 0
Offset must be greater than or equal to 0

When results change while you're reading them#

Both endpoints sort results by time, so new activity can move results between pages while you're reading them:
In Get Inbox Data, a conversation that gets a new message moves to the top. As you go through the pages, you may see a conversation twice or miss one.
In Get Thread Details, a new message pushes older messages one place further back. The first message of your next page may be one you've already seen.
If you need a complete, exact list, check for duplicates by ID as you go, and start again from the first page if you think something was missed.

What this page doesn't cover#

Filtering. Get Inbox Data has more filters, such as by channel or assigned team member. See the Get Inbox Data endpoint page.
Rate limits. Reading many pages quickly counts towards your limit. See Rate limiting.
Modified at 2026-09-17 05:27:00
Previous
Errors
Next
Get User Details
Built with