Marketing Pages

Marketing pages are the public face of the product you sell: your landing page, feature pages, an about page, a pricing page, and any custom pages you need. You author them as structured content on a SaaS package, set their SEO and social-sharing fields, give each a clean URL slug, and publish when they are ready. Combined with a custom domain, this is how you stand up a branded marketing site for your product.

Pro Marketing pages are part of the SaaS Builder, included with the Backbuild Pro build-and-ship platform. See pricing.

The Marketing Pages screen for a package. Callout 1 marks the Add Page button. Callout 2 marks a marketing page entry with its path and draft status. Callout 3 marks the per-page Edit, Publish, and Delete actions.
Create and publish the landing, feature, pricing, and about pages for your product site.

How marketing pages work

Each marketing page belongs to one of your SaaS packages. A page is created in a draft state, edited as many times as you like, and then explicitly published; publishing is the gate that makes a page visible to the public. You can have as many pages per package as your product needs, ordered however you choose.

A page carries a title, a slug (its URL-safe identifier), a page type that classifies its role, a structured content body, and a set of SEO and social-sharing fields used to render its <head> tags.

Page types

The page_type classifies the page so your storefront can render it appropriately and so you can organize your marketing site. Accepted values are:

TypeTypical use
landingYour primary landing / home page.
featureA page describing a specific feature or capability.
pricingA pricing-overview page (pairs with your pricing plans).
aboutAn about / company page.
customAnything else. This is the default when you do not specify a type.

Content

The content field holds the page body as a structured JSON object: sections, blocks, copy, and references to media. Storing content as structured data (rather than raw HTML) lets your storefront render it consistently with your theme and keeps it safe to serve. The shape is up to your product’s rendering layer; the API stores and returns whatever structured content you provide, within a generous size bound.

The optional metadata field is a free-form JSON object for any extra data you want to attach to a page: layout hints, A/B variant keys, feature toggles for the page, and so on.

SEO & social fields

These fields populate the page’s document head and social-share cards. They are independent of the on-page title, so you can tune the text that appears in search results and link previews separately from the heading shown on the page.

FieldTypeDescription
seo_titlestringThe title used for the page’s <title> / search-result heading (up to 255 characters).
seo_descriptionstringThe meta description shown in search results and link previews (up to 512 characters).
og_image_urlstringThe image used for social-share cards (Open Graph). Must be an https:// URL.

Slug & ordering

FieldTypeDescription
titlestringThe page’s display title (1–255 characters). Required on create.
slugstringURL-safe identifier: lowercase letters, numbers, and hyphens only (up to 128 characters). Used as the page’s path. Optional; auto-derived if omitted.
sort_orderintegerControls the page’s position relative to its siblings (e.g. in a nav or list).

A clean slug such as features or about-us becomes the page’s path on your custom domain, e.g. https://acme.com/features.

Publishing

Creating or updating a page leaves it in draft. Publishing is a separate, explicit action: it makes the page’s current content public on your storefront. This lets you stage edits safely: iterate on a draft, then publish when it is ready. To take a page down, delete it.

Example: create and publish a page

POST /v1/saas-packages/{packageId}/marketing-pages
Authorization: Bearer <token>
Content-Type: application/json

{
  "title": "Acme: Ship faster",
  "slug": "home",
  "page_type": "landing",
  "seo_title": "Acme | The fastest way to ship",
  "seo_description": "Acme helps teams ship products in days, not months.",
  "og_image_url": "https://cdn.acme.com/og/home.png",
  "sort_order": 0,
  "content": {
    "sections": [
      { "type": "hero", "heading": "Ship faster with Acme", "cta": "Start free" }
    ]
  }
}

Then publish it:

POST /v1/saas-packages/{packageId}/marketing-pages/{pageId}/publish
Authorization: Bearer <token>

API reference

All endpoints require an authenticated session and the relevant marketing-page permission (organization owners and admins hold these by default). The owning organization is resolved from your session; {packageId} is the SaaS package the page belongs to and {pageId} is the marketing page.

List marketing pages

GET /v1/saas-packages/{packageId}/marketing-pages

Query parameters

ParameterTypeDescription
statusstringOptional status filter (e.g. draft vs. published).
limitintegerPage size.
offsetintegerNumber of pages to skip.

Returns the marketing pages on the package, with pagination metadata.

Create a marketing page

POST /v1/saas-packages/{packageId}/marketing-pages

Request body

FieldTypeRequiredDescription
titlestringYesDisplay title (1–255 chars).
slugstringNoLowercase / numbers / hyphens (up to 128 chars).
page_typestringNolanding, feature, pricing, about, or custom (default custom).
contentobjectNoStructured page content.
seo_titlestringNoSEO title (up to 255 chars).
seo_descriptionstringNoSEO meta description (up to 512 chars).
og_image_urlstringNoOpen Graph image; must be https://.
sort_orderintegerNoOrdering position.
metadataobjectNoFree-form metadata.

Returns the created page with 201 Created.

Get a marketing page

GET /v1/saas-packages/{packageId}/marketing-pages/{pageId}

Update a marketing page

PUT /v1/saas-packages/{packageId}/marketing-pages/{pageId}

Send only the fields you want to change; at least one field must be present. Accepts the same fields as create. Updating a published page edits the draft; publish again to push the changes live.

Publish a marketing page

POST /v1/saas-packages/{packageId}/marketing-pages/{pageId}/publish

Makes the page’s current content public. No request body is required.

Delete a marketing page

DELETE /v1/saas-packages/{packageId}/marketing-pages/{pageId}

Removes the page. Returns 404 if the page does not exist.

Frequently asked questions

Can I build my product’s marketing site without code?
Yes. Landing, feature, pricing, and about pages are configured in the builder, no front-end development required.
Do these pages serve on my own domain?
Yes. Point a custom domain at your package and your marketing pages serve from it under your brand.
How do I control how a page looks when shared or searched?
Each page carries SEO and social fields so its title, description, and preview are what you intend.
How does a page go live?
You publish it. Drafts stay private until you publish, so you can prepare a page before it is visible.

Related