Skip to main content
POST
/
publisher
/
{publisher_id}
/
post
Create Post
curl --request POST \
  --url https://cms.thepublive.com/publisher/{publisher_id}/post/ \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "<string>",
  "english_title": "<string>",
  "type": "<string>",
  "status": "<string>",
  "primary_category": 123,
  "contributors": "<string>",
  "content": "<string>",
  "tags": "<string>",
  "categories": "<string>",
  "banner_url": 123,
  "banner_description": "<string>",
  "short_description": "<string>",
  "summary": "<string>",
  "seo_keyphrase": "<string>",
  "slug": "<string>",
  "meta_data": {},
  "custom_published_at": "<string>",
  "scheduled_at": "<string>",
  "hide_banner_image": true
}
'
{
  "status": "success",
  "message": "Created successfully",
  "data": {
    "id": 50200,
    "title": "Getting Started with Publive API",
    "english_title": "Getting Started with Publive API",
    "slug": "getting-started-with-publive-api",
    "type": "Article",
    "status": "Draft",
    "primary_category": {
      "id": 100,
      "name": "Technology",
      "slug": "technology"
    },
    "contributors": [
      {"id": 1, "name": "Jane Doe"},
      {"id": 2, "name": "John Smith"}
    ],
    "tags": [
      {"id": 500, "name": "API"},
      {"id": 501, "name": "Tutorial"}
    ],
    "content": "<p>Learn how to integrate Publive into your application...</p>",
    "banner_url": null,
    "banner_description": "",
    "short_description": "A beginner guide to the Publive API",
    "word_count": 12,
    "created_at": "2026-02-12T10:00:00Z",
    "updated_at": "2026-02-12T10:00:00Z",
    "source": "HeadlessCMS"
  }
}
Creates a new post. Posts are created with Draft status by default.
publisher_id
string
required
Your Publisher ID
title
string
required
Post headline
english_title
string
required
English headline (used for slug generation). Cannot be changed after creation.
type
string
required
Post type. Article, Video, Web Story, Gallery, LiveBlog, CustomPage, BlankPage. Cannot be changed after creation.
status
string
required
Draft, Published, Scheduled, Approval Pending
primary_category
integer
required
Category ID
contributors
string
Comma-separated author IDs
content
string
HTML body content
tags
string
Comma-separated tag IDs
categories
string
Comma-separated additional category IDs
banner_url
integer
Media ID for featured image
banner_description
string
Featured image caption
short_description
string
SEO meta description
summary
string
Post summary
seo_keyphrase
string
Focus keyword
slug
string
Custom slug (auto-generated from english_title if omitted). Cannot be changed after creation.
meta_data
object
Additional metadata (e.g., {"access_type": "Paid"}). Immutable after creation.
custom_published_at
string
Backdated publish date. Immutable after creation.
scheduled_at
string
Future publish date (status must be Scheduled)
hide_banner_image
boolean
Hide the featured image

Example request

curl -X POST \
  'https://cms.thepublive.com/publisher/123/post/' \
  -H 'Authorization: Basic <BASE64_AUTH_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Getting Started with Publive API",
    "english_title": "Getting Started with Publive API",
    "type": "Article",
    "status": "Draft",
    "primary_category": 100,
    "contributors": "1,2",
    "tags": "500,501",
    "content": "<p>Learn how to integrate Publive into your application...</p>",
    "short_description": "A beginner guide to the Publive API"
  }'
{
  "status": "success",
  "message": "Created successfully",
  "data": {
    "id": 50200,
    "title": "Getting Started with Publive API",
    "english_title": "Getting Started with Publive API",
    "slug": "getting-started-with-publive-api",
    "type": "Article",
    "status": "Draft",
    "primary_category": {
      "id": 100,
      "name": "Technology",
      "slug": "technology"
    },
    "contributors": [
      {"id": 1, "name": "Jane Doe"},
      {"id": 2, "name": "John Smith"}
    ],
    "tags": [
      {"id": 500, "name": "API"},
      {"id": 501, "name": "Tutorial"}
    ],
    "content": "<p>Learn how to integrate Publive into your application...</p>",
    "banner_url": null,
    "banner_description": "",
    "short_description": "A beginner guide to the Publive API",
    "word_count": 12,
    "created_at": "2026-02-12T10:00:00Z",
    "updated_at": "2026-02-12T10:00:00Z",
    "source": "HeadlessCMS"
  }
}