POST /api/mirrors/build (multipart)
A workspace key as bearer. Fields:
Repeat a field for several files (
traces[] works too). At least one
identity source (traces, tools, an OpenAPI spec, tool definitions or a
schema) is required. Code and archives pass a malware scan; a finding
refuses the file by name.
Answers 202:
mirrors.uploads.reserve over tRPC or
MCP), PUT the bytes to the returned URL, then pass the upload id to
mirrors.builds.intake; the multipart route is for files that fit one
request.
POST /api/mirrors/:ref/rebuild
Snapshot the mirror’s current inputs and build again; ref is an id,
a slug or a name. Answers 202 with the build as the job.
GET /api/ingest-jobs/:id
The job’s status (queued, running, succeeded, failed), the
mirror, the headline when it succeeded, the error (stage and message)
when it failed, and the log lines so far. Poll every few seconds; a
build takes minutes and ends within its wall clock (thirty minutes by
default).