Skip to main content

Create Page

POST/api/v1/dashboard/content/pages

Overview

Creates a new content page for the authenticated client. Pages use a block-based content model (hero, text, CTA, FAQ, pricing, features, etc.) and are created in draft status by default. Use the Publish Page endpoint to make a page public.

Authentication

info

Bearer authentication required - Pass your credentials as Authorization: Bearer <client_id>:<api_key>:<api_secret>.

Headers

HeaderTypeRequiredDescription
AuthorizationstringYesBearer <client_id>:<api_key>:<api_secret>
Content-TypestringYesapplication/json

Request Body

ParameterTypeRequiredDescription
slugstringYesURL-friendly slug (must be unique per client)
titlestringYesPage title
descriptionstringNoShort page description
blocksarrayNoArray of typed content blocks (see below)
templatestringNoTemplate to render the page (e.g., default, landing, blank)
seo_titlestringNoCustom SEO title
seo_descriptionstringNoCustom SEO meta description
og_image_urlstringNoOpen Graph image URL

Block Types

Each block in the blocks array has a type and a data object:

Block TypeDescription
heroHero section with heading, subheading, CTA
textRich text content
ctaCall-to-action button/section
faqFrequently asked questions (array of Q&A)
pricingPricing plans grid
featuresFeature list or grid
imageImage with caption
videoEmbedded video
testimonialsCustomer testimonial carousel

Response

idstring (UUID)

Unique page identifier

slugstring

URL-friendly slug

titlestring

Page title

blocksarray

Array of typed content blocks

statusstring

Page status (draft for new pages)

templatestring

Template used to render the page

sort_orderinteger

Sort order for page listing

created_atstring

ISO 8601 creation timestamp

Example Request

curl -X POST "https://spideriq.ai/api/v1/dashboard/content/pages" \
-H "Authorization: Bearer $CLIENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"slug": "about",
"title": "About Us",
"template": "default",
"blocks": [
{
"type": "hero",
"data": {
"heading": "About Our Company",
"subheading": "We help businesses find and connect with their ideal customers.",
"cta_text": "Get Started",
"cta_url": "/signup"
}
},
{
"type": "text",
"data": {
"content": "Founded in 2024, we have helped over 1,000 businesses scale their outreach."
}
},
{
"type": "features",
"data": {
"items": [
{ "title": "AI-Powered", "description": "Smart lead scoring and analysis" },
{ "title": "Scalable", "description": "Process thousands of leads per hour" }
]
}
}
],
"seo_title": "About Us | SpiderIQ",
"seo_description": "Learn about SpiderIQ and our mission to automate lead generation."
}'

Example Response

{
"id": "e5f6a7b8-c9d0-1234-efab-567890123456",
"slug": "about",
"title": "About Us",
"blocks": [
{
"type": "hero",
"data": {
"heading": "About Our Company",
"subheading": "We help businesses find and connect with their ideal customers.",
"cta_text": "Get Started",
"cta_url": "/signup"
}
},
{
"type": "text",
"data": {
"content": "Founded in 2024, we have helped over 1,000 businesses scale their outreach."
}
},
{
"type": "features",
"data": {
"items": [
{ "title": "AI-Powered", "description": "Smart lead scoring and analysis" },
{ "title": "Scalable", "description": "Process thousands of leads per hour" }
]
}
}
],
"status": "draft",
"template": "default",
"sort_order": 0,
"published_at": null,
"updated_at": "2026-04-08T10:00:00Z",
"seo_title": "About Us | SpiderIQ",
"seo_description": "Learn about SpiderIQ and our mission to automate lead generation.",
"og_image_url": null
}

Status Codes

Status CodeMeaningDescription
201CreatedPage created successfully
400Bad RequestMissing required fields or invalid block format
401UnauthorizedInvalid or missing Bearer token
409ConflictA page with this slug already exists