Overview
Create a new blog post with title, content, and optional metadata. The API automatically generates slugs and descriptions if not provided.Auto-generation: Leave
slug and description empty for automatic generation from title and content.Request Body
Blog post title (1-500 characters)
Full blog content in markdown format (minimum 1 character)
Author name (optional)
Short description or excerpt (optional, auto-generated from content if not provided)
Array of tag strings for categorization (optional)
Thumbnail image URL (optional)
Custom URL-friendly slug (optional, auto-generated from title if not provided)
Publication status (optional, defaults to
true)Response
Returns the created blog post object with auto-generated fields.Unique blog post UUID (auto-generated)
Blog post title
Full markdown content
Author name
Short description (auto-generated if not provided)
Array of tag strings
Thumbnail image URL
URL-friendly slug (auto-generated if not provided)
Publication status
ISO 8601 creation timestamp (auto-generated)
ISO 8601 last update timestamp (auto-generated)
Example Requests
Example Response
Status Code:
201 CreatedError Responses
Request validation failed - missing required fields or invalid data
Server error occurred
Auto-generation Features
Slug Auto-generation
Slug Auto-generation
If no
slug is provided, it’s automatically generated from the title.Rules:- Converted to lowercase
- Spaces replaced with hyphens
- Special characters removed
- Ensured to be unique (number appended if duplicate)
Description Auto-generation
Description Auto-generation
If no
description is provided, it’s extracted from content.Rules:- First 200 characters of content
- Markdown syntax stripped
- Truncated at word boundary
Timestamp Auto-generation
Timestamp Auto-generation
created_at and updated_at are automatically set to current UTC time.Format: ISO 8601UUID Auto-generation
UUID Auto-generation
A unique UUID v4 is automatically generated for the
id field.Format:Best Practices
Use auto-generation - Let the API generate slugs and descriptions unless you need custom values for SEO.
Draft before publishing - Create posts with
published: false to draft content before making it live.Validate before sending - Check title length (≤500 chars) and content presence client-side.
Tag consistently - Use consistent tag names (case-sensitive) across posts for better filtering.
Custom slugs for SEO: Override auto-generated slugs with SEO-optimized versions like
best-etabs-tutorial-2025.Slug uniqueness: If your custom slug already exists, a number will be appended automatically (
my-slug-2).