/1/assessment - GET

Overview

This api returns all the assessments for a given learner. We pass the learnerid and userid in headers and it returns the assessments data for that learner which contains different things like scores,grids,iep etc

Headers

KeyValueExample
User-Agent<company identifier>The exact value here is not important, but it should include something to identify your company
Acceptapplication/json
AuthorizationBearer <your token>Bearer *****************
X-LearnerId
(Required)
123The learner Id of user for which you want to fetch the assessments data for
X-UserId
(Optional)
123The id of user to which this learner belongs, if left empty it will authenticate the learner against the Bearer Token.

Params

KeyValueDescription
scores (optional)truefetch assessment scores in the API response
grids (optional)truefetch grids in the API response
iep (optional)truefetch IEP in the API response
since (optional)2026-01-02T00:00:00ZOnly return assessments that have been modified after this date. Accepts ISO 8601 format (e.g. 2026-01-01T00:00:00Z) or just a date (e.g. 2026-01-01). When not provided, all assessments are returned as usual.
latest (optional)trueOnly return the most recent assessment for the learner. Can be combined with other params like scores, grids, iep, and since.

Code Examples

Fetch all assessments with scores, grids, and IEP

Heavy JSON return This is only recommended if you need the PDF of the IEP - we recommend customers use the iframe to fetch the PDF itself. and omit the IEP fetching from this call.

curl --location 'https://api-sandbox.vbmappapp.com/1/assessment?scores=true&grids=true&iep=true' \
--header 'X-LearnerId: 19353' \
--header 'X-UserId: 320' \
--header 'Authorization: Bearer ***********'

Fetch only assessments modified since a specific date

curl --location 'https://api-sandbox.vbmappapp.com/1/assessment?scores=true&since=2026-01-10T00:00:00Z' \
--header 'X-LearnerId: 19353' \
--header 'X-UserId: 320' \
--header 'Authorization: Bearer ***********'

You can also pass just a date without the time:

curl --location 'https://api-sandbox.vbmappapp.com/1/assessment?scores=true&since=2026-01-10' \
--header 'X-LearnerId: 19353' \
--header 'X-UserId: 320' \
--header 'Authorization: Bearer ***********'

The since filter checks the most recent modification timestamp across the assessment itself, its scores, knowns, and notes. Only assessments with activity after the provided date will be returned.

Fetch only the latest assessment

curl --location 'https://api-sandbox.vbmappapp.com/1/assessment?scores=true&latest=true' \
--header 'X-LearnerId: 19353' \
--header 'X-UserId: 320' \
--header 'Authorization: Bearer ***********'

Combine latest with since

Returns the most recent assessment, but only if it has been modified after the given date. If the latest assessment has not been modified since that date, the response will contain an empty assessments array.

curl --location 'https://api-sandbox.vbmappapp.com/1/assessment?scores=true&latest=true&since=2026-01-10' \
--header 'X-LearnerId: 19353' \
--header 'X-UserId: 320' \
--header 'Authorization: Bearer ***********'

Example Response

{
    "vbmapp": {
        "assessments": [
            {
                "id": 1264,
                "assessor": "user2 rese",
                "startDate": "2025-04-24T01:16:09Z",
                "color": "#537fcd",
                "scores": [
                    {
                        "score": 1,
                        "timestamp": "2025-06-02T06:20:44Z",
                        "area": "mand",
                        "group": "milestones",
                        "questionNum": 1
                    },
                    {
                        "score": 1,
                        "timestamp": "2025-06-02T06:20:47Z",
                        "area": "transitions",
                        "questionNum": 1
                    },
                    {
                        "score": 0.5,
                        "timestamp": "2025-06-02T06:20:47Z",
                        "area": "mand",
                        "group": "milestones",
                        "questionNum": 2
                    },
                    {
                        "score": 2,
                        "timestamp": "2025-06-02T06:49:46Z",
                        "area": "barriers",
                        "questionNum": 1
                    },
                    {
                        "score": 5,
                        "timestamp": "2025-06-02T08:45:59Z",
                        "area": "transitions",
                        "questionNum": 2
                    },
                    {
                        "score": -1,
                        "timestamp": "2025-06-02T06:49:46Z",
                        "area": "transitions",
                        "questionNum": 3
                    },
                    {
                        "score": 3,
                        "timestamp": "2025-06-02T06:49:48Z",
                        "area": "barriers",
                        "questionNum": 3
                    },
                    {
                        "score": 1,
                        "timestamp": "2025-06-02T08:45:59Z",
                        "area": "barriers",
                        "questionNum": 5
                    }
                ]
            },
            {
                "id": 1265,
                "assessor": "user2 rese",
                "startDate": "2025-06-02T04:54:30Z",
                "color": "#f7d41c",
                "scores": [
                    {
                        "score": 1,
                        "timestamp": "2025-06-02T08:54:35Z",
                        "area": "mand",
                        "group": "milestones",
                        "questionNum": 1
                    },
                    {
                        "score": 1,
                        "timestamp": "2025-06-02T08:54:35Z",
                        "area": "transitions",
                        "questionNum": 1
                    },
                    {
                        "score": 1,
                        "timestamp": "2025-06-02T08:54:35Z",
                        "area": "mand",
                        "group": "milestones",
                        "questionNum": 2
                    },
                    {
                        "score": 1,
                        "timestamp": "2025-06-02T08:54:35Z",
                        "area": "mand",
                        "group": "milestones",
                        "questionNum": 3
                    },
                    {
                        "score": 1,
                        "timestamp": "2025-06-02T08:54:35Z",
                        "area": "mand",
                        "group": "milestones",
                        "questionNum": 4
                    },
                    {
                        "score": 1,
                        "timestamp": "2025-06-02T08:54:35Z",
                        "area": "mand",
                        "group": "milestones",
                        "questionNum": 5
                    }
                ]
            }
        ]
    }
}

Error Response (invalid since format)

{
    "errors": "since must be a valid timestamp (e.g., 2026-01-10T00:00:00Z or 2026-01-10)"
}

Did this page help you?