BlogPostRequest
Create a blog post DRAFT. Field names are snake_case. HTML in `content` is sanitized server-side to a safe subset of tags. Posts are always created as drafts and never auto-published. Do not send `status` (or set it to "draft"). The article body must meet the GEO content standard or the request is rejected with 400 and nothing is saved: - Any article of 800+ words must be broken into at least 5
sections (the FAQ heading counts as one). - Every article must end with an Frequently Asked Questions
section containing 3-5 Q&As, each question in an and each answer in the
that follows it. - Every FAQ answer must be at least 40 characters — a full self-contained sentence an answer engine can quote. - Every statistic or data claim (a percentage, a dollar figure, a ratio, a median/average) must carry an inline source citation in the same sentence: a link to the source, "according to ", or a "(Source: Publication, Year)" parenthetical. - Numbers inside double quotes are read as illustrative examples (a sample founder script, say) and are exempt from the citation rule — do not use quotes to smuggle a real claim past it. - FAQPage JSON-LD is generated automatically from the on-page FAQ section — do not hand-write a schema block; it will be ignored and can conflict with the generated one.
CompanyAIFundraisingVentureCapitalStartup
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/investormatch-pro/json-schema/investormatch-pro-blog-post-request-schema.json",
"title": "BlogPostRequest",
"description": "Create a blog post DRAFT. Field names are snake_case. HTML in `content` is sanitized server-side to a safe subset of tags. Posts are always created as drafts and never auto-published. Do not send `status` (or set it to \"draft\"). The article body must meet the GEO content standard or the request is rejected with 400 and nothing is saved:\n- Any article of 800+ words must be broken into at least 5 <h2> sections (the FAQ heading counts as one).\n- Every article must end with an <h2>Frequently Asked Questions</h2> section containing 3-5 Q&As, each question in an <h3> and each answer in the <p> that follows it.\n- Every FAQ answer must be at least 40 characters — a full self-contained sentence an answer engine can quote.\n- Every statistic or data claim (a percentage, a dollar figure, a ratio, a median/average) must carry an inline source citation in the same sentence: a link to the source, \"according to <publication>\", or a \"(Source: Publication, Year)\" parenthetical.\n- Numbers inside double quotes are read as illustrative examples (a sample founder script, say) and are exempt from the citation rule — do not use quotes to smuggle a real claim past it.\n- FAQPage JSON-LD is generated automatically from the on-page FAQ section — do not hand-write a schema block; it will be ignored and can conflict with the generated one.",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/_original/investormatch-pro-api-openapi.json#/components/schemas/BlogPostRequest",
"type": "object",
"required": [
"title",
"content"
],
"properties": {
"title": {
"type": "string",
"minLength": 3,
"maxLength": 200
},
"content": {
"type": "string",
"minLength": 1,
"maxLength": 80000,
"description": "Article HTML. Sanitized server-side; <h1> demoted to <h2>. Must carry at least 5 <h2> sections once it reaches 800 words, a closing \"<h2>Frequently Asked Questions</h2>\" section of 3-5 <h3>question</h3><p>answer</p> pairs (the FAQPage JSON-LD is generated from it), and an inline source citation on every statistic."
},
"excerpt": {
"type": "string",
"maxLength": 500
},
"slug": {
"type": "string",
"maxLength": 80,
"description": "Optional. Auto-generated from the title if omitted."
},
"meta_title": {
"type": "string",
"maxLength": 200
},
"meta_description": {
"type": "string",
"maxLength": 320
},
"category": {
"type": "string",
"maxLength": 80
},
"tags": {
"type": "array",
"maxItems": 15,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"featured_image": {
"type": "string",
"maxLength": 2000,
"description": "Optional. Must be a valid http(s) URL."
},
"featured_image_alt": {
"type": "string",
"maxLength": 300
},
"og_image": {
"type": "string",
"maxLength": 2000,
"description": "Optional. Must be a valid http(s) URL."
},
"author_name": {
"type": "string",
"maxLength": 120
},
"author_title": {
"type": "string",
"maxLength": 160
},
"author_bio": {
"type": "string",
"maxLength": 1000
},
"ai_prompt": {
"type": "string",
"maxLength": 5000
}
}
}
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.
All 92 tools →
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/investormatch-pro-blog-post-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.