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

# CRM Overview

> Get a subscriber's CRM deal via the ChatSyncs API: pipeline, stage, value, currency, expected close date, owner, lead score, source and status. Use when a developer asks how to read a contact's deal or find the pipeline_id and stage_id that Update CRM Overview needs.

Returns the CRM deal attached to a subscriber. It's the way to find the **`pipeline_id`** and **`stage_id`** that
[Update CRM Overview](/developer-api/subscriber/update-crm-overview) takes.

## Example Request

```bash theme={null}
curl -X POST 'https://platform.chatsyncs.com/api/v1/whatsapp/subscriber/crm/get' \
  -d 'apiToken=API-KEY' \
  -d 'phone_number_id=PHONE-NUMBER-ID' \
  -d 'phone_number=PHONE-NUMBER'
```

The endpoint accepts GET and POST.

## Response

Unlike most read endpoints, **`message` is an object**, not a list:

```json theme={null}
{
  "status": "1",
  "message": {
    "has_deal": true,
    "deal_id": 177,
    "pipeline_id": 376,
    "pipeline_name": "Sales Pipeline",
    "stage_id": 2252,
    "stage_name": "Qualified",
    "stage_color": "#22c55e",
    "stage_type": "open",
    "title": "Schedule Appointment",
    "value": 1250.5,
    "currency": "USD",
    "expected_close_date": "2026-12-31",
    "owner_user_id": 12,
    "owner_name": "Support Agent",
    "lead_score": "warm",
    "source": "WhatsApp",
    "status": "open"
  }
}
```

`lead_score` is `hot`, `warm` or `cold`. `owner_user_id` is a team member id, and `owner_name` is that member's name.

<Note>
  **A subscriber with no deal yet** answers with `"has_deal": false`, `deal_id`, `title`, `lead_score` and `status` all `null`,
  and the pipeline and first stage a new deal would start in (for example *Sales Pipeline*, stage *New*).
</Note>

<Warning>
  The API returns only the subscriber's **current** pipeline and stage — there is no endpoint that lists a pipeline's stages.
  To move a deal to another stage you need that stage's id from your ChatSyncs dashboard, or from reading another
  subscriber's deal that is already there.
</Warning>

An unknown subscriber is answered with `{"status":"0","message":"Subscriber not found"}`.


## OpenAPI

````yaml GET /whatsapp/subscriber/crm/get
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. 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/crm/get:
    get:
      tags:
        - Subscriber API
      summary: CRM Overview
      description: >-
        Returns the subscriber's CRM deal: pipeline and stage, value, currency,
        expected close date, owner, lead score, source and status. **`message`
        is an object**, not a list. A subscriber with no deal yet answers
        `has_deal: false` with the pipeline and first stage a new deal would
        start in. The `pipeline_id` and `stage_id` here are the values Update
        CRM Overview takes — the API returns only the subscriber's *current*
        pipeline and stage, never a list of stages. An unknown subscriber is
        `status` `"0"` with `Subscriber not found`.
      operationId: getCrmOverview
      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: phone_number
          in: query
          required: true
          schema:
            type: string
            example: PHONE-NUMBER
          description: >-
            The subscriber's phone number, with country code, digits only. For a
            contact that has no phone number, the chat ID as Subscriber List
            shows it.
      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
                  message: {}
              examples:
                success:
                  summary: Success
                  value:
                    status: '1'
                    message:
                      has_deal: true
                      deal_id: 177
                      pipeline_id: 376
                      pipeline_name: Sales Pipeline
                      stage_id: 2252
                      stage_name: Qualified
                      stage_color: '#22c55e'
                      stage_type: open
                      title: Schedule Appointment
                      value: 1250.5
                      currency: USD
                      expected_close_date: '2026-12-31'
                      owner_user_id: 12
                      owner_name: Support Agent
                      lead_score: warm
                      source: WhatsApp
                      status: open
                noDeal:
                  summary: No deal yet
                  value:
                    status: '1'
                    message:
                      has_deal: false
                      deal_id: null
                      pipeline_id: 376
                      pipeline_name: Sales Pipeline
                      stage_id: 2251
                      stage_name: New
                      stage_color: '#6b7280'
                      stage_type: open
                      title: null
                      value: 0
                      currency: USD
                      expected_close_date: null
                      owner_user_id: null
                      owner_name: null
                      lead_score: null
                      source: null
                      status: null
                notFound:
                  summary: Unknown subscriber
                  value:
                    status: '0'
                    message: Subscriber not found
                error:
                  summary: A required field is missing
                  value:
                    status: '0'
                    message: >-
                      The phone number id field is required., The phone number
                      field is required.
        '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.