Skip to main content
POST
Create Blog

Create Blog

Creates a new blog in the store. Auth: app access token with the write_content scope.

Request

The body may be sent either flat (fields at the top level) or wrapped in a blog object ({ "blog": { ... } }) — both are accepted.

Body Parameters

name
string
required
The blog’s internal name. Required.
title
string
required
The blog title. Required.
handle
string
URL-safe handle.
templateSuffix
string
Custom template suffix for theming (e.g. news).
Only the fields above are persisted. Any other field in the body — including commentable, feedburner, feedburner_location, tags, and articles_count — is silently ignored on this endpoint and will not appear in the response. Comment moderation is not configurable through this API.

Response

The response uses the standard platform envelope. The created blog row is returned under data.blog.
status
integer
HTTP status code (201 on success).
state
string
"success" or "error".
data.blog
object
The created blog row: blogsPageId, id, name, title, handle, templateSuffix, seoTitle, seoDesc, seoImage, storeId, plus createdAt / updatedAt timestamps.

Example Response

Errors

A missing name or title returns the error envelope:
CodeDescription
400name and/or title missing or not a non-empty string.
401Invalid or missing access token.
403App lacks the write_content scope.