Skip to main content
This guide covers the full assessment lifecycle: defining the task, generating candidate keys with email invites, monitoring progress, and handling time limits.

1. Create the assessment

An assessment defines the coding task, target role, and constraints.

Required fields

Optional fields

Use issueId to select from Promptster’s library of 23 verified OSS bugs across TypeScript, Python, Go, and React. Each comes with automated test suites that verify the candidate’s fix.

2. Generate candidate keys

Create keys for one or more candidates. Providing candidateEmails triggers automatic invite emails.
The response contains an array of keys:

Key lifecycle

Each candidate key moves through these statuses:
You can generate up to 50 keys in a single request. If candidateEmails is provided, its length must match count.

3. Track candidate status

List keys for an assessment to see which candidates have started and completed:
Each key includes status, redeemedAt, completedAt, sessionId, and totalCostUsd. You can also list all candidates across assessments:

4. Handle time limits

When timeLimitMinutes is set on the assessment:
  • The CLI displays a countdown timer to the candidate
  • When time expires, the CLI automatically runs the submission flow (promptster done)
  • The session’s endedAt is set and the processing pipeline begins
There is no server-side enforcement that prevents late submissions, but the timeline clearly shows when the candidate exceeded the time limit.

5. Monitor token spend

If tokenBudgetUsd is set, the platform tracks cumulative LLM token cost for each candidate’s session. When the budget is reached, the candidate is notified and additional AI tool usage is restricted. Check spend per candidate via the keys endpoint — each key includes totalCostUsd.

6. Delete keys or assessments

Soft-delete a single candidate key:
Soft-delete an entire assessment (also deletes all its candidate keys):
Deleting an assessment soft-deletes all associated candidate keys. Existing sessions and their artifacts are preserved.