Pingtower Docs
Docs Getting started Credentials

Credentials

Three kinds of bearer token, each with a prefix that makes it impossible to hand one where another belongs.

TokenPrefixGrantsGet one from
Sessionpts_The account plane: list and create tenants, manage members and keys.POST /v1/login, or signing in from the app
Tenant API keyptk_<tenant>_One tenant’s data plane: pull, ack, resolve, projects, sources, rules, integrations, actions, log tail.POST /v1/tenants/{tid}/keys, or Account → API keys in the app
Ingest source tokenpti_<tenant>_POST /v1/ingest only. Cannot read anything back.Creating a source

The <tenant> segment is a routing hint that picks which database to open. The secret is still verified by a constant-time compare inside that database, so a forged tenant segment opens the wrong file and fails.

Put the narrowest token where it runsYour application servers only ever need a pti_ token. A leaked ingest token can spam you with lines. A leaked API key can rotate every source, delete every rule, and read every log line you retain.

Shown once

The account password, every ptk_ key and every pti_ token are shown exactly once, at creation. There is no route that reads a secret back, only rotation. Capture each one into your secret store as it appears.

Rotation

Source tokens rotate in place: POST /v1/projects/{id}/sources/{name}/rotate-token returns a new token and invalidates the old one immediately. API keys do not rotate; mint a new one, deploy it, then revoke the old one with DELETE /v1/tenants/{tid}/keys/{kid} or from Account → API keys. Every mint and revoke is written to the audit log.

Which token for which call

You want toUse
Send a log line or an addon measurementpti_
Read alerts, ack, resolve, edit rules, integrations, actionsptk_
Create a tenant, invite a teammate, mint or revoke a keypts_
Change your own email or passwordpts_
Last updated 1 Sep 2026 Report a problem with this page