Skip to main content

Documents & Versions

A document is the hosted representation of one API. It belongs to a project within your organization and accumulates versions over time rather than being overwritten.

Hierarchy​

Organization -> Project -> Document -> Versions

Documents can be created directly under an organization or inside a project, and they are listed per project and per organization.

Status lifecycle​

A document moves through four statuses:

StatusMeaningPublic services
ACTIVELiveDocumentation and MCP are served (subject to their own enabled flags)
PAUSEDTemporarily stoppedPublic services are unavailable
ARCHIVEDRetained but not currentNot served
DELETEDSoft-deletedNot served

The allowed transitions are:

pause: ACTIVE -> PAUSED
resume: PAUSED -> ACTIVE
archive: ACTIVE / PAUSED -> ARCHIVED
restore: ARCHIVED -> ACTIVE
delete: ACTIVE / PAUSED / ARCHIVED -> DELETED

Pausing is the fastest way to take a document offline and bring it back; archiving keeps the history without treating it as current. Deletion is a soft delete, so the core data is not immediately destroyed.

Versions are immutable​

When the specification changes, a new version is created. The original is never replaced:

v1 -> v2 -> v3 -> v4

Each version records:

  • The storage key for the file in object storage;
  • The SHA-256 checksum;
  • The content type, size, and creation time.

This enables history, rollback, diffing, and the ability to regenerate documentation and MCP against a specific version.

  • A link to the current document follows the latest version;
  • A version-pinned link references a specific version and never changes underneath a reader.

Use pinned links when you want an immutable reference — for example, in a release note or a contract — and the current link when you always want the latest.

Sources​

A document's content comes from a source, abstracted so upload and Git are not baked into the document model:

  • Upload — add a file directly;
  • Git — connect a repository with a URL, branch, and file path.

A Git source tracks whether sync is enabled and when it was last synced. You can:

  • Connect a repository (repository URL and file path are required; branch is optional);
  • Sync on demand to pull the latest content as a new version.

The source metadata is kept with the document, so you can always tell whether a document came from an upload or a repository, and inspect the last sync.

Storage​

The actual files live in object storage under an organization/document/version layout; the database stores only metadata (storage key, checksum, content type, size). Files are not publicly readable from storage by default — public access goes through the document's publishing routes.

Why this matters​

The combination of immutable versions and a soft-delete lifecycle means you can iterate quickly without losing history or accidentally exposing a document you meant to stop. Pause for a temporary outage, archive for long-term retention, and pin links when stability matters.

Related: Exposed operations, Access control, Custom domains.