Praxicraft

Assess API · v1

Results

Retrieve candidate scores and structured reports once an assessment is completed. Results are available immediately after completion.

GEThttps://praxicraft.com/api/v1/public/assessments/:slug/results/
candidates:readAuth: Bearer ct_live_…

List Assessment Results

Returns all completed candidate sessions for an assessment, ordered by most recent. Paginated.

Query / Path Parameters
NameTypeRequiredDescription
slugstringrequiredAssessment slug
cursorstringoptionalOpaque pagination cursor — pass the value from `next` to fetch the next page
page_sizeintegeroptionalResults per page, max 100 (default: 20)
Response Fields
FieldTypeDescription
candidate_emailstringCandidate email
candidate_namestringCandidate name (if provided)
rolestring|nullJob role the candidate was invited for
statusstringpending | started | completed | expired
score_percentagefloatAggregated score as a percentage (0–100)
passedbooleanWhether the candidate met the passing threshold
time_spent_secondsinteger|nullTotal time the candidate spent in the session
violation_countsobject{ fullscreen_violations, copy_paste_violations }
started_atISO 8601Session start timestamp
completed_atISO 8601|nullCompletion timestamp
invite_tokenuuidUse this to fetch the detailed result
HTTP
GET /api/v1/public/assessments/senior-backend-screen/results/
Authorization: Bearer ct_live_xxxxxxxxxxxxxxxx
Example Response
JSON
{
  "next": "https://app.praxicraft.io/api/v1/public/assessments/senior-backend-screen/results/?cursor=cD0yMDI1LTA0...",
  "previous": null,
  "results": [
    {
      "candidate_email": "jane@example.com",
      "candidate_name": "Jane Doe",
      "role": "Senior Backend Engineer",
      "status": "completed",
      "score_percentage": 85.0,
      "passed": true,
      "time_spent_seconds": 4460,
      "violation_counts": {
        "fullscreen_violations": 0,
        "copy_paste_violations": 2
      },
      "started_at": "2025-03-15T14:00:00Z",
      "completed_at": "2025-03-15T15:20:00Z",
      "invite_token": "c7b3e2a1-..."
    }
  ]
}
GEThttps://praxicraft.com/api/v1/public/invites/:token/result/
candidates:readAuth: Bearer ct_live_…

Get Detailed Result

Returns the full result for a specific candidate, including per-task scores, violation counts, and a link to the detailed report.

Query / Path Parameters
NameTypeRequiredDescription
tokenuuidrequiredThe invite_token from the create invitation response
Response Fields
FieldTypeDescription
candidate_emailstringCandidate email
candidate_namestringCandidate name
assessmentstringAssessment title
statusstringInvitation status
scoreintegerRaw score achieved
max_scoreintegerMaximum possible score
score_percentagefloatPercentage score (0–100)
passedbooleanWhether the candidate met the passing threshold
passing_scoreintegerPassing threshold configured for this assessment
started_atISO 8601When the session started
completed_atISO 8601|nullWhen the session completed
violation_countsobject{ fullscreen_violations, copy_paste_violations }
detailed_report_urlurlAbsolute URL for the full session report (requires session auth)
casesarrayPer-task breakdown: case_order, case_title, score, max_score, status, time_spent_seconds
HTTP
GET /api/v1/public/invites/c7b3e2a1-.../result/
Authorization: Bearer ct_live_xxxxxxxxxxxxxxxx
Example Response
JSON
{
  "candidate_email": "jane@example.com",
  "candidate_name": "Jane Doe",
  "assessment": "Senior Backend Engineer Screen",
  "status": "completed",
  "score": 255,
  "max_score": 300,
  "score_percentage": 85.0,
  "passed": true,
  "passing_score": 70,
  "started_at": "2025-03-15T14:00:00Z",
  "completed_at": "2025-03-15T15:20:00Z",
  "violation_counts": {
    "fullscreen_violations": 0,
    "copy_paste_violations": 2
  },
  "detailed_report_url": "https://app.praxicraft.io/api/v1/assess/assessments/senior-backend-screen/results/...",
  "cases": [
    {
      "case_order": 1,
      "case_title": "Query Optimization",
      "score": 100,
      "max_score": 100,
      "status": "correct",
      "time_spent_seconds": 820
    },
    {
      "case_order": 2,
      "case_title": "ETL Pipeline",
      "score": 100,
      "max_score": 100,
      "status": "correct",
      "time_spent_seconds": 1540
    },
    {
      "case_order": 3,
      "case_title": "Data Modeling",
      "score": 55,
      "max_score": 100,
      "status": "incorrect",
      "time_spent_seconds": 2100
    }
  ]
}

Need help integrating?

Email support@praxicraft.com

Get your API key