Skip to content
REST API

Start a practice test attempt

POST
/tests/{testId}/attempts

Starts an attempt at a ready test, or returns the attempt the user already has open (status 200, resumed true). A test has at most one open attempt. The time limit, if any, counts from the attempt's start.

Required scopes: tests:attempt

Authorization

AuthorizationBearer <token>

In: header

Path Parameters

testId*string

Practice test id, scoped to the key's user.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Header Parameters

Idempotency-Key?string

A client-generated key (1 to 255 visible ASCII characters) that makes this POST safe to retry. A retry with the same key and body replays the original response; the same key with a different body returns 409 idempotency_conflict. Stored for 24 hours.

Match^[\x21-\x7E]{1,255}$
Length1 <= length <= 255

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/tests/497f6eca-6276-4993-bfeb-53cbbbba6f08/attempts"
{  "data": {    "attemptId": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b",    "resumed": false  }}