Skip to main content
POST
/
api
/
v1
/
blogs
/
:blog_id
/
articles.json
Create Article
curl --request POST \
  --url https://api.launchmystore.io/api/v1/blogs/:blog_id/articles.json \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "<string>",
  "author": "<string>",
  "handle": "<string>",
  "body_html": "<string>",
  "summary_html": "<string>",
  "published": true,
  "published_at": "<string>",
  "tags": "<string>",
  "template_suffix": "<string>",
  "image": {
    "src": "<string>",
    "alt": "<string>"
  },
  "seo": {
    "title": "<string>",
    "description": "<string>"
  },
  "metafields": [
    {}
  ]
}
'
{
  "success": true,
  "data": {}
}

Documentation Index

Fetch the complete documentation index at: https://docs.launchmystore.io/llms.txt

Use this file to discover all available pages before exploring further.

Create Article

Creates a new article in the specified blog.

Request

curl -X POST "https://api.launchmystore.io/api/v1/blogs/blog_abc123/articles.json" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Summer Product Launch",
    "author": "Jane Smith",
    "body_html": "<p>We are excited to announce our summer collection...</p>",
    "tags": "summer, announcements",
    "published": true,
    "image": {
      "src": "https://example.com/summer-launch.jpg",
      "alt": "Summer Collection"
    }
  }'

Path Parameters

blog_id
string
required
The unique blog ID to create the article in

Body Parameters

title
string
required
The article title
author
string
required
Author name
handle
string
URL-safe handle. Auto-generated from title if not provided.
body_html
string
Article content (HTML)
summary_html
string
Article summary/excerpt (HTML). Auto-generated from body_html if not provided.
published
boolean
default:"false"
Whether the article is published
published_at
string
Publication date (ISO 8601). Defaults to now if published is true. Can be set to a future date for scheduling.
tags
string
Comma-separated tags (e.g., “summer, sale, featured”)
template_suffix
string
Custom template suffix (e.g., featured for article.featured.liquid)
image
object
Featured image
seo
object
SEO metadata
metafields
array
Array of metafields to attach to the article

Response

success
boolean
Whether the request succeeded
data
object
The created article object

Example Response

{
  "success": true,
  "data": {
    "id": "art_new456",
    "blog_id": "blog_abc123",
    "title": "Summer Product Launch",
    "handle": "summer-product-launch",
    "author": "Jane Smith",
    "body_html": "<p>We are excited to announce our summer collection...</p>",
    "summary_html": "<p>We are excited to announce our summer collection...</p>",
    "published": true,
    "published_at": "2024-03-20T10:00:00Z",
    "tags": "summer, announcements",
    "template_suffix": null,
    "image": {
      "id": "img_new789",
      "src": "https://cdn.launchmystore.io/images/summer-launch.jpg",
      "alt": "Summer Collection"
    },
    "seo": {
      "title": null,
      "description": null
    },
    "created_at": "2024-03-20T10:00:00Z",
    "updated_at": "2024-03-20T10:00:00Z"
  }
}

Error Codes

CodeDescription
UNAUTHORIZEDInvalid or missing access token
FORBIDDENApp doesn’t have write_content scope
NOT_FOUNDBlog with the specified ID does not exist
VALIDATION_ERRORInvalid request body (see error details)
DUPLICATE_HANDLEAn article with this handle already exists in this blog