Create an article

Creates a new article in the project the API key is scoped to. Use this when you generate content with your own agents and want ArticlesQ to host it (e.g. for the backlinks exchange). The article body is markdown.

POST
/articles

Creates a new article in the project the API key is scoped to. Use this when you generate content with your own agents and want ArticlesQ to host it (e.g. for the backlinks exchange). The article body is markdown.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

ArticlesQ API key sent as Authorization: Bearer aq_live_.... Each key is scoped to a single project.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

import ArticlesQ from "@articlesq/sdk";const articlesq = new ArticlesQ({ apiKey: process.env.ARTICLESQ_API_KEY });const { data, error } = await articlesq.articles.create({  title: "10 Link Building Strategies That Actually Work",  keyword: "link building strategies",  content: "# Introduction\n\nYour markdown here...",});
{
  "article": {
    "id": "clx1abc234abcdef0123456789",
    "slug": "best-crm-for-startups",
    "title": "Best CRM for Startups in 2026",
    "keyword": "best crm for startups",
    "metaDescription": "A practical guide to choosing the right CRM when you're under 50 employees.",
    "content": "# Introduction\n\nIf you're a startup founder evaluating CRM tools...",
    "status": "draft",
    "datePublished": "2026-05-23T00:00:00.000Z",
    "dateModified": null
  }
}
{
  "error": {
    "title": "Unauthorized",
    "status": 401,
    "code": "missing_auth",
    "message": "Missing Authorization header",
    "instance": "/api/v1/articles",
    "details": {
      "property1": {},
      "property2": {}
    }
  }
}

{
  "error": {
    "title": "Unauthorized",
    "status": 401,
    "code": "missing_auth",
    "message": "Missing Authorization header",
    "instance": "/api/v1/articles"
  }
}

{
  "error": {
    "title": "Forbidden",
    "status": 403,
    "code": "insufficient_scope",
    "message": "Missing required scope: articles:write",
    "instance": "/api/v1/articles"
  }
}
{
  "error": {
    "title": "Error",
    "status": 409,
    "code": "slug_conflict",
    "message": "An article with that slug already exists in this project.",
    "instance": "/api/v1/articles"
  }
}