Properties
| Name | Type | Description |
|---|---|---|
| title | string | |
| slug | stringnull | Auto-generated from title if not provided |
| content | string | |
| status | string | |
| collection_id | string | Optional collection ID. When omitted, the blog's empty-slug default Posts collection is used. If that default does not exist, collection_id is required. |
| author_id | string | Optional author user ID. Assigning another blog member requires owner or admin access. |
| image | stringnull | |
| published_at | stringnull | Auto-set to now if status is published and not provided |
| tags | array | |
| metadata | object | Custom metadata (max 20 fields, description max 200 chars) |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/justblogged-com/json-schema/justblogged-com-create-post-request-schema.json",
"title": "CreatePostRequest",
"x-generated": "2026-11-13",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/justblogged-com-openapi.yml#/components/schemas/CreatePostRequest",
"type": "object",
"required": [
"title",
"content"
],
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"slug": {
"type": [
"string",
"null"
],
"maxLength": 100,
"pattern": "^(?!(?:[aA][dD][mM][iI][nN]|[lL][oO][gG][iI][nN]|[sS][iI][gG][nN][uU][pP]|[aA][pP][iI]|[aA][sS][sS][eE][tT][sS]|[rR][oO][bB][oO][tT][sS]\\.[tT][xX][tT]|[sS][iI][tT][eE][mM][aA][pP]\\.[xX][mM][lL]|[sS][iI][tT][eE][mM][aA][pP]-[iI][nN][dD][eE][xX]\\.[xX][mM][lL]|[fF][eE][eE][dD]|[rR][sS][sS]|[tT][aA][gG][sS]|[tT][aA][gG]|[cC][oO][lL][lL][eE][cC][tT][iI][oO][nN][sS]|[cC][oO][lL][lL][eE][cC][tT][iI][oO][nN]|[pP][aA][gG][eE][sS]|[pP][aA][gG][eE]|[sS][iI][tT][eE][mM][aA][pP]|[sS][iI][tT][eE][mM][aA][pP][sS]|[sS][eE][aA][rR][cC][hH]|[dD][aA][sS][hH][bB][oO][aA][rR][dD]|[sS][eE][tT][tT][iI][nN][gG][sS]|[pP][rR][oO][fF][iI][lL][eE])$)(?!.*--)(?:[\\p{L}\\p{N}_-]+)?$",
"description": "Auto-generated from title if not provided"
},
"content": {
"type": "string",
"minLength": 1,
"maxLength": 1000000
},
"status": {
"type": "string",
"enum": [
"draft",
"published"
],
"default": "draft"
},
"collection_id": {
"type": "string",
"minLength": 1,
"description": "Optional collection ID. When omitted, the blog's empty-slug default Posts collection is used. If that default does not exist, collection_id is required."
},
"author_id": {
"type": "string",
"minLength": 1,
"description": "Optional author user ID. Assigning another blog member requires owner or admin access."
},
"image": {
"type": [
"string",
"null"
],
"maxLength": 500
},
"published_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "Auto-set to now if status is published and not provided"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\s*(?=[\\p{L}\\p{N}_.-])[\\p{L}\\p{N}\\s_.-]{1,50}\\s*$"
},
"maxItems": 10,
"default": []
},
"metadata": {
"type": "object",
"maxProperties": 20,
"propertyNames": {
"minLength": 1,
"maxLength": 50
},
"properties": {
"description": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"additionalProperties": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"description": "Custom metadata (max 20 fields, description max 200 chars)"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/justblogged-com-create-post-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.