CoreProse API

REST + MCP (Model Context Protocol) for grounded AI content generation. Generate articles with sources, query trends, search public KB incidents — programmatically.

Quickstart

The CoreProse API is REST-style with JSON payloads. Authenticate with a Bearer API key for tenant-scoped endpoints; public endpoints under /api/public/* require no auth.

curl — list public articles
curl https://www.coreprose.com/api/public/kb-articles?locale=en&limit=5
curl — generate a free article
curl -X POST https://www.coreprose.com/api/public/generate-from-link \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/your-source"}'
curl — list trends
curl https://www.coreprose.com/api/public/trends?nicheKey=ia-FR&limit=10
JS / fetch — authenticated call
const res = await fetch('https://www.coreprose.com/api/articles', {
  headers: { 'Authorization': `Bearer ${process.env.COREPROSE_API_KEY}` }
})
const { articles } = await res.json()

MCP server (for AI assistants)

Anthropic standard

CoreProse exposes a Model Context Protocol server so AI assistants (Claude Desktop, ChatGPT with MCP) can call CoreProse tools natively. Public, no auth required.

HTTP / SSE endpoint

POST /api/mcp/sse

JSON-RPC 2.0 over HTTP. Compatible with ChatGPT MCP and any HTTP-MCP client. Streamable transport per MCP spec 2025-03-26.

Stdio transport

npx coreprose-mcp

For Claude Desktop. Add to your claude_desktop_config.json as an MCP server (trends only — articles tools available via HTTP/SSE).

Available tools

list_trends

Trending topics with sources, scores

get_trend

Single trend with full source content

search_trends

Keyword search across trends

list_niches

Available niches with trend counts

list_articles

Public KB articles, filterable by category/language

get_article

Single article with full content + sources

search_articles

Keyword search across public articles

Try it (JSON-RPC initialize)

curl -X POST https://www.coreprose.com/api/mcp/sse \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

CoreProse API

API for programmatic access to CoreProse content generation platform. ## Authentication All API requests require authentication via API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: cp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ``` API keys can be created and managed from your [dashboard](/api-keys). Public endpoints (under `/public/*`) do not require authentication. ## Rate Limits Rate limits vary by plan: - **Free**: 100 requests/minute - **Starter**: 200 requests/minute - **Pro**: 500 requests/minute - **Business**: 2000 requests/minute ## Errors The API uses standard HTTP status codes: - `200` - Success - `400` - Bad Request (invalid parameters) - `401` - Unauthorized (missing or invalid API key) - `403` - Forbidden (insufficient permissions or quota exceeded) - `404` - Not Found - `409` - Conflict (duplicate resource) - `422` - Unprocessable Entity (e.g. KB coverage too low) - `429` - Too Many Requests (rate limit exceeded) - `500` - Internal Server Error
Server:https://www.coreprose.com/api

Articles

Article generation and management

GET/articlesList articles
GET/writer/{id}Get article by ID
PATCH/writer/{id}Update article
DELETE/writer/{id}Delete article
POST/writer/generateGenerate article directly
POST/writer/generate-planGenerate article plan
POST/writer/generate-from-planGenerate article from plan
GET/writer/generation-status/{articleId}Get article generation status
POST/writer/check-kb-coverageCheck KB coverage for topic
POST/writer/enrich-kb-topicOn-demand KB enrichment
GET/writer/enrichment-status/{taskId}Poll enrichment task progress
POST/writer/suggest-topicSuggest topic
POST/writer/validate-topicValidate topic
GET/writer/available-lengthsGet available article lengths
POST/writer/{id}/publishPublish article
GET/writer/{id}/export-pdfExport article as PDF

Agents

AI agent management

GET/agentsList agents
POST/agentsCreate agent
GET/agents/{id}Get agent by ID
PATCH/agents/{id}Update agent
DELETE/agents/{id}Delete agent
POST/agents/{id}/toggleEnable/disable agent
POST/agents/{id}/executeExecute agent
GET/agents/{id}/executionsGet execution history
POST/agents/{id}/websearch-premiumToggle WebSearch Premium
GET/agents/eventsAgent status events (SSE)

Niches

Niche/topic management

GET/nichesList niches
POST/nichesCreate custom niche
GET/niches/listSimple niche list
GET/niches/activatedGet activated niches
GET/niches/{id}Get niche details
PATCH/niches/{id}Update niche settings
DELETE/niches/{id}Delete custom niche
POST/niches/{id}/activateActivate niche
POST/niches/{id}/deactivateDeactivate niche
GET/niches/{id}/dashboardGet niche dashboard
GET/niches/{id}/settingsGet niche settings
PATCH/niches/{id}/settingsUpdate niche settings
GET/niches/{id}/article-scheduleGet article schedule
PATCH/niches/{id}/article-scheduleUpdate article schedule
POST/niches/{id}/websearch-premiumToggle WebSearch Premium for niche
POST/niches/requestRequest new niche

KB Coverage

Knowledge Base coverage and SEO analysis

GET/kb/{nicheKey}/statsGet KB statistics
GET/kb/{nicheKey}/entitiesGet KB entities
GET/kb/{nicheKey}/graphGet entity graph
GET/governance/{nicheKey}Get governance evaluation
GET/seo/topic-coverageGet topic coverage analysis
POST/seo/topic-coverageRefresh topic coverage

Integrations

Third-party integrations (WordPress, Shopify, etc.)

GET/integrationsList integrations
POST/integrationsCreate integration
GET/integrations/providersList available providers
GET/integrations/{id}Get integration details
PATCH/integrations/{id}Update integration
DELETE/integrations/{id}Delete integration
POST/integrations/{id}/testTest integration connection
POST/integrations/{id}/publishPublish article via integration
GET/integrations/providers/{provider}/optionsGet provider-specific options

Documents

Private document management

GET/documentsList private documents
GET/documents/availableGet available documents
POST/documents/uploadUpload private document
POST/documents/urlAdd document from URL
GET/documents/{id}Get document details
PATCH/documents/{id}Update document metadata
DELETE/documents/{id}Delete document
POST/documents/searchSemantic search in KB

Tenant

Account and quota information

GET/tenantGet tenant details
GET/tenant/quotasGet account quotas
PATCH/tenant/settingsUpdate tenant settings

Public

Public endpoints (no authentication required)

GET/public/trend-radarGet trending topics
POST/public/trend-alertsSubscribe to trend alerts
POST/public/trend-radar-clickRecord trend engagement
GET/public/kb-articlesList public KB articles
GET/public/kb-articles/{slug}Get public KB article
GET/public/statsPlatform statistics
GET/public/top-nichesTop niches by score

Team

Team member management and invitations

GET/teamList team members
POST/team/inviteInvite team member
PATCH/team/{id}Update team member role
DELETE/team/{id}Remove team member

Account

Account profile management

GET/accountGet account details
PATCH/account/profileUpdate profile

Reviews

User reviews and ratings

GET/reviewsList reviews
POST/reviewsSubmit a review
GET/reviews/my-reviewGet my review
PATCH/reviews/{id}Update review
DELETE/reviews/{id}Delete review
POST/reviews/{id}/helpfulMark review as helpful

Translation

Translate articles, text, and documents to 13 languages. Credits are consumed based on word count tiers (1-15 credits per translation). Plans: Starter (30/mo), Pro (150/mo), Business (500/mo).

GET/writer/translate-creditsGet translation credit usage
POST/writer/{id}/translateTranslate a published article

Schemas

Article

ArticlePlan

Agent

Niche

Integration

Document

TrendTopic

KBArticleSummary

KBArticle

Review

TeamMember

Error

ProviderOptions

PublishOptionField

IntegrationConstraints

SettingField