For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dev Portal
DocsAPI ReferenceLearnCommunityChangelog
DocsAPI ReferenceLearnCommunityChangelog
    • About Our APIs
  • REST
    • Overview
      • Overview
        • Abandoned Cart Emails
        • Custom Template Associations
        • Email Templates
        • Pages
        • Marketing
        • Store Content
              • GETList Blog Posts
              • POSTCreate Blog Post
              • DELDelete Blog Posts
              • GETGet Blog Post
              • PUTUpdate Blog Post
              • DELDelete Blog Post
              • GETGet Count of Blog Posts
        • Themes
        • Widgets
        • Page Widgets
      • Payments
  • GraphQL
    • Overview
  • MCP
    • Overview
Dev Portal
LogoLogo
RESTAdminContentStore ContentBlog Posts

Create Blog Post

POST
https://api.bigcommerce.com/stores/:store_hash/v2/blog/posts
POST
/stores/:store_hash/v2/blog/posts
$curl -X POST https://api.bigcommerce.com/stores/store_hash/v2/blog/posts \
> -H "Accept: application/json" \
> -H "X-Auth-Token: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{
> "title": "Welcome to BigCommerce",
> "body": "<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>",
> "url": "/blog/welcome-bigcommerce/",
> "tags": [
> "string"
> ],
> "is_published": true,
> "meta_description": "Welcome Post",
> "meta_keywords": "BigCommerce, welcome, ecommerce",
> "author": "BigCommerce",
> "thumbnail_path": "string",
> "published_date": "Thu, 18 May 2023 13:26:42 -0000",
> "preview_url": "/blog/welcome-bigcommerce/",
> "summary": "<p>We power ecommerce websites for successful retailers all over the world</p>",
> "published_date_iso8601": "5/18/2023 1:26:42 PM"
>}'
200Response
1{
2 "title": "Welcome to BigCommerce",
3 "url": "/blog/welcome-bigcommerce/",
4 "preview_url": "/blog/welcome-bigcommerce/",
5 "body": "<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>",
6 "tags": [
7 "BigCommerce",
8 "welcome",
9 "ecommerce"
10 ],
11 "summary": "<p>We power ecommerce websites for successful retailers all over the world</p>",
12 "is_published": true,
13 "published_date": {
14 "timezone_type": 1,
15 "date": "2018-05-18T08:26:42.000Z",
16 "timezone": "+00:00"
17 },
18 "published_date_iso8601": "2018-05-18T13:26:42.000Z",
19 "meta_description": "Welcome Post",
20 "meta_keywords": "BigCommerce, welcome, ecommerce",
21 "author": "BigCommerce",
22 "thumbnail_path": "",
23 "id": 3
24}
Creates a *Blog Post*. **Required Fields** * `title` * `body` **Notes** * When including `published_date` in a request, supply it as a flat date string (not an object) in valid <a href="http://tools.ietf.org/html/rfc2822#section-3.3" target="_blank">RFC 2822</a>. The following example request includes a `published_date` in RFC 2822 format. * Blog posts default to draft status. To publish blog posts to the storefront, set the `is_published` property to `true`. * If a custom URL is not provided, the post’s URL will be generated based on the value of `title`.
Was this page helpful?
Previous

List Blog Posts

Next

Delete Blog Posts

Built with

Creates a Blog Post.

Required Fields

  • title
  • body

Notes

  • When including published_date in a request, supply it as a flat date string (not an object) in valid RFC 2822. The following example request includes a published_date in RFC 2822 format.
  • Blog posts default to draft status. To publish blog posts to the storefront, set the is_published property to true.
  • If a custom URL is not provided, the post’s URL will be generated based on the value of title.

Authentication

X-Auth-Tokenstring
### OAuth scopes | UI Name | Permission | Parameter | |:--------|:-----------|:----------| | Content | modify | `store_v2_content` | | Content | read-only | `store_v2_content_read_only` | ### Authentication header | Header | Argument | Description | |:-------|:---------|:------------| | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). | ### Further reading For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).

Path parameters

store_hashstringRequired
Permanent ID of the BigCommerce store.

Headers

AcceptstringRequiredDefaults to application/json
The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.

Request

This endpoint expects an object.
titlestringRequired
Title of this blog post.
bodystringRequired
Text body of the blog post.
urlstringOptional
URL for the public blog post.
tagslist of stringsOptional
Tags to characterize the blog post.
is_publishedbooleanOptionalDefaults to false
Whether the blog post is published. If you want the post to be or remain published following the request, you must set the field explicitly to true, even if the blog post was already published prior to the request.
meta_descriptionstringOptional

Description text for this blog post’s <meta/> element.

meta_keywordsstringOptional

Keywords for this blog post’s <meta/> element.

authorstringOptional

Name of the blog post’s author.

thumbnail_pathstringOptional

Local path to a thumbnail uploaded to /product_images/ using WebDAV.

published_datestringOptional

Response

titlestring
Title of this blog post.
urlstring
URL for the public blog post.
preview_urlstringRead-only

URL to preview the blog post. READ-ONLY.

bodystring
Text body of the blog post.
tagslist of strings
Tags to characterize the blog post.
summarystringRead-only

Summary of the blog post. READ-ONLY.

is_publishedbooleanDefaults to false
Whether the blog post is published. If you want the post to be or remain published following the request, you must set the field explicitly to true, even if the blog post was already published prior to the request.
published_dateobject
published_date_iso8601string

Published date in ISO 8601 format.

meta_descriptionstring or null

Description text for this blog post’s <meta/> element.

meta_keywordsstring or null

Keywords for this blog post’s <meta/> element.

authorstring or null

Name of the blog post’s author.

thumbnail_pathstring or null

Local path to a thumbnail uploaded to /product_images/ using WebDAV.

OAuth scopes

UI NamePermissionParameter
Contentmodifystore_v2_content
Contentread-onlystore_v2_content_read_only

Authentication header

HeaderArgumentDescription
X-Auth-Tokenaccess_tokenFor more about API accounts that generate access_tokens, see our Guide to API Accounts.

Further reading

For example requests and more information about authenticating BigCommerce APIs, see Authentication and Example Requests.

For more about BigCommerce OAuth scopes, see our Guide to API Accounts.

For a list of API status codes, see API Status Codes.

The MIME type of the response body.