---
title: "Ingest a blog post (staged as draft for review)"
method: POST
path: "/blog"
---

# Ingest a blog post (staged as draft for review)

`POST /blog`

## Request

- Base URL: `https://sendinel.ai/api/v1`
- URL: `https://sendinel.ai/api/v1/blog`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://sendinel.ai/oauth/authorize`, token URL `https://sendinel.ai/oauth/token`)

Sender-owns-schema ingest — only `title` is required; every other field is mapped from whatever arrives and the full raw payload is preserved. The post lands as `draft` for review; publishing to the user's own site is a separate step. Requires the `blog:write` scope.

## Response `201`

Created blog post (draft).

## Other responses

- `422`: Missing or invalid field.

---

[API](https://skmtc.dev/sendinel/apis/sendinel-api.md) · [All operations](https://skmtc.dev/sendinel/apis/sendinel-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sendinel/apis/sendinel-api/revisions/20b2c6d5616d?raw)
