{
  "info": {
    "_postman_id": "c1a2b3d4-e5f6-7890-abcd-ef1234567890",
    "name": "ContentHub REST API",
    "description": "Complete REST API collection for ContentHub v1.1. Covers Content, Products, Projects, Knowledge Base, and Publish Slots.\n\n**Authentication:** All requests use Bearer token auth. Set the `api_key` variable in the accompanying environment file — generate a key at **Settings → API Keys** in your workspace dashboard.\n\n**Setup:**\n1. Import this collection\n2. Import `contenthub.postman_environment.json`\n3. Select the **ContentHub API** environment\n4. Set `api_key` to your key (format: `uch_live_...`)\n5. Set `base_url` to your ContentHub domain (default: `http://localhost:3000/api/v1`)",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_exporter_id": "contenthub"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{api_key}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "base_url",
      "value": "http://localhost:3000/api/v1",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "Content",
      "description": "Manage content items across all projects. Requires `content:read` for reads and `content:write` for mutations.",
      "item": [
        {
          "name": "List Content",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content?page=1&limit=20",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number (default: 1)"
                },
                {
                  "key": "limit",
                  "value": "20",
                  "description": "Items per page (max: 100)"
                },
                {
                  "key": "projectId",
                  "value": "{{project_id}}",
                  "description": "Filter by project ID",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "DRAFT",
                  "description": "Filter by status: DRAFT | REVIEW | APPROVED | SCHEDULED | PUBLISHED | FAILED",
                  "disabled": true
                }
              ]
            },
            "description": "Returns a paginated list of content items for your workspace.\n\n**Required scope:** `content:read`"
          },
          "response": []
        },
        {
          "name": "Get Content",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content/{{content_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                "{{content_id}}"
              ]
            },
            "description": "Returns a single content item including the full body text.\n\n**Required scope:** `content:read`"
          },
          "response": []
        },
        {
          "name": "Create Content",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"{{project_id}}\",\n  \"title\": \"How to Reduce Warehouse Costs in 2026\",\n  \"body\": \"<p>Modern warehouses face increasing pressure to reduce costs...</p>\",\n  \"contentType\": \"EDUCATIONAL\",\n  \"metaTitle\": \"Reduce Warehouse Costs 2026\",\n  \"metaDesc\": \"Practical strategies to cut warehouse operating costs.\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/content",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content"
              ]
            },
            "description": "Creates a new content draft.\n\n**Required scope:** `content:write`"
          },
          "response": []
        },
        {
          "name": "Update Content",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"Updated Title\",\n  \"status\": \"REVIEW\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/content/{{content_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                "{{content_id}}"
              ]
            },
            "description": "Updates a content item. All fields optional.\n\n**Required scope:** `content:write`"
          },
          "response": []
        },
        {
          "name": "Delete Content",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content/{{content_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                "{{content_id}}"
              ]
            },
            "description": "Permanently deletes a content item.\n\n**Required scope:** `content:write`"
          },
          "response": []
        },
        {
          "name": "Trigger AI Generation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"topic\": \"Benefits of automated inventory management for mid-sized distributors\",\n  \"keywords\": [\"inventory automation\", \"warehouse management\", \"ERP integration\"],\n  \"contentType\": \"EDUCATIONAL\",\n  \"wordCountMin\": 1200,\n  \"wordCountMax\": 1500,\n  \"targetLanguage\": \"en\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/content/{{content_id}}/generate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                "{{content_id}}",
                "generate"
              ]
            },
            "description": "Enqueues an AI generation job. Poll `GET /content/{id}` for completion.\n\n**Required scope:** `content:generate`"
          },
          "response": []
        },
        {
          "name": "Publish Content",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"{{project_id}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/content/{{content_id}}/publish",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                "{{content_id}}",
                "publish"
              ]
            },
            "description": "Publishes content to a WordPress project immediately. Add `scheduledAt` (ISO 8601) to schedule for a future time instead.\n\n**Required scope:** `content:publish`"
          },
          "response": []
        },
        {
          "name": "Schedule Content Publish",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"{{project_id}}\",\n  \"scheduledAt\": \"2026-06-02T08:00:00.000Z\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/content/{{content_id}}/publish",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                "{{content_id}}",
                "publish"
              ]
            },
            "description": "Schedules content for future publishing at a specific datetime. Content status becomes `SCHEDULED`.\n\n**Required scope:** `content:publish`"
          },
          "response": []
        },
        {
          "name": "Queue to Next Slot",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"{{project_id}}\",\n  \"slotScheduleId\": \"{{slot_id}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/content/{{content_id}}/publish",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                "{{content_id}}",
                "publish"
              ]
            },
            "description": "Queues content to the next available occurrence of a Publish Slot Schedule. The server auto-resolves the next slot time — no need to call `/upcoming` first.\n\nContent status becomes `SCHEDULED`. The resolved `scheduledAt` datetime is returned in the response.\n\n**Required scope:** `content:publish`\n\nSet `slot_id` to a schedule ID from `GET /publish-slots`."
          },
          "response": []
        },
        {
          "name": "Get Publish History",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content/{{content_id}}/publish-history",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                "{{content_id}}",
                "publish-history"
              ]
            },
            "description": "Returns all publish records for this content item.\n\n**Required scope:** `content:read`"
          },
          "response": []
        },
        {
          "name": "Get content",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Returns a single content item including full body text.\n\n**Required scope:** `content:read`"
          },
          "response": []
        },
        {
          "name": "Update content",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/content/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Updates a content item. All fields are optional — only provided fields are changed.\n\n**Required scope:** `content:write`"
          },
          "response": []
        },
        {
          "name": "Delete content",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Permanently deletes a content item.\n\n**Required scope:** `content:write`"
          },
          "response": []
        },
        {
          "name": "Trigger AI generation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/content/:id/generate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id",
                "generate"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Enqueues an AI content generation job for an existing content record. The job runs asynchronously — poll `GET /content/{id}` for status changes (DRAFT → body populated).\n\nCounts against your monthly generation quota.\n\n**Required scope:** `content:generate`"
          },
          "response": []
        },
        {
          "name": "Publish or schedule content",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/content/:id/publish",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id",
                "publish"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Enqueues a publish job to a WordPress project. Supports three modes:\n\n1. **Immediate** — omit both `scheduledAt` and `slotScheduleId`\n2. **Scheduled** — provide `scheduledAt` (ISO 8601 datetime)\n3. **Queue to Slot** — provide `slotScheduleId` (server auto-resolves next occurrence)\n\n> **Queue to Slot workflow:** `GET /publish-slots` → copy any schedule `id` → pass as `slotScheduleId` here.\n\nContent must be `APPROVED` or `PUBLISHED` (re-publish allowed for staging → production).\n\n**Required scope:** `content:publish`"
          },
          "response": []
        },
        {
          "name": "Get publish history",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content/:id/publish-history",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id",
                "publish-history"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Returns all publish records for this content item — one per target project.\n\n**Required scope:** `content:read`"
          },
          "response": []
        },
        {
          "name": "Create post (multi-platform fan-out)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/content/create-post",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                "create-post"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Creates one post per requested platform, always in the workspace's default language (Client.defaultLanguage). `languages` is no longer a recognized field (breaking change, 2026-08-09) — see docs/rest-api.md for detail.\n\n**Required scope:** `content:generate`"
          },
          "response": []
        },
        {
          "name": "Regenerate content from its stored generation seed",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/content/:id/regenerate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id",
                "regenerate"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `content:generate`"
          },
          "response": []
        },
        {
          "name": "Archive a content item",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content/:id/archive",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id",
                "archive"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `content:write`"
          },
          "response": []
        },
        {
          "name": "Unarchive a content item",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content/:id/unarchive",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id",
                "unarchive"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `content:write`"
          },
          "response": []
        },
        {
          "name": "Retry a failed publish",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content/:id/publish/retry",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id",
                "publish",
                "retry"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `content:publish`"
          },
          "response": []
        },
        {
          "name": "Content calendar (grid or agenda view)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content/calendar",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                "calendar"
              ],
              "query": [
                {
                  "key": "view",
                  "value": "",
                  "description": "grid (default) or agenda",
                  "disabled": true
                },
                {
                  "key": "from",
                  "value": "",
                  "description": "ISO 8601 datetime (required)",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "ISO 8601 datetime (required)",
                  "disabled": true
                }
              ]
            },
            "description": "**Required scope:** `content:read`"
          },
          "response": []
        },
        {
          "name": "Regenerate the featured image",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content/:id/featured-image/regenerate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id",
                "featured-image",
                "regenerate"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `content:generate`"
          },
          "response": []
        },
        {
          "name": "Read public preview state",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content/:id/preview",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id",
                "preview"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `content:read`"
          },
          "response": []
        },
        {
          "name": "Disable the public preview link",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content/:id/preview",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id",
                "preview"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `content:write`"
          },
          "response": []
        },
        {
          "name": "Create/reuse or regenerate the public preview token",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/content/:id/preview/token",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content",
                ":id",
                "preview",
                "token"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `content:write`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Products",
      "description": "Manage your workspace product catalog. Ideal for syncing from an ERP or PIM system. Requires `products:read` for reads and `products:write` for mutations.",
      "item": [
        {
          "name": "List Products",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/products?page=1&limit=50",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "products"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "50"
                },
                {
                  "key": "active",
                  "value": "true",
                  "disabled": true
                }
              ]
            },
            "description": "Returns a paginated list of products.\n\n**Required scope:** `products:read`"
          },
          "response": []
        },
        {
          "name": "Get Product",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/products/{{product_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "products",
                "{{product_id}}"
              ]
            },
            "description": "Returns a single product.\n\n**Required scope:** `products:read`"
          },
          "response": []
        },
        {
          "name": "Create Product",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Widget Pro 5000\",\n  \"description\": \"Industrial-grade widget with 5-year warranty.\",\n  \"productLink\": \"https://yourstore.com/products/widget-pro-5000\",\n  \"imageUrl\": \"https://yourstore.com/images/widget-pro.jpg\",\n  \"price\": 299.99,\n  \"discountPrice\": 249.99\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/products",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "products"
              ]
            },
            "description": "Adds a product to your catalog.\n\n**Required scope:** `products:write`"
          },
          "response": []
        },
        {
          "name": "Update Product",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"price\": 319.99,\n  \"discountPrice\": 269.99,\n  \"active\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/products/{{product_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "products",
                "{{product_id}}"
              ]
            },
            "description": "Updates a product. All fields optional.\n\n**Required scope:** `products:write`"
          },
          "response": []
        },
        {
          "name": "Delete Product",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/products/{{product_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "products",
                "{{product_id}}"
              ]
            },
            "description": "Permanently deletes a product from the catalog.\n\n**Required scope:** `products:write`"
          },
          "response": []
        },
        {
          "name": "Get product",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/products/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "products",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Returns a single product.\n\n**Required scope:** `products:read`"
          },
          "response": []
        },
        {
          "name": "Update product",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/products/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "products",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Updates a product. All fields are optional — only provided fields are changed.\n\n**Required scope:** `products:write`"
          },
          "response": []
        },
        {
          "name": "Delete product",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/products/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "products",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Permanently deletes a product from your workspace catalog.\n\n**Required scope:** `products:write`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Projects",
      "description": "Read project metadata and platform configuration. Projects are read-only via REST. Requires `projects:read`.",
      "item": [
        {
          "name": "List Projects",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects?page=1&limit=20",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "20"
                }
              ]
            },
            "description": "Returns all projects in your workspace.\n\n**Required scope:** `projects:read`"
          },
          "response": []
        },
        {
          "name": "Get Project",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects/{{project_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                "{{project_id}}"
              ]
            },
            "description": "Returns a single project.\n\n**Required scope:** `projects:read`"
          },
          "response": []
        },
        {
          "name": "Create integration metadata (no credentials)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/projects",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `projects:write`"
          },
          "response": []
        },
        {
          "name": "Get project",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Returns a single project.\n\n**Required scope:** `projects:read`"
          },
          "response": []
        },
        {
          "name": "Update integration metadata (no credentials)",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/projects/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `projects:write`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Knowledge Base",
      "description": "Add and manage knowledge base sources per project. Sources are embedded into vectors for AI context during generation. Requires `kb:read` for reads and `kb:write` for mutations.",
      "item": [
        {
          "name": "List KB Sources",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects/{{project_id}}/kb",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                "{{project_id}}",
                "kb"
              ]
            },
            "description": "Returns all knowledge base sources for a project. Poll `status` field — `PENDING`/`PROCESSING` → `READY` once embedding is complete.\n\n**Required scope:** `kb:read`"
          },
          "response": []
        },
        {
          "name": "Add KB Source — URL",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"URL\",\n  \"url\": \"https://yoursite.com/product-catalogue\",\n  \"name\": \"Product Catalogue\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/projects/{{project_id}}/kb",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                "{{project_id}}",
                "kb"
              ]
            },
            "description": "Adds a URL as a knowledge base source. ContentHub fetches and embeds the page content asynchronously.\n\n**Required scope:** `kb:write`"
          },
          "response": []
        },
        {
          "name": "Add KB Source — Text",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"TEXT\",\n  \"name\": \"Brand Voice Guidelines\",\n  \"content\": \"Our brand is professional, friendly, and expert. We avoid jargon and write for a B2B audience...\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/projects/{{project_id}}/kb",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                "{{project_id}}",
                "kb"
              ]
            },
            "description": "Adds plain text as a knowledge base source. Useful for brand guidelines, product specs, or style notes.\n\n**Required scope:** `kb:write`"
          },
          "response": []
        },
        {
          "name": "Delete KB Source",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects/{{project_id}}/kb/{{kb_source_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                "{{project_id}}",
                "kb",
                "{{kb_source_id}}"
              ]
            },
            "description": "Deletes a knowledge base source and all its embedded chunks.\n\n**Required scope:** `kb:write`"
          },
          "response": []
        },
        {
          "name": "List KB sources",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects/:id/kb",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "kb"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Returns all knowledge base sources for a project, ordered by creation date.\n\n**Required scope:** `kb:read`"
          },
          "response": []
        },
        {
          "name": "Add KB source",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/projects/:id/kb",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "kb"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Adds a URL or plain-text knowledge base source to a project and enqueues an embedding job. The source becomes `READY` once the job completes — poll `GET /projects/{id}/kb` for status.\n\n> **Note:** File uploads require presigned upload URLs and are not supported via REST API.\n\n**Required scope:** `kb:write`"
          },
          "response": []
        },
        {
          "name": "Delete KB source",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects/:id/kb/:sourceId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "kb",
                ":sourceId"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                },
                {
                  "key": "sourceId",
                  "value": ""
                }
              ]
            },
            "description": "Permanently deletes a knowledge base source and all its embedded chunks.\n\n**Required scope:** `kb:write`"
          },
          "response": []
        },
        {
          "name": "AI-suggested duplicate/conflict relations for a KB source",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects/:id/kb/:sourceId/relations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "kb",
                ":sourceId",
                "relations"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                },
                {
                  "key": "sourceId",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `kb:read`"
          },
          "response": []
        },
        {
          "name": "Acknowledge or resolve a KB source relation",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/projects/:id/kb/:sourceId/relations/:relationId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "kb",
                ":sourceId",
                "relations",
                ":relationId"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                },
                {
                  "key": "sourceId",
                  "value": ""
                },
                {
                  "key": "relationId",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `kb:write`"
          },
          "response": []
        },
        {
          "name": "Upload a KB document file (multipart/form-data, field: file)",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects/:id/kb/files",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "kb",
                "files"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `kb:write`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Publish Slots",
      "description": "Define timezone-aware one-time, daily, weekly, and monthly publish schedules. Open occurrences are virtual; assigning content creates a durable reservation. Requires `slots:read` and `slots:write`.",
      "item": [
        {
          "name": "List Publish Slots",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/publish-slots?page=1&limit=20",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "publish-slots"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "20"
                }
              ]
            },
            "description": "Returns all publish slot schedules for your workspace.\n\n**Required scope:** `slots:read`"
          },
          "response": []
        },
        {
          "name": "Get Occurrence Availability",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/publish-slots/{{slot_id}}/occurrences?count=10",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "publish-slots",
                "{{slot_id}}",
                "occurrences"
              ],
              "query": [
                {
                  "key": "count",
                  "value": "10"
                }
              ]
            },
            "description": "Returns exact UTC/local times, timezone, occupancy, remaining capacity, readiness status, and assigned-content summaries.\n\n**Required scope:** `slots:read`"
          },
          "response": []
        },
        {
          "name": "Get Publish Slot",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/publish-slots/{{slot_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "publish-slots",
                "{{slot_id}}"
              ]
            },
            "description": "Returns a single publish slot schedule.\n\n**Required scope:** `slots:read`"
          },
          "response": []
        },
        {
          "name": "Get Upcoming Slot Times",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/publish-slots/{{slot_id}}/upcoming?count=5",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "publish-slots",
                "{{slot_id}}",
                "upcoming"
              ],
              "query": [
                {
                  "key": "count",
                  "value": "5",
                  "description": "Number of upcoming times to return (1–20)"
                }
              ]
            },
            "description": "Returns the next N upcoming slot datetimes. Use these as `scheduledAt` values when calling `POST /content/{id}/publish`.\n\n**Required scope:** `slots:read`"
          },
          "response": []
        },
        {
          "name": "Create Publish Slot",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"{{project_id}}\",\n  \"label\": \"Weekday Morning Post\",\n  \"platform\": \"WORDPRESS\",\n  \"recurrence\": \"WEEKLY\",\n  \"startDateLocal\": \"2026-07-20\",\n  \"hour\": 8,\n  \"minute\": 0,\n  \"timezone\": \"Asia/Bangkok\",\n  \"interval\": 1,\n  \"weekdays\": [1, 2, 3, 4, 5],\n  \"endCondition\": \"NEVER\",\n  \"maxPostsPerSlot\": 1,\n  \"active\": true,\n  \"autoGenerate\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/publish-slots",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "publish-slots"
              ]
            },
            "description": "Creates a timezone-aware schedule. API keys cannot enable autoGenerate. maxPostsPerSlot is deprecated and ignored; every occurrence accepts one article.\n\n**Required scope:** `slots:write`"
          },
          "response": []
        },
        {
          "name": "Update Publish Slot",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"hour\": 9,\n  \"active\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/publish-slots/{{slot_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "publish-slots",
                "{{slot_id}}"
              ]
            },
            "description": "Updates a publish slot schedule. All fields optional.\n\n**Required scope:** `slots:write`"
          },
          "response": []
        },
        {
          "name": "Delete Publish Slot",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/publish-slots/{{slot_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "publish-slots",
                "{{slot_id}}"
              ]
            },
            "description": "Soft-deletes a schedule. The request is blocked while future assignments remain.\n\n**Required scope:** `slots:write`"
          },
          "response": []
        },
        {
          "name": "Get publish slot schedule",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/publish-slots/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "publish-slots",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Returns a single publish slot schedule.\n\n**Required scope:** `slots:read`"
          },
          "response": []
        },
        {
          "name": "Update publish slot schedule",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/publish-slots/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "publish-slots",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Updates a publish slot schedule. All fields are optional. The BullMQ cron job is re-registered when timing fields change.\n\n**Required scope:** `slots:write`"
          },
          "response": []
        },
        {
          "name": "Delete publish slot schedule",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/publish-slots/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "publish-slots",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Soft-deletes a schedule after confirming it has no future assignments. Historical records are preserved.\n\n**Required scope:** `slots:write`"
          },
          "response": []
        },
        {
          "name": "Get upcoming slot times",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/publish-slots/:id/upcoming",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "publish-slots",
                ":id",
                "upcoming"
              ],
              "query": [
                {
                  "key": "count",
                  "value": "",
                  "description": "Number of upcoming times to return (1–20)",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Returns the next N upcoming slot datetimes for a schedule. Useful for previewing when content will be queued or to pick a `scheduledAt` value for `POST /content/{id}/publish`.\n\n**Required scope:** `slots:read`"
          },
          "response": []
        },
        {
          "name": "Get rich upcoming occurrence availability",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/publish-slots/:id/occurrences",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "publish-slots",
                ":id",
                "occurrences"
              ],
              "query": [
                {
                  "key": "count",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Returns exact UTC and slot-local times, timezone, DST adjustment, capacity, occupancy, readiness status, and assigned-content summaries.\n\n**Required scope:** `slots:read`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Media",
      "description": "Manage the client media gallery. Requires `media:read` for reads and `media:write` for mutations. Uploads accept base64 or a remote image URL.",
      "item": [
        {
          "name": "List Media",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/media?page=1&limit=50",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "media"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "50"
                },
                {
                  "key": "source",
                  "value": "upload",
                  "disabled": true
                }
              ]
            },
            "description": "Paginated list of gallery images, newest first.\n\n**Required scope:** `media:read`"
          },
          "response": []
        },
        {
          "name": "Get Media",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/media/{{media_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "media",
                "{{media_id}}"
              ]
            },
            "description": "Returns a single media asset.\n\n**Required scope:** `media:read`"
          },
          "response": []
        },
        {
          "name": "Get Storage Usage",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/media/usage",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "media",
                "usage"
              ]
            },
            "description": "Storage used + per-plan cap (bytes).\n\n**Required scope:** `media:read`"
          },
          "response": []
        },
        {
          "name": "Upload Image (base64)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"fileName\": \"hero.jpg\",\n  \"mimeType\": \"image/jpeg\",\n  \"dataBase64\": \"<base64 image data, with or without a data: URI prefix>\",\n  \"altText\": \"Blue running shoe on a white background\",\n  \"title\": \"Running shoe\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/media",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "media"
              ]
            },
            "description": "Upload an image as base64. Any image/* up to 5 MB.\n\n**Required scope:** `media:write`"
          },
          "response": []
        },
        {
          "name": "Upload Image (remote URL)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"imageUrl\": \"https://yourcdn.com/images/hero.jpg\",\n  \"fileName\": \"hero.jpg\",\n  \"altText\": \"Blue running shoe on a white background\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/media",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "media"
              ]
            },
            "description": "Upload by remote URL — the server fetches the image (http(s) only).\n\n**Required scope:** `media:write`"
          },
          "response": []
        },
        {
          "name": "Import Product Image",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"productId\": \"{{product_id}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/media/import",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "media",
                "import"
              ]
            },
            "description": "Copy a product's image into the gallery.\n\n**Required scope:** `media:write`"
          },
          "response": []
        },
        {
          "name": "Update Image SEO",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"altText\": \"Updated alt text\",\n  \"title\": \"Updated title\",\n  \"caption\": \"Shown beneath the image\",\n  \"description\": \"Longer description for SEO\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/media/{{media_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "media",
                "{{media_id}}"
              ]
            },
            "description": "Edit alt/title/caption/description + file name. null or \"\" clears a field.\n\n**Required scope:** `media:write`"
          },
          "response": []
        },
        {
          "name": "Delete Media",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/media/{{media_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "media",
                "{{media_id}}"
              ]
            },
            "description": "Delete an image and free its storage quota.\n\n**Required scope:** `media:write`"
          },
          "response": []
        },
        {
          "name": "Get an image",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/media/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "media",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Returns a single media asset.\n\n**Required scope:** `media:read`"
          },
          "response": []
        },
        {
          "name": "Update image SEO attributes",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/media/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "media",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Edits an image's SEO attributes and file name. All fields optional; `null` or `\"\"` clears a field.\n\n**Required scope:** `media:write`"
          },
          "response": []
        },
        {
          "name": "Delete an image",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/media/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "media",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Removes the image from storage and the gallery, and frees its storage quota.\n\n**Required scope:** `media:write`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Jobs",
      "description": "",
      "item": [
        {
          "name": "Unified async job progress poll (content/KB/brand/idea/market-insight)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/jobs/:progressId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "jobs",
                ":progressId"
              ],
              "variable": [
                {
                  "key": "progressId",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `varies by job type`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Integrations",
      "description": "",
      "item": [
        {
          "name": "Read derived connection state (never credentials)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects/:id/connection",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "connection"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `integrations:connect`"
          },
          "response": []
        },
        {
          "name": "Set platform connection credentials",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/projects/:id/connection",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "connection"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `integrations:connect`"
          },
          "response": []
        },
        {
          "name": "Test a WordPress connection",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/projects/:id/connection/test",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "connection",
                "test"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `integrations:connect`"
          },
          "response": []
        },
        {
          "name": "List available sync adapters for this project's platform",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects/:id/sync/adapters",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "sync",
                "adapters"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `integrations:sync`"
          },
          "response": []
        },
        {
          "name": "Preview what an adapter would import (read-only)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/projects/:id/sync/preview",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "sync",
                "preview"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `integrations:sync`"
          },
          "response": []
        },
        {
          "name": "Run a sync import",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/projects/:id/sync/run",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "sync",
                "run"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `integrations:sync`"
          },
          "response": []
        },
        {
          "name": "List WordPress categories",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects/:id/wp-categories",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "wp-categories"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `integrations:sync`"
          },
          "response": []
        },
        {
          "name": "Import categories from WordPress",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects/:id/wp-categories",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "wp-categories"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `integrations:sync`"
          },
          "response": []
        },
        {
          "name": "Toggle a WordPress category active/inactive",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/projects/:id/wp-categories/:categoryId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "wp-categories",
                ":categoryId"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                },
                {
                  "key": "categoryId",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `integrations:sync`"
          },
          "response": []
        },
        {
          "name": "Delete a WordPress category",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/projects/:id/wp-categories/:categoryId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                ":id",
                "wp-categories",
                ":categoryId"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                },
                {
                  "key": "categoryId",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `integrations:sync`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Settings",
      "description": "",
      "item": [
        {
          "name": "Read BrandVoice settings",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/settings/brand-voice",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "settings",
                "brand-voice"
              ]
            },
            "description": "**Required scope:** `settings:read`"
          },
          "response": []
        },
        {
          "name": "Update BrandVoice settings",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/settings/brand-voice",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "settings",
                "brand-voice"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `settings:write`"
          },
          "response": []
        },
        {
          "name": "Read Keywords settings",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/settings/keywords",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "settings",
                "keywords"
              ]
            },
            "description": "**Required scope:** `settings:read`"
          },
          "response": []
        },
        {
          "name": "Update Keywords settings",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/settings/keywords",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "settings",
                "keywords"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `settings:write`"
          },
          "response": []
        },
        {
          "name": "Read Languages settings",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/settings/languages",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "settings",
                "languages"
              ]
            },
            "description": "**Required scope:** `settings:read`"
          },
          "response": []
        },
        {
          "name": "Update Languages settings",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/settings/languages",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "settings",
                "languages"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `settings:write`"
          },
          "response": []
        },
        {
          "name": "Read ForbiddenWords settings",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/settings/forbidden-words",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "settings",
                "forbidden-words"
              ]
            },
            "description": "**Required scope:** `settings:read`"
          },
          "response": []
        },
        {
          "name": "Update ForbiddenWords settings",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/settings/forbidden-words",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "settings",
                "forbidden-words"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `settings:write`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Usage",
      "description": "",
      "item": [
        {
          "name": "Token wallet balance + config",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/usage/wallet",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "usage",
                "wallet"
              ]
            },
            "description": "**Required scope:** `usage:read`"
          },
          "response": []
        },
        {
          "name": "Current-billing-month cost breakdown",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/usage/costs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "usage",
                "costs"
              ]
            },
            "description": "**Required scope:** `usage:read`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Dashboard",
      "description": "",
      "item": [
        {
          "name": "Dashboard summary stats",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/dashboard/stats",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "dashboard",
                "stats"
              ]
            },
            "description": "**Required scope:** `content:read`"
          },
          "response": []
        },
        {
          "name": "Most recently updated content",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/dashboard/recent-content",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "dashboard",
                "recent-content"
              ]
            },
            "description": "**Required scope:** `content:read`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Prompt Templates",
      "description": "",
      "item": [
        {
          "name": "Browsable catalog of usable prompt templates",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/prompt-templates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "prompt-templates"
              ],
              "query": [
                {
                  "key": "platform",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "contentType",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "**Required scope:** `promptTemplates:read`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Audit Log",
      "description": "",
      "item": [
        {
          "name": "Own-client activity feed",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/audit-log",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "audit-log"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "action",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "dateFrom",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "dateTo",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "**Required scope:** `audit:read`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Brand Analyzer",
      "description": "",
      "item": [
        {
          "name": "List brand profiles",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/brand-profile",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "brand-profile"
              ]
            },
            "description": "**Required scope:** `brand:read`"
          },
          "response": []
        },
        {
          "name": "Start a Brand Analyzer website analysis",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/brand-profile",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "brand-profile"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `brand:write`"
          },
          "response": []
        },
        {
          "name": "Read a brand profile",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/brand-profile/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "brand-profile",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `brand:read`"
          },
          "response": []
        },
        {
          "name": "Approve a draft brand profile and apply it",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/brand-profile/:id/approve-and-apply",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "brand-profile",
                ":id",
                "approve-and-apply"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `brand:write`"
          },
          "response": []
        },
        {
          "name": "Archive a brand profile",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/brand-profile/:id/archive",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "brand-profile",
                ":id",
                "archive"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `brand:write`"
          },
          "response": []
        },
        {
          "name": "Read a brand analysis job's status/result",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/brand-profile/analysis/:analysisJobId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "brand-profile",
                "analysis",
                ":analysisJobId"
              ],
              "variable": [
                {
                  "key": "analysisJobId",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `brand:read`"
          },
          "response": []
        },
        {
          "name": "Retry a failed brand analysis job",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/brand-profile/analysis/:analysisJobId/retry",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "brand-profile",
                "analysis",
                ":analysisJobId",
                "retry"
              ],
              "variable": [
                {
                  "key": "analysisJobId",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `brand:write`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Idea Planner",
      "description": "",
      "item": [
        {
          "name": "Create an idea run (dedup gateway, required idempotencyKey)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/ideas/runs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "ideas",
                "runs"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `ideas:write`"
          },
          "response": []
        },
        {
          "name": "Read an idea run's progress/status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/ideas/runs/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "ideas",
                "runs",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `ideas:read`"
          },
          "response": []
        },
        {
          "name": "List generated ideas for a run",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/ideas/runs/:id/ideas",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "ideas",
                "runs",
                ":id",
                "ideas"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `ideas:read`"
          },
          "response": []
        },
        {
          "name": "Retry a failed idea run",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/ideas/runs/:id/retry",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "ideas",
                "runs",
                ":id",
                "retry"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `ideas:write`"
          },
          "response": []
        },
        {
          "name": "Mark a completed idea run as reused",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/ideas/runs/:id/reuse",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "ideas",
                "runs",
                ":id",
                "reuse"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `ideas:write`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Market Insights",
      "description": "",
      "item": [
        {
          "name": "List Market Insight runs",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/market-insights/runs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "market-insights",
                "runs"
              ],
              "query": [
                {
                  "key": "projectId",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "cursor",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "**Required scope:** `marketInsights:read`"
          },
          "response": []
        },
        {
          "name": "Create a Market Insight run (dedup gateway, required idempotencyKey)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/market-insights/runs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "market-insights",
                "runs"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `marketInsights:write`"
          },
          "response": []
        },
        {
          "name": "Read a Market Insight run + topics",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/market-insights/runs/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "market-insights",
                "runs",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `marketInsights:read`"
          },
          "response": []
        },
        {
          "name": "Retry a failed Market Insight run",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/market-insights/runs/:id/retry",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "market-insights",
                "runs",
                ":id",
                "retry"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `marketInsights:write`"
          },
          "response": []
        },
        {
          "name": "Mark a completed Market Insight run as reused",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/market-insights/runs/:id/reuse",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "market-insights",
                "runs",
                ":id",
                "reuse"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `marketInsights:write`"
          },
          "response": []
        },
        {
          "name": "Cancel a queued Market Insight run (no Idea Planner equivalent)",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/market-insights/runs/:id/cancel",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "market-insights",
                "runs",
                ":id",
                "cancel"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `marketInsights:write`"
          },
          "response": []
        },
        {
          "name": "Derive a Create Post brief from a topic (no write)",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/market-insights/topics/:id/create-post-brief",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "market-insights",
                "topics",
                ":id",
                "create-post-brief"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `marketInsights:read`"
          },
          "response": []
        },
        {
          "name": "Convert a topic into a ContentIdea (requires marketInsights:write + ideas:write)",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/market-insights/topics/:id/create-idea",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "market-insights",
                "topics",
                ":id",
                "create-idea"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `marketInsights:write + ideas:write`"
          },
          "response": []
        },
        {
          "name": "Mark a topic as used by a created Content item",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/market-insights/topics/:id/mark-used",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "market-insights",
                "topics",
                ":id",
                "mark-used"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "**Required scope:** `marketInsights:write`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Content Gaps",
      "description": "",
      "item": [
        {
          "name": "List AI-suggested content-gap topics",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content-gaps",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content-gaps"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "**Required scope:** `kb:read`"
          },
          "response": []
        },
        {
          "name": "Convert a content gap into a ContentIdea",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content-gaps/:id/send-to-planner",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content-gaps",
                ":id",
                "send-to-planner"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `ideas:write`"
          },
          "response": []
        },
        {
          "name": "Derive a pre-filled Create Post form from a content gap",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/content-gaps/:id/send-to-create-post",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "content-gaps",
                ":id",
                "send-to-create-post"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "**Required scope:** `content:write`"
          },
          "response": []
        }
      ]
    }
  ]
}
