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

# Reference

> The public API's OpenAPI document, and where it lives.

## The API's address

Every API request goes to your platform's **API host**:

```
https://api.<your platform's domain>/api/v1
```

For example, `https://api.firet.one/api/v1`. Requests go straight to the
FireTone service that runs the calls, with no web panel in between.

## The public API

The operations your systems build on are published as their own OpenAPI
document. It covers calls, AI calls, call records and recordings, contacts,
tickets, campaigns, voicemail, and webhooks and callbacks:

|                    |                                                                               |
| ------------------ | ----------------------------------------------------------------------------- |
| **The document**   | `https://api.<host>/api/v1/openapi-public.json`                               |
| **Endpoint pages** | the **API reference** section of these docs, generated from the same document |

* **Stable.** An operation in the public document changes only as a versioned
  change, announced in the [changelog](/api/changelog).
* **Everything else is the panel's own interface.** The panel uses more of the
  API than this, but those parts can change without notice. Build only on the
  public document.
* **Generate a client from it**, for example with `openapi-typescript`,
  `openapi-generator` or Postman's import.
* **Readable without a token.** It's documentation and carries no data.

## Trying requests

Use **Developer → Console** in your panel. It lists these operations, fills in
forms from the document, shows the equivalent `curl`, and runs calls as a dry
run unless you ask for a real one. There is no try-it page on the API host.

## It cannot drift

<Note>
  The document is generated from the one the server is built with, and tests
  fail the build if a served route is missing from it, if a published operation
  no longer exists, or if the copy in these docs differs from what the server
  publishes.
</Note>
