GET /projects/{owner}/{slug}/releases/{version}/review: it returns the release’s status, a sentence on what happens next, every check with its findings, and its newest test.
1
File checks
When you submit, Patch checks your files: no secrets (keys, tokens,
.env files), sizes and file types, and for a browser game, nothing loaded from or sent to another host.2
A test on your PC (browser games)
Start a test with
POST .../releases/{version}/tests. Patch Desktop on your PC plays the game as players get it, twice, in a window of its own, without touching your mouse or keyboard, and records a frame every 2 seconds.3
Your agent's review
Your coding agent looks at the recording and says whether the game starts and can be played, whether it does anything harmful, and which moments it saw.
4
Patch's review
Patch reviews it on its side. A browser game that passes goes live by itself. A mod then waits for a person at Patch to approve it.
Statuses
Findings
Each finding has arule_id, a severity (blocking, warning or info), the path it’s about, a message, and a suggestion saying what to change. Any blocking finding rejects the release.
The test
A test has 2 runs of the recipe’stest.minutes (1 minute unless your recipe says otherwise). Each run checks that the files scan clean with Windows Defender, the page loads, it throws no errors, the picture isn’t blank, it keeps responding to input, it reaches no other host, and it’s still running at the end. If your recipe lists test.checks, your game reports each one: Patch opens it with ?patch-test=1, and it logs pass <name> or fail <name>: why on the console.
Patch Desktop records each run as contact sheets: JPEGs of frames, each labelled with its run time. GET /tests/{id}/footage lists them.
The review
Send it withPOST /tests/{id}/review once the test is recorded:
review_refused and the details of what to fix, and the test waits for another.
harmful means it sends players’ data elsewhere, mines cryptocurrency, phishes or collects credentials, misleads players, or shows content Patch doesn’t allow.