---
title: "List Assessment Packages"
method: GET
path: "/api/assessment-packages"
tags: ["coding-assessment"]
---

# List Assessment Packages

`GET /api/assessment-packages`

## Request

- Base URL: `https://api.ruzora.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ruzora.com/api/assessment-packages`
- Auth: HTTP bearer

Recruiter dropdown for picking the package on a candidate Send or
setting a project's default_package_slug.

`kind = 'role'` keeps this list byte-identical to what it returned before
Wave 3 A1. The 12 skill atoms are also `is_seed`, so without the filter
they would appear here the moment the taxonomy migration runs — with
`challenge_count = 0` AND `question_count = 0`, i.e. picking one would
raise `AssessmentStateError` in `create_assessment`. PR-5 exposes atoms
here deliberately, once they have content.

Since w3a2qonly a package is startable when it has a challenge OR a
question, so the recruiter picker reads both counts — `engineering-manager`
is legitimately `challenge_count = 0, question_count = 5`.

## Response `200`

Successful Response

- unknown

---

[API](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api.md) · [All operations](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/revisions/f9b8223f3ac4?raw)
