# Reference

Source: https://www.pingtower.com/docs/reference/

Every endpoint, generated from the server's own route table and gated against drift.

The [API reference](/docs/reference/api/) lists every route on the ingest and API-key planes with parameters, schemas and examples, rendered from the same OpenAPI document the server is checked against. The document itself is at [/api/openapi.json](/api/openapi.json), and the reference as Markdown at [/docs/reference/api/index.md](/docs/reference/api/index.md) for agents.

## The three planes

| Plane | Token | Base |
| --- | --- | --- |
| Ingest | `pti_` | `POST /v1/ingest` |
| Data | `ptk_` | `/v1/pull`, `/v1/alerts/…`, `/v1/projects/…` |
| Account | `pts_` | `/v1/me`, `/v1/tenants/…`, `/v1/account/…` |

Hosted base URL: `https://api.pingtower.com`. Self-hosted: whatever you put in front of the daemon.

## Conventions

- JSON in, JSON out. Send `Content-Type: application/json`.
- Names are identities. Projects, sources, rules and schedules are addressed by name in the path; alerts, actions, integrations, reports and keys by id.
- Writes that would leave a dangling reference are refused, never cascaded silently. See [Errors](/docs/reference/errors/).
- Secrets are shown once at creation and never read back.


## In this section

- [API reference](https://www.pingtower.com/docs/reference/api/index.md): Every endpoint on Pingtower's ingest and API-key data planes, generated from the daemon's own route table.
- [Errors](https://www.pingtower.com/docs/reference/errors/index.md): Every non-2xx response is a JSON object with an error string. Some carry more.
- [Rate limits](https://www.pingtower.com/docs/reference/limits/index.md): Per-plan rates on the ingest and data planes, and fixed limits on the routes that take a password.


