The Agenda is the weekly test plan you make with Certyn in the chat. Release plans work the same way. The REST API calls them QA plans. See Agenda.
Reading works with any valid API key. Approving and changing plans needs platform:manage.
Current plans
/api/projects/{projectId}/qa-plans/current?environmentKey=...Bearer or any API keyReturns plan (this week's plan, or null when there is none yet) and releasePlans (open plans for releases).
List plans
/api/projects/{projectId}/qa-plans?environmentKey=...Bearer or any API keyReturns plans, page, pageSize, and total. Optional query: page, pageSize.
Get a plan
/api/projects/{projectId}/qa-plans/{planId}Bearer or any API keyA plan has status (proposed, approved, completed, expired, superseded), its period, counts, and items. Each item has kind, title, rationaleMarkdown, scheduledForUtc, status, and links to the run it started.
Approve a plan
/api/projects/{projectId}/qa-plans/{planId}/approveBearer or API key · platform:manageOnly a proposed plan can be approved. Its items are then scheduled. Any other status returns 409.
Change or remove an item
/api/projects/{projectId}/qa-plans/{planId}/items/{itemId}Bearer or API key · platform:manage{ "title": "Retest checkout on Safari", "rationale": "Failed twice last week.", "scheduledForUtc": "2026-11-04T09:00:00Z" }
All fields are optional.
/api/projects/{projectId}/qa-plans/{planId}/items/{itemId}Bearer or API key · platform:manageBoth return the updated plan. A plan that can no longer be edited returns 409.
Briefing
The briefing on Home: what needs QA attention, read from your connected tools.
/api/projects/{projectId}/briefingBearer or any API keyReturns summary, items (each with id, title, why, url, source), couldNotRead, updatedAt, updating, paused, lastError, and connected. Optional query: timeZone.
/api/projects/{projectId}/briefing/dismissBearer or API key · platform:manageBody: { "id": "jira:PAY-412" }. Send "undo": true to bring an item back.
/api/projects/{projectId}/briefing/refreshBearer or API key · platform:manageReturns { "status": "..." }: started, already_running, too_soon, no_plan_time, or nothing_connected.
Example
curl -sS -H "X-API-Key: $CERTYN_API_KEY" \
"https://api.certyn.io/api/projects/$PROJECT_ID/qa-plans/current?environmentKey=staging"