trickroom / Docs
Sign in
API reference/evidence

Build or fetch a time-lapse recording

Returns the job's in-guest screen recording when one exists; otherwise builds an MP4 time-lapse from the job's saved screenshots on first request and caches it in the configured object storage. Returns {data: null, state: "processing"} while recording parts are still uploading, {data: null} when the job has neither a recording nor screenshots, and 501 not_configured when recording storage is not configured. The response contains a presigned URL, its expiry, the object size, and the frame or part count.

GET/v1/jobs/{id}/recording

Authorization

Authorizationstringrequired

Bearer tak_… — an application API key. Keep it on your backend; all resources are scoped to that application.

Create an application key →

Path parameters

idstringrequired

Min length: 1

Response

200Build or fetch a time-lapse recording
X-Request-Idstring

Server-generated request identifier for logs and support.

application/json

dataobject | nullrequired

Null while processing or when the job has no recording or screenshots.

Allowed shapes

object

keystringrequired
sizeintegerrequired

Minimum: -9007199254740991 · Maximum: 9007199254740991

framesintegerrequired

Screenshot frames in a time-lapse, or uploaded video parts.

Minimum: -9007199254740991 · Maximum: 9007199254740991

urlstringrequired

Format: uri

expires_atstringrequired

Format: date-time · Pattern: ^(?:(?:\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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$

null

valuenull
state"processing"

Present with null data while video parts are still uploading.

501not_configured: recording storage is not configured.
X-Request-Idstring

Server-generated request identifier for logs and support.

application/json

errorobjectrequired
Object fields
codestringrequired
messagestringrequired
request_idstringrequired

Additional keys: any

4XX400 invalid input; 401 missing/revoked credentials; 403 disallowed operation/application; 404 missing or inaccessible resource; 409 conflicting submission/version/state; 413 body too large; 415 unsupported content type. Inspect error.code, not message text.
X-Request-Idstring

Server-generated request identifier for logs and support.

application/json

errorobjectrequired
Object fields
codestringrequired
messagestringrequired
request_idstringrequired

Additional keys: any

5XX500 unexpected failure or 503 unavailable dependency. A failed response does not prove that a submission was not committed. Retry job/flow admission with the same key and body.
X-Request-Idstring

Server-generated request identifier for logs and support.

application/json

errorobjectrequired
Object fields
codestringrequired
messagestringrequired
request_idstringrequired

Additional keys: any