--- title: "Create and publish multiple articles" slug: "create-and-publish-multiple-articles" description: "Automate content creation with the v3 API to publish multiple articles in one request, reducing manual effort across categories and workspaces." updated: 2026-09-05T18:20:14Z published: 2026-09-05T18:20:14Z canonical: "apidocs.document360.com/create-and-publish-multiple-articles" --- > ## Documentation Index > Fetch the complete documentation index at: https://apidocs.document360.com/llms.txt > Use this file to discover all available pages before exploring further. # Create and publish multiple articles You can use the v3 API to create and publish multiple articles in a single request. This helps you automate content creation across categories and workspaces, reducing manual effort. ## Before you begin As with a single article, you need a `project_id`, and each article needs a `workspace_id` and a `category_id`. Retrieve them from `GET /v3/projects`, `GET …/workspaces`, and `GET …/workspaces/{workspace_id}/categories`. You also need an API key, sent as the `X-API-Key` header on every request. See *Generating an API key*. Note Bulk operations are capped at 100 items per request. Each item is processed independently, so some can succeed while others fail. Always inspect the per-item results. ## Step 1 - Create multiple articles ``` POST /v3/projects/{project_id}/articles/bulk ``` ``` curl --request POST "https://apihub.document360.io/v3/projects/{project_id}/articles/bulk" \ --header "X-API-Key: YOUR_API_KEY" \ --header "Content-Type: application/json" \ --data '{ "articles": [ { "title": "Getting Started with Single Sign-On", "content": "# Introduction\nThis guide walks you through configuring SSO.", "category_id": "f4a5b6c7-d8e9-0a1b-2c3d-4e5f6a7b8c9d", "workspace_id": "1c2d3e4f-5a6b-7c8d-9e0f-a1b2c3d4e5f6" }, { "title": "Configuring SAML Identity Providers", "content": "# SAML Configuration\nStep-by-step SAML setup.", "category_id": "f4a5b6c7-d8e9-0a1b-2c3d-4e5f6a7b8c9d", "workspace_id": "1c2d3e4f-5a6b-7c8d-9e0f-a1b2c3d4e5f6" } ] }' ``` The response returns one result per article, including the input `index`, the new `id`, a `success` flag, and `details`. The top-level `success` is `true` only if every item succeeded. ``` { "success": true, "request_id": "req_abc123def456", "data": [ { "index": 0, "id": "9a3b4c5d-6e7f-8a9b-0c1d-2e3f4a5b6c7d", "success": true, "details": "Article created successfully." }, { "index": 1, "id": "c5d6e7f8-9a0b-1c2d-3e4f-5a6b7c8d9e0f", "success": true, "details": "Article created successfully." } ] } ``` Save the `id` values. You need them to publish. ## Step 2 - Publish multiple articles Publish up to 100 articles by supplying them in `items`. Each entry takes an `id` and an optional `comment`. The language is passed as a query parameter. ``` POST /v3/projects/{project_id}/articles/bulk/publish?lang_code=en ``` ``` curl --request POST "https://apihub.document360.io/v3/projects/{project_id}/articles/bulk/publish?lang_code=en" \ --header "X-API-Key: YOUR_API_KEY" \ --header "Content-Type: application/json" \ --data '{ "items": [ { "id": "9a3b4c5d-6e7f-8a9b-0c1d-2e3f4a5b6c7d" }, { "id": "c5d6e7f8-9a0b-1c2d-3e4f-5a6b7c8d9e0f", "comment": "Publishing after review" } ] }' ``` Note `comment` is required for an article when its workflow status has mandatory publish comments enabled; otherwise it is optional. ``` { "success": true, "request_id": "req_abc123def456", "data": [ { "index": 0, "id": "9a3b4c5d-6e7f-8a9b-0c1d-2e3f4a5b6c7d", "success": true, "details": "Published." }, { "index": 1, "id": "c5d6e7f8-9a0b-1c2d-3e4f-5a6b7c8d9e0f", "success": true, "details": "Published." } ] } ``` Note If any item fails, the top-level `success` is `false` while other items still succeed. Use the `index` field to correlate each result with the ID you sent. ## Related - [Create and publish an article](/create-and-publish-an-article.md) - [Create an article](/create-an-article.md) - [Update a published article](/update-a-published-article.md)