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

# Overview

> The RingQ API gives you programmatic control over your PBX — make and manage calls, monitor agents, handle recordings, and manage queue presence. All 17 endpoints use POST over REST.

## Base URL

```text theme={null}
http://<ringq-fqdn>:8443
```

Replace `<ringq-fqdn>` with your PBX host or IP address (e.g. `192.168.1.10` or `station.ind1.ringq.ai`).

## Authentication

Every request requires three values configured in your RingQ admin panel.

| Header         | Description                |
| -------------- | -------------------------- |
| `X-API-Key`    | Your RingQ API key         |
| `X-Secret-Key` | Your RingQ secret key      |
| `Content-Type` | Must be `application/json` |

<Note>
  You can find your API Key and Secret Key in the RingQ Admin Panel under Settings → API.
</Note>

## Request Format

All endpoints accept a JSON body. Every request must include an `action` field matching the endpoint function name.

```bash theme={null}
curl -X POST "http://<ringq-fqdn>:8443/api/values/<endpoint>" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <API_KEY>" \
  -H "X-Secret-Key: <SECRET_KEY>" \
  -d '{ "action": "<functionName>", ... }'
```

## Endpoints

<CardGroup cols={2}>
  <Card title="Call Control" icon="phone" href="/api-reference/call-control">
    Make, divert, transfer, drop, and pick up calls. 6 endpoints.
  </Card>

  <Card title="Monitoring" icon="headset" href="/api-reference/monitoring">
    Listen, whisper, barge in, and join active calls. 4 endpoints.
  </Card>

  <Card title="Recording" icon="circle-dot" href="/api-reference/recording">
    Start and stop recording, list recordings, get download links. 4 endpoints.
  </Card>

  <Card title="Voicemail & Queue" icon="voicemail" href="/api-reference/voicemail-queue">
    Delete voicemails and manage agent queue presence. 3 endpoints.
  </Card>
</CardGroup>

## Common Errors

These errors can be returned by any endpoint.

| Status | Message                                                                | Reason                                  |
| ------ | ---------------------------------------------------------------------- | --------------------------------------- |
| `400`  | `Agent 102 does not participate in call or call is in incorrect state` | The given extension has no active calls |
| `400`  | `Currently no active calls in the pbx system`                          | No active calls in RingQ right now      |
| `400`  | `Check extension 101 - not registered or has active calls`             | Extension is unregistered or busy       |
| `400`  | `Pickup Extension 1001 is not a valid RingQ Extension`                 | Pickup extension does not exist         |
| `400`  | `Agent Extension 1002 is not a valid RingQ Extension`                  | Agent extension does not exist          |
| `400`  | `Pickup extension is mandatory, can't be null or empty`                | Missing `pickupextension` field         |
| `400`  | `Agent extension is mandatory, can't be null or empty`                 | Missing `agentextension` field          |
| `401`  | `Unauthorized, does not have permission for Pickup Call`               | Feature not enabled in your RingQ plan  |

```text theme={null}
http://<ringq-fqdn>:8443
```
