Sessions
A session represents one candidate’s attempt at one assessment. Sessions progress through a defined lifecycle from invitation to review. Session statuses:invited → setup → in_progress → submitted → scoring → scored → reviewed
List Sessions
Results per page (1-100)
Offset for pagination
Filter by assessment
Filter by candidate
Filter by status:
invited, setup, in_progress, submitted, scoring, scored, reviewedResponse
Response
Get Session
Response
Response
Delete Session
Response
Response
Send Reminder
invited, setup, or in_progress) and stamps reminderSentAt. Uses the session’s due date, falling back to the assessment’s.
Fails with 400 when the candidate has already submitted or there is no due date to remind about, and with 429 when a reminder was already sent within the last 24 hours.
Response
Response
Advance Phase
This endpoint is authenticated via the candidate session token, not an API key.
The current phase’s deliverable content (email state, document state, etc.)
Seconds remaining on the current phase timer when the candidate advanced
Response
Response
Checkpoint Phase
This endpoint is authenticated via the candidate session token, not an API key.
The current phase’s deliverable content (workflow state, email state, etc.)
When
true, also persist a point-in-time snapshot of the deliverable for the replay/history timeline, not just the latest interim save.Response
Response
Get Session Events
Results per page
Offset for pagination
Filter by event type (see list below)
connector_browsed, connector_connected, connector_disconnected, skill_uploaded, skill_created, skill_activated (legacy), skill_enabled, skill_disabled, agents_md_edited, memory_added, user_message, ai_response, ai_tool_use, slash_command, manual_edit, slide_added, slide_deleted, slide_reordered, section_added, section_deleted, section_reordered, content_edited, deliverable_downloaded, deliverable_reuploaded, file_uploaded, task_submitted, time_expired, security_flag, ai_feedback, phase_advanced, inbox_item_opened, inbox_item_closed, workflow_run, workflow_prompt_edited, session_opened, session_resumed, session_disconnected, timer_warning, doc_viewed, web_search, chat_cleared, deliverable_text_typed, deliverable_paste
Integrity event types (recorded for reviewer context only — never an auto-penalty): copy_detected, paste_detected, tab_blur, tab_focus, idle_gap, deliverable_paste
Response
Response
Record Session Chunk
This endpoint is authenticated via the candidate session token, not an API key.
Batch of rrweb events for this chunk
Client-assigned monotonic chunk sequence number (0-based, incremented once per flush)
ISO timestamp of the first event in the batch
ISO timestamp of the last event in the batch
Response
Response
Get Session Recording
hasRecording is false otherwise.
Response
Response
Preview Feedback Report
/assess/:token/feedback link, rendered on the candidate detail page. Unlike the candidate-facing route, this does not gate on release: it’s available as soon as the session is scored, whether or not feedback has actually been released to the candidate. Read-only; never sends anything or changes release state.
Response
Response
release object mirrors the eligibility signals the release cron uses, so the Feedback tab can explain why a scored session’s feedback hasn’t gone out yet.Preview Feedback Email
sendFeedbackEmail would send (same template, same score-derived content), but returns it as JSON instead of sending. Never calls the email provider.
Response
Response