API reference / Tests and incidents
Check that a place loads
Opens a place to test in the QA tester's browser (the lead's, with no QA tester) and takes a picture of it. No model works. Answers 202: poll statusUrl. The verdict is fail, with what the browser said, when the place doesn't load.
/api/v1/test-environments/{id}/checkOther ways to call it
troopy tests check-environmenttroopy_check_test_environmentIdempotency-Key header. A retry with the same key gets the first answer back, and the operation runs one time.Path parameters
id*stringA 24-character id
Response
202 · application/jsondata*object18 properties
id*stringA 24-character id
kind*enum<string>ticket: a change. review: Troopy's code review of a change. screens: the blind critic's look at the pictures of a change. cases: tests of the library. explore: a look for problems. first_users: the QA tester tries it as 5 kinds of new user. check: whether the place loads
ticketreviewscreenscasesexplorefirst_userscheck
status*enum<string>queuedrunningdonecanceled
waitingFor*enum<string> | nullIn the queue: a QA tester to hire, one of the workspace's 2 places, the computer, a release that reaches Production, or a Claude plan that is out of usage
qaslotcomputerdeployplan
verdict*enum<string> | nullWhen done: fail when a part failed, blocked when a part couldn't be checked, pass only when each part passed
passfailblocked
error*string | nullWhy it ended early: its place didn't load or is gone, or its ticket moved on
environment*object | nullThe place, as it was when the run started: a place to test, or a preview of a ticket's change. Null when it reads only the code of the change
4 properties
id*string | nullNull for the preview of a ticket's change, which is no place of the workspace
name*stringkind*enum<string>productionstagingpreview
url*stringnote*string | nullWhat Troopy noted on the way, like a preview that didn't load
ticket*object | nullThe engineering ticket whose change it tests: its key, its pull request, and the commit tested
5 properties
id*stringA 24-character id
key*stringrepo*stringpr*integersha*stringprogress*objectIts parts: one for each test, or one for a ticket or a look
2 properties
done*integertotal*integertrigger*enum<string> | nullschedule: its place's schedule started it. release: a release started it. null: a person, the API or a ticket
schedulerelease
release*object | nullA check after a release: the tickets that the release took live
1 properties
tickets*array<object>2 properties
id*stringA 24-character id
key*stringreplayed*integerParts that replayed a test's recording whole, with no AI
replaying*booleanTroopy replays a part now, with no AI
createdBy*objectWho wrote it
3 properties
type*enum<string>personagentapi
id*stringname*stringcreatedAt*stringISO 8601 date and time
finishedAt*string | nullstatusUrl*string