Skip to content

API Projects

All Projects routes require Authorization: Bearer <user-token>.

Base URL: https://api.pionne.app

{
"id": "prj_a1b2c3",
"name": "Acme iOS",
"platform": "ios",
"bundle_id": "com.acme.app",
"token_preview": "pio_live_abcd...",
"notify_on_first_seen": true,
"notify_on_regression": true,
"notify_on_threshold": 100,
"events_count_30d": 1245,
"created_at": "2026-04-01T10:00:00Z"
}

bundle_id can be null until the first event arrives (cf. Bundle ID pinning).

Lists the user’s projects.

{
"data": [
{ "id": "prj_a1b2c3", "name": "Acme iOS", "platform": "ios", ... }
]
}
{
"name": "Acme iOS",
"platform": "ios",
"notify_on_first_seen": true,
"notify_on_regression": true,
"notify_on_threshold": 100
}
{
"id": "prj_a1b2c3",
"name": "Acme iOS",
"platform": "ios",
"bundle_id": null,
"token": "pio_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Updates configurable fields.

{
"name": "Acme iOS Prod",
"bundle_id": "com.acme.app",
"notify_on_threshold": 500
}

Changing or clearing bundle_id — code required

Section titled “Changing or clearing bundle_id — code required”

The bundle_id is the anti-token-theft barrier: changing or clearing this field weakens the project’s security, so the API requires the account’s deletion code (the 4–8 digit PIN set in Account → Security). Add it to the body:

{
"bundle_id": "com.acme.app.beta",
"deletion_code": "1234"
}

Possible responses:

  • 200 — updated.
  • 409 deletion_code_not_set — the user hasn’t configured a PIN.
  • 422 deletion_code_invalid — code missing or wrong.

All other fields (name, notify_*, paused_until…) are editable without a code.

The updated project.

Deletes the project and all its events. Irreversible.

{ "deletion_code": "1234" }

The deletion code is required (same errors as for the bundle_id update above).

Regenerates the token. The old token is invalid instantly — all events arriving with it return 401.

{
"token": "pio_live_yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
}

Aggregated stats over the last 30 days.

{
"events_total": 1245,
"issues_open": 12,
"issues_resolved": 4,
"events_per_day": [
{ "date": "2026-05-04", "count": 42 },
{ "date": "2026-05-03", "count": 51 }
],
"top_issues": [
{ "id": "iss_xxx", "title": "TypeError ...", "events_count": 320 }
]
}