Misar Docs
MisarMailMisar.BlogMisarReachMisarPostMisar.DevMisar PlatformMisar IdentityMisar Posts API
Api Reference

Articles

Publish, list, and retrieve articles via the MisarBlog API.

webhook_only articles

Webhook-only articles are syndicated to a single consumer platform (e.g. misar.io/blogs, assisters.io/blogs) and are never publicly listed on misar.blog. Use ?webhook_only=true to fetch only those, or ?webhook_only=false to exclude them. Each item includes a webhook_only boolean.

List Articles

GET/articles

Returns a paginated list of the authenticated creator's published articles.

Query parameters

limitintegerquerydefault: 20

Results per page (max 100).

offsetintegerquerydefault: 0

Pagination offset.

tagstringquery

Filter by tag slug.

statusstringquerydefault: published

draft, published, scheduled, archived, flagged.

webhook_onlybooleanquery

true returns only webhook-only articles; false excludes them.

visibilitystringquery

Filter by exact visibility, e.g. public, webhook_only.

Response fields

dataArray<Article>

The page of articles. Each item includes id, slug, title, excerpt, featured_image_url, published_at, read_time_seconds, tags, view_count, reaction_count, comment_count, and webhook_only.

totalinteger

Total number of matching articles.

limitinteger

Results per page.

offsetinteger

Pagination offset.

{
  "data": [
    {
      "id": "uuid",
      "slug": "building-ai-apps-with-next-js",
      "title": "Building AI Apps with Next.js",
      "excerpt": "A practical guide to integrating AI into your Next.js applications.",
      "featured_image_url": "https://supabase-blog.misar.io/storage/v1/object/public/covers/abc.jpg",
      "published_at": "2026-04-15T09:00:00Z",
      "read_time_seconds": 480,
      "tags": ["nextjs", "ai", "tutorial"],
      "view_count": 4210,
      "reaction_count": 87,
      "comment_count": 14,
      "webhook_only": false
    }
  ],
  "total": 37,
  "limit": 20,
  "offset": 0
}

Publish an Article

POST/articles

Publishes a new article or schedules it for future publication.

Request body

titlestringbodyrequired

Article title (5–160 chars).

contentstringbodyrequired

Markdown body.

excerptstringbody

Short description shown in previews.

slugstringbody

URL slug (auto-generated from title if omitted).

tagsstring[]body

Array of tag slugs (max 5).

featured_image_urlstringbody

CDN URL for the cover image.

is_premiumbooleanbody

Lock behind subscription (default: false).

scheduled_atstringbody

ISO 8601 datetime to schedule publication; omit to publish immediately.

Response fields

idstring

Unique identifier of the published article.

slugstring

The article's URL slug.

urlstring

Public URL of the published article.

published_atstring

ISO 8601 publication time.

{
  "title": "Building AI Apps with Next.js",
  "content": "## Introduction\n\nThis guide covers...",
  "excerpt": "A practical guide to integrating AI into your Next.js applications.",
  "slug": "building-ai-apps-with-next-js",
  "tags": ["nextjs", "ai", "tutorial"],
  "featured_image_url": "https://...",
  "is_premium": false,
  "scheduled_at": null
}
{
  "id": "uuid",
  "slug": "building-ai-apps-with-next-js",
  "url": "https://www.misar.blog/@johndoe/articles/building-ai-apps-with-next-js",
  "published_at": "2026-04-15T09:00:00Z"
}

Get a Single Article

GET/articles/{slug}

Returns full article data by slug.

Path parameters

slugstringpathrequired

Slug of the article to retrieve.

Response fields

articleobject

Same shape as list items, plus content (full Markdown body).

{
  "id": "uuid",
  "slug": "building-ai-apps-with-next-js",
  "title": "Building AI Apps with Next.js",
  "content": "## Introduction\n\nThis guide covers..."
}

Status codes

  • 401 — Invalid or missing API key
  • 404 — Article not found or belongs to another user
  • 409 — Slug already exists (on create)