Tests

Get one test

Operation ID: getTest

GET
/tests/{testId}

One test with its steps (instruction), expected results and special instructions.

Needs an API key with the read scope.

Authorization

apiKey
headerAuthorizationBearer <oq_ followed by 43 letters and digits>

An Outqube API key, made in the app's settings. It belongs to one app and has the scope read, trigger or manage; a higher scope includes the lower ones. A revoked or expired key is a 401.

Path Parameters

testId*string

The test's id.

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

Response Body

OK

application/json
  1. response

A test with the steps, expected results and instructions the agent follows.

id*string

The test's id.

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
app_id*string

The app the test belongs to.

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
number*integer

The test's number in the app.

Range-9007199254740991 <= value <= 9007199254740991
display_id*string

The test's number as the app shows it, for example "TEST-012".

name*string

The test's name.

goal*string

What the test checks: its intent.

priority*string

urgent, high, medium or low.

Value in"urgent""high""medium""low"
tags*array<string>

The test's tags; createRun can run every test with one.

devices*array<>

The devices the test runs on.

environment_id*|

The environment the test is pinned to, or null for the suite's or app's.

suite_ids*array<>

The suites the test is in.

created_at*string

When the test was created.

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
Formatdate-time
updated_at*string

When the test last changed.

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
Formatdate-time
instruction*string

The steps, as plain text the agent follows.

expected_results*array<string>

What must be true for the test to pass.

special_instructions*string

Extra guidance for the agent.

Example Request
curl -X GET 'https://app.outqube.com/api/v1/tests/5d7e9a1c-3b2f-4c84-a6e0-1f8b3d5c7a92'
Example Response
{  "id": "5d7e9a1c-3b2f-4c84-a6e0-1f8b3d5c7a92",  "app_id": "9b1d2f4e-7a3c-4c58-9e0b-6f3a1d2c4b5a",  "number": 12,  "display_id": "TEST-012",  "name": "Sign in with a valid account",  "goal": "A registered user can sign in and lands on the dashboard.",  "priority": "high",  "tags": [    "smoke",    "auth"  ],  "devices": [    "desktop"  ],  "environment_id": "1a3c5e7b-9d2f-4b46-a8c0-4e6a8c0d2f57",  "suite_ids": [    "7c2a4e6b-8d1f-4a35-b97c-2e4a6c8d0f13"  ],  "created_at": "2026-10-01T09:30:00.000Z",  "updated_at": "2026-10-20T14:12:00.000Z",  "instruction": "Open the sign-in page. Enter the test account's email and password. Select Sign in.",  "expected_results": [    "The dashboard opens.",    "The account name shows in the top bar."  ],  "special_instructions": "Dismiss the cookie banner if it appears."}