Manage website content, pages, posts, and public rendering.
Get consent settings
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/consentReturns the cookie consent and privacy settings configured for this website app, including banner text, consent categories, and GDPR/CCPA compliance options.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: consentSettings } = await gc.website.getWebsiteConsentSettings({ organizationId: "org_123", projectId: "proj_123", appId: "app_123"});Get dialog
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/dialogs/{dialogId}Returns a single website dialog by ID, including its name, type, trigger rules, content blocks, and display settings.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const organizationId = "org_123";const projectId = "proj_123";const appId = "app_123";const dialogId = "dialog_123";
const { data: dialog } = await gc.website.getWebsiteDialog({ organizationId, projectId, appId, dialogId});Get dialogs
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/dialogsReturns a list of all popup dialogs configured for this website app. Dialogs are used for modals, popups, banners, and slide-ins.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: dialogs } = await gc.website.listWebsiteDialogs({ organizationId: "YOUR_ORGANIZATION_ID", projectId: "YOUR_PROJECT_ID", appId: "YOUR_APP_ID"});Get custom domain
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/domains/{domainId}Returns a single custom domain by ID, including hostname, verification status, SSL status, DNS records needed, and primary flag.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: customDomain } = await gc.website.getWebsiteCustomDomain({ organizationId: "org_123", projectId: "proj_123", appId: "app_123", domainId: "domain_123"});Get custom domains
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/domainsReturns a list of all custom domains configured for this website app, including verification status, SSL status, and whether each is the primary domain.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: customDomains } = await gc.website.listWebsiteCustomDomains({ organizationId: "org_123", projectId: "proj_123", appId: "app_123"});Get website header
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/headers/{headerId}Returns a single website header by ID, including its name, content blocks, and timestamps.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: header } = await gc.website.getWebsiteHeader({ organizationId: "org-id", projectId: "project-id", appId: "app-id", headerId: "header-id"});Get website headers
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/headersReturns a list of all header components for this website app. Headers are reusable navigation/branding sections displayed at the top of pages.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const organizationId = "org-id";const projectId = "project-id";const appId = "app-id";
const { data: headers } = await gc.website.listWebsiteHeaders({ organizationId, projectId, appId});Get website landing page
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/landingReturns the app-level website landing page rendered at the website root.
curl -X GET "https://api.giantcontext.com/organizations/organizationId_uuid/projects/projectId_uuid/apps/website/appId_uuid/landing" \ -H "Authorization: Bearer $API_KEY"Get website layout
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/layouts/{layoutId}Returns a single website layout by ID, including its name, content blocks, layout structure, and timestamps.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: layout } = await gc.website.getWebsiteLayout({ organizationId: "org_123", projectId: "proj_123", appId: "app_123", layoutId: "layout_123"});Get website layouts
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/layoutsReturns a list of all page layouts for this website app. Layouts provide reusable page layouts and content block structures.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: layouts } = await gc.website.listWebsiteLayouts({ organizationId: "org_123", projectId: "proj_123", appId: "app_123"});Get website page
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/pages/{pageId}Returns a single website page by ID, including title, slug, full content blocks, SEO metadata, publish status, and layout references (header, footer, sidebar).
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: page } = await gc.website.getWebsitePage({ organizationId: "org_123", projectId: "proj_123", appId: "app_123", pageId: "page_123"});Get website pages
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/pagesReturns a list of all pages for this website app. Each page includes its title, slug, publish status, SEO metadata, and associated header/footer/sidebar references.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: pages } = await gc.website.getWebsitePages({ organizationId: "org-id", projectId: "project-id", appId: "app-id"});Get blog post
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/posts/{postId}Returns a single blog post by ID, including title, slug, full content blocks, excerpt, tags, author, featured image, SEO metadata, and publish status.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: post } = await gc.website.getWebsitePost({ organizationId: "org_123", projectId: "proj_123", appId: "app_123", postId: "post_123"});Get blog posts
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/postsReturns a paginated list of all blog posts for this website app. Each post includes title, slug, excerpt, publish status, author, tags, and featured image.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const organizationId = "org_123";const projectId = "proj_123";const appId = "app_123";
const { data: posts } = await gc.website.getWebsitePosts({ organizationId, projectId, appId});Get website settings
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/settingsReturns the website app settings including global SEO defaults, favicon, social image, language, and theme configuration.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: appSettings } = await gc.website.getWebsiteAppSettings({ organizationId: "org_123", projectId: "proj_123", appId: "app_123"});Get website sidebar
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/sidebars/{sidebarId}Returns a single website sidebar by ID, including its name, content blocks, and timestamps.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: sidebar } = await gc.website.getWebsiteSidebar({ organizationId: "org_123", projectId: "proj_123", appId: "app_123", sidebarId: "sidebar_123"});Get website sidebars
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/sidebarsReturns a list of all sidebar components for this website app. Sidebars are reusable layout sections displayed alongside page content.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: sidebars } = await gc.website.listWebsiteSidebars({ organizationId: "org_123", projectId: "proj_123", appId: "app_123"});Get website tags
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/tagsReturns a list of all tags used across pages and posts in this website app. Tags are used for categorization and filtering.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: tags } = await gc.website.getWebsiteTags({ organizationId: "org-id", projectId: "proj-id", appId: "app-id"});Get tracking settings
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/trackingReturns the tracking configuration for this website app, including Google Tag Manager container ID.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const organizationId = "org_123";const projectId = "proj_123";const appId = "app_123";
const { data: trackingSettings } = await gc.website.getWebsiteTrackingSettings({ organizationId, projectId, appId});Get existing website page URLs
/organizations/{organizationId}/projects/{projectId}/apps/website/{appId}/urlsReturns a list of all existing page slugs for this website app. Use this to avoid generating duplicate URLs when creating new pages.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: urls } = await gc.website.getWebsiteUrls({ organizationId: "org_123", projectId: "proj_123", appId: "app_123"});