Authenticate every request with your API key in the
x-api-key header. A valid key can manage its own organization’s content. Create keys under Settings > API in the dashboard.Content format
Send the body in thecontent field as HTML (recommended, easiest to produce). It is stored as rich-text and rendered on your live site. You may also send TipTap JSON directly if you already have it.
These elements render on the live site:
Wide tables render inside a horizontal scroller on the live site, so real data tables with many columns are fine. Generic iframes cover embeds like Tableau dashboards, maps, calendars, or booking widgets: use the provider’s embed or share URL as the
src. Embeds render sandboxed on the live site.
Interactive builder blocks (pricing tables, contact/subscribe forms, section templates) are managed in the dashboard editor and are not authored through the API. Any HTML you send outside the list above is cleaned out, so stick to these tags for predictable results.
For images, do not hard-link an external URL inside content. Upload it first with the Assets API so it is hosted on your board, then use the returned cdn.kardow.com URL as the cover_image or inside the HTML.
List pages
string
blog_post (blog articles), page (standalone pages), or all (default).string
Filter by
draft, published, or archived.string
Match against the title.
number
default:"1"
Page number.
number
default:"20"
Records per page, up to 100.
cURL
id, title, slug, kind fields (type, is_blog_article), status, the full public url, cover_image (a cdn.kardow.com URL), meta_title, meta_description, author_id, published_at, created_at, and updated_at. The list is metadata only; fetch a single page to get its body.
Get a page
content (TipTap JSON), content_html (the body rendered as HTML, easiest to read and revise), content_text (plain text), og_image, and custom_fields.
cURL
Create a page or blog post
string
required
Page or article title.
string
Body as HTML (or TipTap JSON). Empty is allowed.
string
default:"page"
blog_post to create a blog article, page for a standalone page.string
default:"draft"
published to make it live immediately, or draft to keep it hidden.string
URL slug. Auto-generated from the title (and de-duplicated) if omitted.
string
Cover/hero image URL, ideally a
cdn.kardow.com URL from the Assets API. Shown on blog cards.string
SEO title.
string
SEO description; also used as the blog card summary.
string
Optional author UUID for blog posts.
string
Optional publish date (ISO 8601). Defaults to now when
status is published.cURL
url.
Update a page
title, content, status, slug, cover_image, meta_title, meta_description, author_id, published_at). Passing content replaces the body. Setting status to published stamps published_at automatically the first time.
cURL
Delete a page
cURL