RaylightAPI

Remakes

Fail a remake

Records why the build stopped, ends the hold and releases the builder tab. The project keeps the shots that landed. A remake failed with tab_lost may be resumed.

POST/v1/remakes/{id}/fail

API key with the remake scope.

Parameters

FieldInTypeDescription
idrequiredpathuuidThe remake id.

Request body

application/json

FieldTypeDescription
errorrequiredstring
codeenumOne of: cli_stopped, tab_lost, study_error, build_error

Responses

200The failed remake.
400Invalid request.
401Missing, invalid or revoked key.
403The key lacks the scope, or the key's owner has view-only access to the workspace (code forbidden).
404Not found.
409The remake is not at a stage that takes this call, or it already ended (code stage).
429Rate limited, or a monthly cap reached.

200 response body

FieldTypeDescription
remakerequiredobject
remake.idrequireduuid
remake.statusrequiredenumThe furthest stage reached: studying (the study runs on your machine), building (shots land in the project as they are built; overlaps studying), polishing (the film-wide pass), needs_repair (the CLI is running the repair session), then done, failed or canceled. New values may be added; treat unknown ones as opaque.One of: studying, building, polishing, needs_repair, done, failed, canceled
remake.projectIdrequireduuid | null
remake.projectUrlrequiredurl | null
remake.shotsrequiredobject[]
remake.shots[].indexrequiredinteger
remake.shots[].startMsrequirednumber
remake.shots[].durationMsrequirednumber
remake.shots[].staterequiredenumOne of: skeleton, building, built, failed
remake.repairrequiredobject | null
remake.repair.requestedrequiredboolean
remake.repair.uncoveredrequiredobject[]
remake.repair.uncovered[].segmentIdrequiredstring
remake.repair.uncovered[].firstMsrequirednumber
remake.repair.uncovered[].lastMsrequirednumber
remake.repair.uncovered[].boxrequiredobject
remake.repair.uncovered[].box.xrequirednumber
remake.repair.uncovered[].box.yrequirednumber
remake.repair.uncovered[].box.wrequirednumber
remake.repair.uncovered[].box.hrequirednumber
remake.repair.uncovered[].samplesrequiredinteger
remake.reportrequiredobject | null
remake.report.glitchesrequiredany[]
remake.report.gapsrequiredany[]
remake.report.notesrequiredstring[]
remake.errorrequiredstring | null
remake.errorCoderequiredenum | nullOne of: cli_stopped, tab_lost, study_error, build_error
remake.libraryEligiblerequiredbooleanWhether this remake (the video, the study and the plan applied) may feed Raylight's motion library. False once the owner or the workspace turns data sharing off (Settings, Improve Raylight); that switch is the only opt-out.
remake.sourcerequiredobject
remake.source.fileNamerequiredstring
remake.source.durationMsrequiredinteger
remake.source.widthrequiredinteger
remake.source.heightrequiredinteger
remake.source.fpsrequirednumber
remake.agentrequiredenumOne of: claude, codex
remake.builderrequiredobject
remake.builder.attachedrequiredboolean
remake.builder.lastSeenAtrequiredstring | null
remake.createdAtrequiredstring
remake.updatedAtrequiredstring

Example

curl
curl -X POST https://api.raylight.app/v1/remakes/$ID/fail \  -H "Authorization: Bearer $RAYLIGHT_API_KEY" \  -H "Content-Type: application/json" \  -d '{  "error": "<error>"}'