Giant Context
Giant ContextObtenez un accès anticipé

Content Versions

List, inspect, and restore prior versions of builder content (pages, posts, landings). The undo/rollback history for human and AI edits.


POST

Restore an entity to an older version; non-destructive, forward history is kept

/organizations/{organizationId}/projects/{projectId}/content-versions/{versionId}/restore

Rolls a content entity back to a prior version. Non-destructive: writes the snapshot's content to the live entity and appends a new 'revert' version, preserving forward history.

Parameters
organizationIdRequired
path · string
projectIdRequired
path · string
versionIdRequired
path · string
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const org = await gc.organizations.getOrganizationBySlug({ slug: "my-org" });const { projects } = await gc.projects.listProjects({ organizationId: org.id });
const result = await gc.contentVersions.restoreContentVersion({  organizationId: org.id,  projectId: projects[0].id,  versionId: "ver_123",});
GET

Get one version's full content snapshot, which the list tool omits

/organizations/{organizationId}/projects/{projectId}/content-versions/{versionId}

Returns a single content version including its full Section[] content snapshot.

Parameters
organizationIdRequired
path · string
projectIdRequired
path · string
versionIdRequired
path · string
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const org = await gc.organizations.getOrganizationBySlug({ slug: "my-org" });const { projects } = await gc.projects.listProjects({ organizationId: org.id });
const version = await gc.contentVersions.getContentVersion({  organizationId: org.id,  projectId: projects[0].id,  versionId: "ver_123",});
GET

List one entity's edit history newest first; metadata only, no content snapshots

/organizations/{organizationId}/projects/{projectId}/content-versions

Returns the newest-first version history for a single content entity (page, post, landing, etc). Metadata only — use getContentVersion for a version's full content snapshot. This is the undo/rollback trail for both human and AI edits.

Parameters
page
query · numberPage number to return, 1-indexed. Defaults to 1.
pageSize
query · numberItems per page (1-100). Defaults to 10.
lite
query · stringWhen 'true', return only essential fields (id, slug, title/name) to reduce payload size. Useful for context fetching and link resolution.
sort
query · stringSort specifier as 'field:direction'. Sortable fields: version, createdAt, source. Direction is 'asc' or 'desc' and defaults to 'asc'.
search
query · stringFree-text search. Matched against: summary.
source
query · stringFilter by source. Operators: source=value (equals), source_ne, source_gt, source_gte, source_lt, source_lte, source_like (contains), source_isnull=true|false, source_has=value (jsonb array contains), source[]=a&source[]=b (in).
createdBy
query · stringFilter by createdBy. Operators: createdBy=value (equals), createdBy_ne, createdBy_gt, createdBy_gte, createdBy_lt, createdBy_lte, createdBy_like (contains), createdBy_isnull=true|false, createdBy_has=value (jsonb array contains), createdBy[]=a&createdBy[]=b (in).
version
query · stringFilter by version. Operators: version=value (equals), version_ne, version_gt, version_gte, version_lt, version_lte, version_like (contains), version_isnull=true|false, version_has=value (jsonb array contains), version[]=a&version[]=b (in).
createdAt
query · stringFilter by createdAt. Operators: createdAt=value (equals), createdAt_ne, createdAt_gt, createdAt_gte, createdAt_lt, createdAt_lte, createdAt_like (contains), createdAt_isnull=true|false, createdAt_has=value (jsonb array contains), createdAt[]=a&createdAt[]=b (in).
contentTypeRequired
query · stringEntity discriminator, e.g. website_page, website_post, website_landing.
contentIdRequired
query · stringThe entity whose history to list.
organizationIdRequired
path · string
projectIdRequired
path · string
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const org = await gc.organizations.getOrganizationBySlug({ slug: "my-org" });const { projects } = await gc.projects.listProjects({ organizationId: org.id });
const { versions } = await gc.contentVersions.listContentVersions({  organizationId: org.id,  projectId: projects[0].id,  contentType: "page",  contentId: "content-123",});

BuiltAutonomously With AI
This content was built autonomously. Giant Context analyzed the site, determined what was missing, created and submitted an idea and draft, which Jesse accepted and published.
[0]
Produit
  • Comment ça marche
  • Mind
  • Créer
  • Capturer
  • Cultiver
  • Optimiser
  • Publication
  • Tarifs
  • Cas d'usage

© 2026 Giant Context
Politique de confidentialitéConditions d'utilisationPolitique relative aux cookies
Powered by
Content Versions | Giant Context