> ## Documentation Index
> Fetch the complete documentation index at: https://developer.chatsyncs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Subscriber List

> List all subscribers on a WhatsApp bot via the ChatSyncs API, with limit/offset pagination and an option to sort by most recent message. Use when a developer asks how to export or sync their full subscriber list.

Lists subscribers on a WhatsApp bot.

## Example Request

```bash theme={null}
curl --request GET \
  --url 'https://platform.chatsyncs.com/api/v1/whatsapp/subscriber/list?apiToken=API-KEY&phone_number_id=PHONE-NUMBER-ID&limit=10&offset=1&orderBy=0'
```

## Pagination and ordering

**`offset` is a page number, starting at 1 — it is not a count of subscribers to skip.** `limit` is the
page size (up to 100). Say you have 20 subscribers and set `limit=5`:

| Call | offset | What you get back |
| - | - | - |
| 1st call | `1` (or `0`) | Subscribers 1–5 |
| 2nd call | `2` | Subscribers 6–10 |
| 3rd call | `3` | Subscribers 11–15 |
| 4th call | `4` | Subscribers 16–20 |
| 5th call | `5` | Nothing — there is no fifth page |

Each time, add **1** to the previous `offset`. The response carries `nextOffset`, the value to send next, and a page
shorter than `limit` is the last one.

**`orderBy` controls which subscriber comes first:**

| orderBy | Result |
| - | - |
| `0` (default, or omit it) | Subscribers come back in the order they were added — oldest first |
| `1` | Whoever **messaged most recently** comes first, regardless of when they were added |


## OpenAPI

````yaml GET /whatsapp/subscriber/list
openapi: 3.1.0
info:
  title: ChatSyncs Developer API
  version: 1.0.0
  description: >-
    REST API for sending WhatsApp messages and managing subscribers through
    ChatSyncs.


    **Authentication.** Send your key as the `apiToken` parameter, or as
    `Authorization: Bearer <key>` — both work on every endpoint **except Custom
    Fields List**, which only accepts the `apiToken` parameter (a Bearer header
    alone is answered with *The api token field is required.*). A wrong key
    returns HTTP 401 `{"status":"0","message":"Unauthenticated."}`; no key at
    all redirects to the login page.


    **Methods.** Every endpoint accepts both GET and POST with the same
    parameters, except Upload Media, which is POST-only. Use POST for anything
    that changes data.


    **Errors.** Failures usually come back as HTTP 200 with `"status":"0"` and
    the reason in `message`, so always check `status`. `status` is the string
    `"1"` or `"0"` on most endpoints and a boolean on a few.


    **Lists.** Endpoints that return rows put them in `message` as a list; there
    is no `data` field (Custom Fields List is the exception and uses `data`).
servers:
  - url: https://platform.chatsyncs.com/api/v1
security: []
paths:
  /whatsapp/subscriber/list:
    get:
      tags:
        - Subscriber API
      summary: Subscriber List
      description: >-
        `orderBy` must be `0` or `1`; any other value is rejected. With `0`
        contacts come back oldest-created first. Past the last page the response
        is an empty list with `nextOffset` `null`.
      operationId: listSubscribers
      parameters:
        - name: apiToken
          in: query
          required: true
          schema:
            type: string
            example: API-KEY
          description: >-
            Your ChatSyncs API key (not a WhatsApp/Meta access token). [Where to
            find it](/developer-api/finding-ids#api-token-apitoken).
        - name: phone_number_id
          in: query
          required: true
          schema:
            type: string
            example: PHONE-NUMBER-ID
          description: >-
            The WhatsApp account's phone number ID. [Where to find
            it](/developer-api/finding-ids#phone-number-id-phone_number_id).
        - name: limit
          in: query
          required: true
          schema:
            type: number
            example: 10
          description: Rows per page, up to 100.
        - name: offset
          in: query
          required: false
          schema:
            type: number
            example: 1
          description: >-
            The **page number**, starting at 1 — not a count of rows to skip.
            `0` and `1` both return the first page; `2` returns the next. The
            response's `nextOffset` is the value to send next.
        - name: orderBy
          in: query
          required: false
          schema:
            type: number
            example: 0
          description: >-
            Set to 1 to sort by most recent message first. Set to 0 (default)
            for default order.
      responses:
        '200':
          description: >-
            Standard ChatSyncs response. `status` is `"1"` on success and `"0"`
            on failure.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: '`"1"` = success, `"0"` = failure.'
                  message:
                    type: array
                    description: >-
                      The rows, as a list. There is no `data` field on this
                      endpoint.
                    items:
                      type: object
                  nextOffset:
                    type:
                      - integer
                      - 'null'
                    description: >-
                      The `offset` to send for the next page, or `null` on the
                      last page.
              examples:
                success:
                  summary: Success
                  value:
                    status: '1'
                    message:
                      - subscriber_id: 144
                        chat_id: '919876543210'
                        first_name: John
                        last_name: ''
                        email: null
                        gender: null
                        assigned_agent_id: 12
                        unseen_count: 1
                        last_message_time: '2026-10-04 05:41:57'
                        custom_fields: city:Mumbai,plan:Gold
                      - subscriber_id: 144
                        chat_id: '919876543210'
                        first_name: John
                        last_name: ''
                        email: null
                        gender: null
                        assigned_agent_id: null
                        unseen_count: 0
                        last_message_time: '2026-08-15 10:56:23'
                        custom_fields: null
                    nextOffset: 2
                error:
                  summary: A required field is missing
                  value:
                    status: '0'
                    message: >-
                      The phone number id field is required., The limit field is
                      required.
                lastPage:
                  summary: Past the last page
                  value:
                    status: '1'
                    message: []
                    nextOffset: null
                badOrderBy:
                  summary: orderBy is not 0 or 1
                  value:
                    status: '0'
                    message: The selected order by is invalid.
                badOffset:
                  summary: offset is not a whole number
                  value:
                    status: '0'
                    message: The offset must be an integer.
        '401':
          description: >-
            `apiToken` is wrong. (With no token at all the API redirects to the
            login page with HTTP 302 instead of returning JSON.)
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  message:
                    type: string
              examples:
                unauthenticated:
                  summary: Wrong apiToken
                  value:
                    status: '0'
                    message: Unauthenticated.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.