The page is negotiated through the standard HTTP Accept header, so there is no new API path or endpoint. A browser is unaffected and still receives the usual HTML page.
This article explains how the feature works, how to enable it, and how to consume it from an agent.
HTML is an awkward input format for an agent. Along with the article text, it carries navigation, theme wrappers, inline scripts, and security headers that cost tokens without adding meaning. Markdown gives the agent the article's headings, links, lists, and images in a form most models already read and write well.
The Markdown response also starts with a short YAML front matter block of page metadata: id, title, uri, revision, modified date, and tags. An agent can read that block to track where the content came from and whether it has changed, without a second API call.
Markdown content negotiation is enabled per site by NiCE. To have it turned on for your site, contact NiCE Support. General availability is planned for an upcoming release, after which no request is needed.
Once the feature is on, any request whose highest-priority Accept media type is text/markdown receives the Markdown representation of the requested page.
Send a GET request to any page URL with an Accept: text/markdown header. Negotiation is strict (RFC 9110): Markdown comes back only when text/markdown is the single highest-priority media type in the Accept header. A browser's default Accept header (text/html,application/xhtml+xml,...) never matches, so ordinary page views are unaffected.
curl -H "Accept: text/markdown" https://expert-help.nice.com/
The example cURL request returns the Homepage as Markdown, starting with the YAML front matter block:
---
id: 1
title: "Home"
uri: "https://expert-help.nice.com/"
revision: 389
modified: "2026-04-28T19:08:38Z"
dynamic: true
tags: ["article:topic-category", "Support"]
---
### Unlock the power of AI-enhanced knowledge for digital self-service
- 
- Optimize your knowledge for GenSearch
- [GenSearch training and certification](https://expert-help.nice.com/Integrations_and_Extending_Content/AI_and_LLM_features/GenSearch_Adoption_and_Utilization_Companion/GenSearch_Fundamentals_-_Training_Videos_and_Course_Certifications) [GenSearch onboarding and adoption](https://expert-help.nice.com/Integrations_and_Extending_Content/AI_and_LLM_features/GenSearch_Adoption_and_Utilization_Companion/GenSearch_Onboarding_and_Adoption_Guide) [Analyze GenSearch data and improve content efficacy](https://expert-help.nice.com/Integrations_and_Extending_Content/AI_and_LLM_features/Analyze_GenSearch_data_and_improve_content_efficacy)
### Support resources
- <button onclick="location.href='/Admin/Release_Notes'" title="Release Notes">Release notes</button>
- <button onclick="location.href='/Admin/Contact'" title="Support">Contact support</button>
- <button onclick="location.href='/Admin/Contact'" title="Customer community">Customer community</button>
Point the request at any page's URL on a Markdown-enabled site to try it against that page.
| Field | Description |
|---|---|
id |
The page ID |
title |
The page title |
uri |
The canonical page URL |
revision |
The current revision number. Use it to detect changes. |
modified |
The last-modified timestamp (UTC) |
dynamic |
Whether the page contains dynamic content |
tags |
The page's tags, including its article type |
Turning the feature on does not expose anything beyond what the requesting user could already view as HTML. Markdown content negotiation uses the same authentication methods as the rest of the NiCE KM API, and it returns only the content the user is allowed to see.
Anonymous requests are allowed. Without any token, a request receives the site's public content, the same content an anonymous visitor sees in a browser. The previous cURL example is an anonymous request.
To read restricted content, authenticate the request with a Server API Token or a Long-term JWT, the same way you would for other API calls. See Integrating with Generative AI Tools via the Expert API for token setup.
text/markdown is the single highest-priority media type in the Accept header. Otherwise, the page renders as HTML.GET /@api/deki/pages or GET /@api/deki/site/query to find the pages you want to ingest.Accept: text/markdown and capture the response.revision field from the front matter and re-fetch when it changes.