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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.famulor.io/feedback

```json
{
  "path": "/en/api-reference/whatsapp/get-senders",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Get WhatsApp Senders

> List WhatsApp Business senders configured in your Famulor account

Retrieve all WhatsApp Business senders (phone numbers) configured in your Famulor account. Use this endpoint to obtain `sender_id` values needed for sending WhatsApp messages via the Famulor API.

### Query Parameters

<ParamField query="status" type="string" optional>
  Filter senders by status. Default: `online`. Use `all` to return all senders regardless of status.
</ParamField>

### Response Fields

<ResponseField name="data" type="array">
  <Expandable title="Sender object properties">
    <ResponseField name="id" type="integer">
      The unique identifier of the WhatsApp sender. Use this ID when sending messages.
    </ResponseField>

    <ResponseField name="phone_number" type="string">
      The sender's phone number in E.164 format (e.g., `+14155551234`)
    </ResponseField>

    <ResponseField name="display_name" type="string">
      The WhatsApp Business display name (business name shown to recipients)
    </ResponseField>

    <ResponseField name="status" type="string">
      The sender's current status: `online` or `offline`
    </ResponseField>

    <ResponseField name="quality_rating" type="string">
      Meta's quality rating for this sender: `GREEN`, `YELLOW`, or `RED`
    </ResponseField>

    <ResponseField name="messaging_limit" type="integer">
      The current messaging limit (number of unique recipients per 24 hours). `null` means unlimited.
    </ResponseField>

    <ResponseField name="messaging_limit_formatted" type="string">
      Human-readable messaging limit (e.g., `1,000 / 24hr`, `10,000 / 24hr`, or `Unlimited`)
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null} theme={null}
  curl -X GET "https://app.famulor.de/api/user/whatsapp/senders" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```bash Filter all senders theme={null} theme={null}
  curl -X GET "https://app.famulor.de/api/user/whatsapp/senders?status=all" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null} theme={null}
  const response = await fetch(
    'https://app.famulor.de/api/user/whatsapp/senders',
    {
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY'
      }
    }
  );

  const data = await response.json();
  console.log(data.data); // Array of senders
  ```

  ```python Python theme={null} theme={null}
  import requests

  response = requests.get(
      'https://app.famulor.de/api/user/whatsapp/senders',
      headers={'Authorization': 'Bearer YOUR_API_KEY'}
  )

  senders = response.json()['data']
  for sender in senders:
      print(f"{sender['display_name']}: {sender['phone_number']}")
  ```
</RequestExample>

<ResponseExample>
  ```json 200 Response theme={null} theme={null}
  {
    "data": [
      {
        "id": 12,
        "phone_number": "+14155551234",
        "display_name": "Acme Corp Support",
        "status": "online",
        "quality_rating": "GREEN",
        "messaging_limit": 10000,
        "messaging_limit_formatted": "10,000 / 24hr"
      },
      {
        "id": 15,
        "phone_number": "+442071234567",
        "display_name": "Acme Corp Sales",
        "status": "online",
        "quality_rating": "GREEN",
        "messaging_limit": null,
        "messaging_limit_formatted": "Unlimited"
      }
    ]
  }
  ```

  ```json 200 Empty Response theme={null} theme={null}
  {
    "data": []
  }
  ```
</ResponseExample>

### Notes

* Only senders with status `online` are returned by default. Use `?status=all` to include offline senders.
* Sender status is synced with Meta every 5 minutes automatically.
* The `id` field is what you need to pass as `sender_id` when sending messages.
* Quality rating affects your messaging limits. A `RED` rating may restrict your ability to send messages.

<Tip>
  Related pages: [Introduction](/en/api-reference/introduction) and [Authentication Guide](/en/developers/authentication-guide), and [API Integration Examples](/en/developers/api-integration-examples).
</Tip>
