Issue a run key for a launch dialog
const url = 'https://beta-api.plune.ai/v1/runs/keys';const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://beta-api.plune.ai/v1/runs/keys \ --header 'Authorization: Bearer <token>'A fresh run key (#1233): rk_ and ten lowercase hex, held by no live run of the project. The launch dialog asks for one when it opens, so the command it shows — PLUNE_RUN=<key> npx playwright test --grep "$(plune plan grep <plan-id>)" — is the real one; Save or Launch sends it as runKey (POST /v1/plans/{id}/launch) and the run keeps it as its externalKey, the key a reporter joins by. Nothing is stored: a dialog closed without Save or Launch just drops it. A reader is refused (403), as on every write.
Authorizations
Section titled “Authorizations ”Responses
Section titled “ Responses ”The key
object
Example
{ "key": "rk_4f7c2a9e1b"}No / invalid token or session
read-only member of the project — a reader launches nothing
object
Example generated
{ "error": "example"}Rate-limited: the per-route throttle, or the per-minute request limit of the plan an API token counts by (#1442; the body names the plan, #2092). Retry-After carries the seconds until the window rolls over.
object
Example generated
{ "error": "example"}Headers
Section titled “Headers ”Seconds until the window rolls over