Assessments

GET /assessments

View assessments. Requires assessments.read permission.

Query parameters

Name Type Required Description
search string no Search by title
active boolean no Filter by active status
status string no Filter by status (draft/confirmed) One of: draft, confirmed.
educationalContentId string (uuid) no Filter by educational content
fields[] string[] no Select which fields to include in the response. When omitted, all fields are returned. When provided, only the specified fields are included. (e.g., ?fields[]=id&fields[]=title) One of: active, canonicalId, createdAt, description, educationalContentId, id, isCurrent, passPercentage, shuffleQuestions, status, timeLimitMinutes, title, updatedAt, version.
with[] string[] no Include related resources in the response. Pass multiple values as separate query parameters (e.g., ?with[]=createdBy&with[]=updatedBy). One of: createdBy, updatedBy, educationalContent, questions.
orderBy string no Field to order by One of: id, title, passPercentage, active, status, version, createdAt, updatedAt.
order string no Specifies in what direction the results should be ordered (ASC/DESC) One of: asc, desc.
count integer no Specifies the number of results to show per page of paginated results (1-500)

Responses

Status Description
200 A paginated response of assessments

Response 200 body

  • data object[] · required
  • links object · required
  • meta object · required
{
    "data": [
        {
            "id": "01944f76-3f07-76fe-b4fe-f8e5b0db5abe",
            "active": true,
            "canonicalId": "01944f76-3f07-76fe-b4fe-f8e5b0db5abe",
            "createdAt": "string",
            "createdBy": {
                "id": "string",
                "firstName": "string",
                "lastName": "string"
            },
            "description": "Test your knowledge of basic safety protocols",
            "educationalContent": {
                "id": "string",
                "title": "string"
            },
            "educationalContentId": "01944f76-3f07-76fe-b4fe-f8e5b0db5abc",
            "isCurrent": true,
            "passPercentage": 70,
            "questions": [
                {
                    "id": "01944f76-3f07-76fe-b4fe-f8e5b0db5abe",
                    "order": 0,
                    "points": 1,
                    "question": "What is the correct procedure for handling hazardous materials?",
                    "required": true,
                    "type": "multiple_choice"
                }
            ],
            "shuffleQuestions": false,
            "status": "draft",
            "timeLimitMinutes": 30,
            "title": "Safety Protocol Quiz",
            "updatedAt": "string",
            "updatedBy": {
                "id": "string",
                "firstName": "string",
                "lastName": "string"
            },
            "version": 1
        }
    ],
    "links": {
        "first": "https://api.safesites.app/sites?page=1",
        "last": "https://api.safesites.app/sites?page=10",
        "prev": null,
        "next": "https://api.safesites.app/sites?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 10,
        "links": [
            {
                "url": "https://api.safesites.app/sites?page=2",
                "label": "Next",
                "active": true
            }
        ],
        "path": "https://api.safesites.app/sites",
        "per_page": 100,
        "to": 100,
        "total": 1000,
        "userId": "01930a9b-7b61-79a5-9ba2-78f0b4b2c196",
        "requestId": "01930a9b-8d1f-766f-945c-ef6408134dbc"
    }
}