{
  "schema": 1,
  "entries": [
    {
      "date": "2026-07-23",
      "surface": "content-api",
      "type": "breaking",
      "summary": "Renamed the `referenceDocumentIds` request field to `knowledgeSourceIds`.",
      "migration": "Rename `referenceDocumentIds` to `knowledgeSourceIds` in your draft-creation request bodies. Type and semantics are unchanged.",
      "source": "/api/content-api/endpoints/create-draft/"
    },
    {
      "date": "2026-07-23",
      "surface": "content-api",
      "type": "breaking",
      "summary": "Renamed the `referenceDocumentIds` request field to `knowledgeSourceIds`.",
      "migration": "Rename `referenceDocumentIds` to `knowledgeSourceIds` in your draft-update request bodies. Type and semantics are unchanged.",
      "source": "/api/content-api/endpoints/update-draft/"
    },
    {
      "date": "2026-07-20",
      "surface": "content-api",
      "type": "added",
      "summary": "Create knowledge source endpoint, for registering account-level sources that inform generated content.",
      "source": "/api/content-api/endpoints/create-knowledge-source/"
    },
    {
      "date": "2026-07-20",
      "surface": "content-api",
      "type": "added",
      "summary": "Get knowledge source endpoint.",
      "source": "/api/content-api/endpoints/get-knowledge-source/"
    },
    {
      "date": "2026-07-20",
      "surface": "content-api",
      "type": "added",
      "summary": "List knowledge sources endpoint.",
      "source": "/api/content-api/endpoints/list-knowledge-sources/"
    },
    {
      "date": "2026-07-20",
      "surface": "content-api",
      "type": "changed",
      "summary": "The `KnowledgeSource` response schema no longer marks any field as required.",
      "detail": "`id`, `kind`, and `status` were previously guaranteed. Treat every field as optional when deserializing. Applies to all three knowledge source endpoints.",
      "source": "/api/content-api/endpoints/get-knowledge-source/"
    },
    {
      "date": "2026-07-16",
      "surface": "templates",
      "type": "changed",
      "summary": "Expanded the MCP data section to cover all available tools — AI search (brand mentions, citations, sentiment), traditional search (rankings, seasonality, SERP features, competitive rankings), and account configuration — and repointed Knowledge Base lookups to the Conductor Knowledge Base MCP with a `conductor.com/docs` web-search fallback.",
      "source": "/templates/teach-your-llm-conductor/"
    },
    {
      "date": "2026-07-16",
      "surface": "templates",
      "type": "changed",
      "summary": "Repointed Knowledge Base lookups to the Conductor Knowledge Base MCP with a `conductor.com/docs` web-search fallback, and refreshed the KB search query examples.",
      "source": "/templates/diagnose-and-resolve-conductor-issues/"
    },
    {
      "date": "2026-07-16",
      "surface": "templates",
      "type": "changed",
      "summary": "Repointed the Knowledge Base reference to `conductor.com/docs`.",
      "source": "/templates/measure-ai-search-content-coverage/"
    },
    {
      "date": "2026-07-14",
      "surface": "api",
      "type": "added",
      "summary": "Bearer token authentication for all Conductor APIs.",
      "detail": "Send `Authorization: Bearer <token>`. Existing `apiKey` and `sig` query-parameter authentication continues to work; no sunset date is announced.",
      "source": "/api/authentication/"
    },
    {
      "date": "2026-07-08",
      "surface": "mcp",
      "type": "added",
      "summary": "Setup guide for connecting Conductor's MCP to OpenAI's Codex through a custom connector.",
      "source": "/mcp/codex/"
    },
    {
      "date": "2026-07-08",
      "surface": "mcp",
      "type": "changed",
      "summary": "Setup now uses bearer-token authentication.",
      "detail": "Generate an API token in Conductor and supply it when adding the connector.",
      "source": "/mcp/chatgpt/"
    },
    {
      "date": "2026-06-11",
      "surface": "data-api",
      "type": "added",
      "summary": "AI Search Response endpoint, returning the full response each AI engine gives for a tracked prompt, plus related metadata.",
      "source": "/api/data-api/endpoints/ai_search_response/"
    },
    {
      "date": "2026-05-12",
      "surface": "config-api",
      "type": "added",
      "summary": "AI search configuration endpoint.",
      "source": "/api/config-api/endpoints/ai_search_config/"
    },
    {
      "date": "2026-05-12",
      "surface": "config-api",
      "type": "added",
      "summary": "Comparison web properties configuration endpoint.",
      "source": "/api/config-api/endpoints/comparison_web_properties_config/"
    },
    {
      "date": "2026-05-12",
      "surface": "config-api",
      "type": "added",
      "summary": "Keyword search configuration endpoint.",
      "source": "/api/config-api/endpoints/keyword_search_config/"
    },
    {
      "date": "2026-05-12",
      "surface": "config-api",
      "type": "added",
      "summary": "Web properties configuration endpoint.",
      "source": "/api/config-api/endpoints/web_properties_config/"
    }
  ]
}
