Lifecycle
Create
A user, API key, agent, or MCP client submits source content with a workspace slug, project slug, artifact slug, title, and type.
Store
The API writes the source to object storage, records its byte count and SHA-256 hash, then creates the artifact and version rows in Postgres.
Content types
Artifacts supports three source types, each with a safe render path:| Type | Input | Render behavior |
|---|---|---|
html | HTML document or fragment | Rendered as HTML with browser isolation controls |
md | Markdown | Sanitized, GitHub-flavored Markdown |
jsx | JSX or TSX compatible with Preact | Rendered through the Preact-compatible runtime |
| Plan | Max source size |
|---|---|
| Free | 1 MB |
| Pro | 10 MB |
| Team | 50 MB |
Fields
Artifact metadata
Artifact metadata
artifactId— stable identifier for API, CLI, and MCP operations.ownerUsername— workspace slug used in public paths.projectSlug— project slug under the workspace.normalizedSlug— artifact slug normalized to lowercase hyphen format.type— one ofhtml,md, orjsx.titleanddescription— human-readable metadata.publicViewandpublicEdit— coarse public access switches.latestVersionId— pointer to the current version.
Version record
Version record
Every create, update, and restore writes a version with:
versionNumber— monotonically increasing positive integer.parentVersionId— previous head version, when applicable.contentObjectKey— object storage key for the source content.thumbnailObjectKey— optional preview thumbnail key.contentSha256— integrity hash of the stored source.contentBytes— stored source size.changelog— optional description of the write.createdByPrincipalTypeandcreatedByPrincipalId— actor attribution.
How content is stored
Source and thumbnail objects use owner- and artifact-scoped keys:Slugs and URLs
Artifact slugs normalize to lowercase letters, numbers, and single hyphens:Work with versions
List, read, diff, and restore versions from any surface.