Your API key. Create one in Ocoya. Authorization: Bearer <key> works too.
Create a scheduled or a draft SEO post
Creates an SEO post from your own title and Markdown body, with an optional thumbnail (a URL, an upload or AI-generated), SEO fields and blog channels. Saved as a draft, scheduled with scheduledAt, or published with publishNow.
Create a scheduled or a draft SEO post
curl --request POST \
--url https://www.app.ocoya.com/api/_public/v1/seo \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"title": "How to plan a content calendar in one afternoon",
"body": "A content calendar is…\n\n## Start with your goals\n\n…",
"slug": "how-to-plan-a-content-calendar",
"excerpt": "<string>",
"seoTitle": "<string>",
"metaDescription": "<string>",
"keyword": "content calendar",
"tags": [
"Marketing"
],
"channelIds": [
"clh49poxf008x8kov4ncbjty9"
],
"cms": {
"webflow": {
"status": "draft"
},
"framer": {
"status": "draft"
},
"wix": {
"status": "draft"
}
},
"thumbnail": {
"url": "https://example.com/cover.jpg",
"data": "<string>",
"generate": true,
"prompt": "A laptop on a café table with a planner open",
"aspectRatio": "16:9"
},
"scheduledAt": "2024-01-01T00:00:00Z",
"publishNow": false
}
'{
"postGroupId": "cmajvvb9q0003ja5vh0538j6r",
"status": "DRAFT",
"scheduledAt": null
}Authorizations
Body
application/json
The search phrase the post targets. The SEO score checks against it and the brand's keywords.
Blog or site channels to publish to: WordPress, DEV, Notion, Webflow, Framer, Wix or Webhook. Get IDs from GET /channels.
Per-CMS settings, applied when the post has a channel on that CMS. Each is live unless set. WordPress and DEV always publish live.
Was this page helpful?