Concepts
Artifacts
An artifact is a durable file output from an automation run: markdown, JSON, images, audio, PDFs, generated source, or any other file a worker produces. Artifacts are separate from an agent's scratch workspace. They are the publish/download plane for run outputs.
The persisted reference shape is small and stable:
{
"type": "artifact",
"id": "art_01...",
"name": "report.md",
"mime": "text/markdown",
"size": 12345,
"sha256": "..."
}Publishing
Workers publish bytes through:
POST /v1/projects/{project}/artifactsThe request is multipart and must include:
X-Mobius-Lease-Token: ...That lease token proves the worker is currently executing a claimed job. Mobius derives the run, step, job, worker session, attempt, ownership, and visibility from the active claim. Caller-supplied lineage is rejected.
Humans and normal API clients should treat artifacts as read-mostly outputs. Worker writes go through the lease path so run history cannot be forged by an unrelated caller.
Reading
You can list and fetch artifact metadata:
GET /v1/projects/{project}/artifacts
GET /v1/projects/{project}/artifacts/{id}Bytes can flow through Mobius:
GET /v1/projects/{project}/artifacts/{id}/contentOr through a fresh time-boxed signed URL:
POST /v1/projects/{project}/artifacts/{id}/signed-urlSafe preview mime types may render inline. Other content is served as an
attachment with nosniff.
Visibility and ownership
Artifacts are project resources but access is also scoped to the authenticated principal's artifact space. Run-produced artifacts carry the run and step lineage needed for run history views, while agent-owned or user-owned artifacts stay attributable to the principal that produced them.
Use the run and step filters when you need a specific execution's outputs:
GET /v1/projects/{project}/artifacts?run_id=run_01...Quota and deletion
Artifact storage counts toward project artifact quota. The quota endpoint reports current usage and limits:
GET /v1/projects/{project}/artifacts/quotaDeleting an artifact soft-deletes the row and removes the underlying Mobius-managed object. The tombstone remains for audit and run-history views; bytes and quota charge are removed.
Source events
Creating an artifact emits artifact.created. Automations can use that
event in wait_for_event steps or triggers when a later process should
react to generated files.
Related
- Runs show artifacts alongside step results.
- Workers publish artifacts from claimed jobs.
- Managed environments provide scratch workspaces; artifacts are the durable output boundary.
- Source events includes
artifact.created.