# Get assistant conversations (/api/analytics/assistant-conversations)

<!-- agent-signals: reading_time_min: 4 · est_tokens: 2223 · updated: 2026-07-30 -->
Related: [Get feedback](/api/analytics/feedback.md), [Get feedback by page](/api/analytics/feedback-by-page.md), [Get assistant caller stats](/api/analytics/assistant-caller-stats.md), [Get search queries](/api/analytics/searches.md), [Get page views](/api/analytics/views.md), [Get unique visitors](/api/analytics/visitors.md)

## Usage [#usage]

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`.

## Filtering [#filtering]

Filter conversations by date range using `dateFrom` and `dateTo` parameters.

## Conversation data [#conversation-data]

Each conversation includes:

* **query**: The user's question
* **response**: The assistant's answer
* **sources**: Pages referenced in the response, with title and URL
* **resolutionStatus**: Whether the assistant successfully answered the question. Either `answered` or `unanswered`. Use this field to track and analyze documentation gaps surfaced by user questions the assistant could not resolve.
* **queryCategory**: Classification of the query type (if available)
* **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.

## Rate limits [#rate-limits]

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

`GET /v1/analytics/{projectId}/assistant`

Returns paginated AI assistant conversation history

Authenticate with an admin API key.

## OpenAPI

```json
{
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "parameters": [
    {
      "schema": {
        "type": "string",
        "description": "Your project ID. Can be copied from the [API keys](https://app.mintlify.com/settings/organization/api-keys) page in your dashboard."
      },
      "required": true,
      "name": "projectId",
      "in": "path"
    },
    {
      "schema": {
        "type": "string",
        "description": "Date in ISO 8601 or YYYY-MM-DD format",
        "example": "2024-01-01"
      },
      "required": false,
      "name": "dateFrom",
      "in": "query"
    },
    {
      "schema": {
        "type": "string",
        "description": "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"
      },
      "required": false,
      "name": "dateTo",
      "in": "query"
    },
    {
      "schema": {
        "type": "number",
        "minimum": 1,
        "maximum": 1000,
        "default": 100,
        "description": "Max results per page"
      },
      "required": false,
      "name": "limit",
      "in": "query"
    },
    {
      "schema": {
        "type": "string",
        "format": "ulid",
        "description": "Pagination cursor (ULID format)"
      },
      "required": false,
      "name": "cursor",
      "in": "query"
    }
  ],
  "responses": {
    "200": {
      "description": "Conversation data with pagination",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "conversations": {
                "type": "array",
                "description": "List of assistant conversations.",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique conversation identifier."
                    },
                    "timestamp": {
                      "type": "string",
                      "description": "Timestamp when the conversation occurred."
                    },
                    "query": {
                      "type": "string",
                      "description": "The user's question to the assistant."
                    },
                    "response": {
                      "type": "string",
                      "description": "The assistant's response."
                    },
                    "sources": {
                      "type": "array",
                      "description": "Documentation pages referenced in the response.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "title": {
                            "type": "string",
                            "description": "Title of the referenced documentation page."
                          },
                          "url": {
                            "type": "string",
                            "description": "URL of the referenced documentation page."
                          }
                        },
                        "required": [
                          "title",
                          "url"
                        ]
                      }
                    },
                    "resolutionStatus": {
                      "type": "string",
                      "enum": [
                        "answered",
                        "unanswered"
                      ],
                      "description": "Whether the assistant successfully answered the user's question. `unanswered` indicates the assistant could not provide a satisfactory answer based on the available documentation."
                    },
                    "queryCategory": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Auto-assigned category grouping for the conversation, if applicable."
                    },
                    "pageUrl": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Full URL of the documentation page where the conversation started. Null if no page path was captured."
                    }
                  },
                  "required": [
                    "id",
                    "timestamp",
                    "query",
                    "response",
                    "sources",
                    "resolutionStatus",
                    "queryCategory",
                    "pageUrl"
                  ]
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Cursor to retrieve the next page of results. Null if no more results."
              },
              "hasMore": {
                "type": "boolean",
                "description": "Whether additional results are available beyond this page."
              }
            },
            "required": [
              "conversations",
              "nextCursor",
              "hasMore"
            ]
          }
        }
      }
    },
    "400": {
      "description": "Invalid query parameters",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "error": {
                "type": "string",
                "description": "Error message describing what went wrong."
              },
              "details": {
                "type": "array",
                "description": "Additional details about the error.",
                "items": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Description of a specific validation or processing error."
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "required": [
              "error"
            ]
          }
        }
      }
    },
    "500": {
      "description": "Server error",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "error": {
                "type": "string",
                "description": "Error message describing what went wrong."
              },
              "details": {
                "type": "array",
                "description": "Additional details about the error.",
                "items": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Description of a specific validation or processing error."
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "required": [
              "error"
            ]
          }
        }
      }
    }
  }
}
```
