Create a tracing key for a monitor
Mints a tracing key: an ingest-scoped key bound to this monitor. It can send pings, traces, metrics and logs for this one monitor and nothing else; every REST route refuses it. The plaintext key is returned exactly once, in this response. Store it in a git-ignored file or a helper script, never in committed code.
A write key may call this, unlike POST /api/v1/api-keys, because the only thing it can mint is strictly weaker than the caller: the scope is always ingest, check_id is always this monitor, and the body accepts only name and expires_at. A read key and an ingest key are refused with 403. A monitor of another project is 404, the same as a missing one.
The caps of POST /api/v1/api-keys apply unchanged: under a calling key that expires, the new key cannot outlive it (a later expires_at is 400 with max_expires_at; an omitted one inherits the caller's expiry), and revoking the calling key revokes this one. A session caller (the console) sends the CSRF header like every other write.
Request
- Base URL: https://app.lastping.dev
- URL: https://app.lastping.dev/api/v1/checks/{id}/ingest-keys
- Auth: API key in header X-Api-Key
Request body
Example request
{
"name": "Tracing: nightly agent",
"expires_at": "2026-12-31T00:00:00Z"
}Response
Tracing key created. key is the plaintext credential, shown exactly once; scope is ingest and check_id is this monitor.
Example response
{
"id": "e1d2c3b4-0000-0000-0000-000000000001",
"name": "github-actions",
"prefix": "lp_Wwut111",
"created_at": "2026-07-01T12:00:00Z",
"expires_at": "2026-12-31T00:00:00Z",
"last_used_at": "2026-08-01T09:30:00Z",
"last_used_surface": "mcp",
"scope": "write",
"check_id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"created_by_key_id": "e1d2c3b4-0000-0000-0000-000000000002",
"key": "lp_Wwut111f_jHpogymaQLg5L19-MuWcVVY"
}Changes
No recorded changes to this operation across all 2 revisions of this API.