---
title: "Get a test version's objective check"
method: GET
path: "/test/journeys/{id}/versions/{version}/objectiveCheck"
tags: ["Test"]
---

# Get a test version's objective check

`GET /test/journeys/{id}/versions/{version}/objectiveCheck`

## Request

- Base URL: `https://api.mabl.com`
- URL: `https://api.mabl.com/test/journeys/{id}/versions/{version}/objectiveCheck`
- Auth: one of:
  - HTTP basic
  - API key in header `Authorization`

The most recent objective check recorded against one test version, which is the version's current verdict. Not found when the version has never been checked.

## Path parameters

- `id` string, required
- `version` integer, required

## Response `200`

The version's current objective check

- TestObjectiveCheck: One verdict on whether the steps of a test version satisfy that version's objective summary. Stored apart from the test, so recording one never creates a test version, and never carried to a new version. Scoped to the step list stored on that version. Steps reached through a referenced flow are not covered: a flow is held by ID and resolved to a version at run time, and that resolution depends on the branch, so editing a referenced flow, or reading the test from a branch that resolves it differently, can leave the check describing steps it never saw.
  - `id` string
  - `workspace_id` string
  - `test_invariant_id` string: The test invariant ID
  - `test_version` integer
  - `state` 'aligned' | 'drifted' | 'accepted_gap': aligned means the steps satisfy the summary; drifted means they fall short, with the difference in gap; accepted_gap means a person saw that gap and chose to keep it.
  - `gap` string: When state is drifted or accepted_gap, how the steps fall short of the summary.
  - `checked_time` integer: When the check was recorded, in epoch milliseconds.
  - `checked_by_type` 'user' | 'agent': Who authored the objective summary.
  - `checked_by_id` string: The ID of the user or API key that recorded the check.
  - `checked_by_agent_session_id` string: The agent session that recorded the check, when an agent did.

## Other responses

- `401`: User not authenticated
- `403`: User not authorized
- `404`: Entity not found
- `default`: Unknown error

## Changes

- **2026-10-19** `b602223aa51f`: 4 info
  - added the optional property `guardrail/allOf[#/components/schemas/GuardrailRefusal]/approval` to the response with the `401` status
  - added the optional property `guardrail/allOf[#/components/schemas/GuardrailRefusal]/approval` to the response with the `403` status
  - added the optional property `guardrail/allOf[#/components/schemas/GuardrailRefusal]/approval` to the response with the `404` status
  - added the optional property `guardrail/allOf[#/components/schemas/GuardrailRefusal]/approval` to the response with the `default` status
- **2026-10-17** `91ff383fb7f9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/mabl/apis/mabl-api/changes/test/journeys/:id/versions/:version/objectiveCheck/get.md)

---

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