Skip to main content
Mintlify

Search documentation

Type to search this documentation.

On this pageOverview

Get assistant conversations

GET

/

v1

/

analytics

/

/

assistant

Get assistant conversations

curl --request GET \
  --url https://api.mintlify.com/v1/analytics/{projectId}/assistant \
  --header 'Authorization: Bearer <token>'
title="200"
{
  "conversations": [
    {
      "id": "<string>",
      "timestamp": "<string>",
      "query": "<string>",
      "response": "<string>",
      "sources": [
        {
          "title": "<string>",
          "url": "<string>"
        }
      ],
      "resolutionStatus": "answered",
      "queryCategory": "<string>",
      "feedback": "positive",
      "pageUrl": "<string>",
      "responseType": "answer"
    }
  ],
  "nextCursor": "<string>",
  "hasMore": true
}
title="400"
{
  "error": "<string>",
  "details": [
    {
      "message": "<string>"
    }
  ]
}
title="500"
{
  "error": "<string>",
  "details": [
    {
      "message": "<string>"
    }
  ]
}

Use this endpoint to export AI assistant conversation history from your documentation. Each conversation includes the user query, assistant response, sources cited, resolution status, and query category. Paginate through results using the cursor parameter returned in the response. Continue fetching while hasMore is true.

Filter conversations by date range using dateFrom and dateTo parameters.

Each row represents one user turn in a conversation. A conversation with multiple back-and-forth messages produces multiple rows that share a conversationId. Each row includes:

  • query: The user’s question.
  • response: The assistant’s answer. For clarifying-question turns, this is the follow-up question the assistant asked the user.
  • responseType: Either answer or clarifying_question. clarifying_question means the assistant asked the user a follow-up question instead of answering. Defaults to answer when not present.
  • sources: Pages referenced in the response, with title and URL.
  • resolutionStatus: Whether the assistant successfully answered this turn. Either answered or unanswered. Computed per row, so a single conversation can contain both statuses. Use this field to track and analyze documentation gaps surfaced by user questions the assistant could not resolve.
  • timestamp: When the user sent the message that started this turn. Rows in the same conversation have different timestamps.
  • queryCategory: Classification of the query type, if available.
  • feedback: The user’s thumbs rating on the assistant’s response. Either positive, negative, or null if the user did not rate the response.
  • pageUrl: Full URL of the documentation page where the conversation started, or null if no page path is available. Use this field to attribute conversations to a specific page.

This endpoint allows 100 requests per organization per hour. All analytics endpoints share this limit.

Authorization

string

header

required

The Authorization header expects a Bearer token. Use an admin API key. This is a server-side secret key. Generate one on the API keys page in your dashboard.

projectId

string

required

Your project ID. Can be copied from the API keys page in your dashboard.

dateFrom

string

Date in ISO 8601 or YYYY-MM-DD format

Example:

"2024-01-01"

dateTo

string

Date in ISO 8601 or YYYY-MM-DD format. dateTo is an exclusive upper limit. Results include dates before, but not on, the specified date.

Example:

"2024-01-01"

limit

number

default:100

Max results per page

Required range: 1 <= x <= 1000

cursor

string<ulid>

Pagination cursor (ULID format)

Conversation data with pagination

conversations

object[]

required

List of assistant conversations.

Show child attributes

nextCursor

string | null

required

Cursor to retrieve the next page of results. Null if no more results.

hasMore

boolean

required

Whether additional results are available beyond this page.

⌘I

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu