Get feedback by page
Returns feedback counts aggregated by documentation page path (thumbs up/down for contextual feedback, code snippet count, and total per page)
Authenticate with an admin API key.
Use this endpoint to export user feedback aggregated by documentation page path. Each entry shows the total feedback count for a page, broken down by type.
Filtering
Section titled “Filtering”Filter feedback by:
- Date range: Use
dateFromanddateToto limit results to a specific time period - Source: Filter by
code_snippet,contextual, oragentfeedback types - Status: Filter by status values like
pending,in_progress,resolved, ordismissed
Rate limits
Section titled “Rate limits”This endpoint allows 100 requests per organization per hour. All analytics endpoints share this limit.
OpenAPI
Section titled “OpenAPI”openapi: 3.1.0
info:
title: Mintlify Analytics Export API
version: 1.0.0
description: API for exporting documentation analytics data
servers:
- url: https://api.mintlify.com
description: Production
security: []
paths:
/v1/analytics/{projectId}/feedback/by-page:
get:
tags:
- Analytics
summary: Get feedback by page
description: >-
Returns feedback counts aggregated by documentation page path (thumbs
up/down for contextual feedback, code snippet count, and total per page)
Authenticate with an admin API key.
parameters:
- $ref: '#/components/parameters/projectId'
- 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: 100
default: 10
description: Max results per page
required: false
name: limit
in: query
- schema:
type: string
enum:
- code_snippet
- contextual
- agent
- thumbs_only
description: Filter by feedback source
required: false
name: source
in: query
- schema:
type: string
description: Comma-separated list of statuses to filter by
required: false
name: status
in: query
responses:
'200':
description: Per-page feedback aggregates with pagination flag
content:
application/json:
schema:
$ref: '#/components/schemas/FeedbackGroupedByPageResponse'
'400':
description: Invalid query parameters
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsErrorResponse'
'500':
description: Server error
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsErrorResponse'
security:
- bearerAuth: []
components:
parameters:
projectId:
schema:
$ref: '#/components/schemas/projectId'
required: true
name: projectId
in: path
schemas:
FeedbackGroupedByPageResponse:
type: object
properties:
feedback:
type: array
description: Feedback counts aggregated by documentation page path.
items:
type: object
properties:
path:
type: string
description: The documentation page path.
thumbsUp:
type: number
description: Number of positive (thumbs up) contextual feedback entries.
thumbsDown:
type: number
description: Number of negative (thumbs down) contextual feedback entries.
code:
type: number
description: Number of code snippet feedback entries.
total:
type: number
description: Total feedback entries for this page.
required:
- path
- thumbsUp
- thumbsDown
- code
- total
hasMore:
type: boolean
description: Whether additional results are available beyond this page.
required:
- feedback
- hasMore
AnalyticsErrorResponse:
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
projectId:
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.
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: >-
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](https://app.mintlify.com/settings/organization/api-keys) in your
dashboard.