Scalar analytics API
The analytics API from Scalar — 4 operation(s) for analytics.
The analytics API from Scalar — 4 operation(s) for analytics.
openapi: 3.1.1
info:
title: Core access-groups analytics API
description: Core services for Scalar
version: 1.0.1
contact:
name: Marc from Scalar
url: https://scalar.com
email: support@scalar.com
security:
- BearerAuth: []
tags:
- name: analytics
paths:
/analytics/projects/{projectUid}/overview:
get:
tags:
- analytics
description: KPI totals + timeseries + consumer breakdown for a docs project
operationId: getanalyticsProjectsProjectUidOverview
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
totals:
type: object
properties:
views:
type: integer
minimum: 0
maximum: 9007199254740991
unique:
type: integer
minimum: 0
maximum: 9007199254740991
human:
type: integer
minimum: 0
maximum: 9007199254740991
bot:
type: integer
minimum: 0
maximum: 9007199254740991
llm:
type: integer
minimum: 0
maximum: 9007199254740991
mcp:
type: integer
minimum: 0
maximum: 9007199254740991
required:
- views
- unique
- human
- bot
- llm
- mcp
additionalProperties: false
timeseries:
type: array
items:
type: object
properties:
bucket:
type: string
human:
type: integer
minimum: 0
maximum: 9007199254740991
bot:
type: integer
minimum: 0
maximum: 9007199254740991
llm:
type: integer
minimum: 0
maximum: 9007199254740991
mcp:
type: integer
minimum: 0
maximum: 9007199254740991
unique:
type: integer
minimum: 0
maximum: 9007199254740991
required:
- bucket
- human
- bot
- llm
- mcp
- unique
additionalProperties: false
required:
- totals
- timeseries
additionalProperties: false
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
parameters:
- schema:
$ref: '#/components/schemas/nanoid'
in: path
name: projectUid
required: true
- schema:
default: 7d
type: string
enum:
- 24h
- 7d
- 30d
- 90d
in: query
name: range
required: true
- schema:
type: string
enum:
- hour
- day
in: query
name: granularity
required: false
/analytics/projects/{projectUid}/pages:
get:
tags:
- analytics
description: Top pages by views for a docs project
operationId: getanalyticsProjectsProjectUidPages
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
pages:
type: array
items:
type: object
properties:
path:
type: string
views:
type: integer
minimum: 0
maximum: 9007199254740991
unique:
type: integer
minimum: 0
maximum: 9007199254740991
required:
- path
- views
- unique
additionalProperties: false
required:
- pages
additionalProperties: false
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
parameters:
- schema:
$ref: '#/components/schemas/nanoid'
in: path
name: projectUid
required: true
- schema:
default: 7d
type: string
enum:
- 24h
- 7d
- 30d
- 90d
in: query
name: range
required: true
- schema:
default: 20
type: integer
minimum: 1
maximum: 100
in: query
name: limit
required: true
/analytics/projects/{projectUid}/referrers:
get:
tags:
- analytics
description: Top referrers for a docs project
operationId: getanalyticsProjectsProjectUidReferrers
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
referrers:
type: array
items:
type: object
properties:
referrer:
type: string
views:
type: integer
minimum: 0
maximum: 9007199254740991
required:
- referrer
- views
additionalProperties: false
required:
- referrers
additionalProperties: false
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
parameters:
- schema:
$ref: '#/components/schemas/nanoid'
in: path
name: projectUid
required: true
- schema:
default: 7d
type: string
enum:
- 24h
- 7d
- 30d
- 90d
in: query
name: range
required: true
- schema:
default: 20
type: integer
minimum: 1
maximum: 100
in: query
name: limit
required: true
/analytics/projects/{projectUid}/consumers:
get:
tags:
- analytics
description: Consumer breakdown (human/bot/llm/mcp) for a docs project
operationId: getanalyticsProjectsProjectUidConsumers
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
totals:
type: object
properties:
human:
type: integer
minimum: 0
maximum: 9007199254740991
bot:
type: integer
minimum: 0
maximum: 9007199254740991
llm:
type: integer
minimum: 0
maximum: 9007199254740991
mcp:
type: integer
minimum: 0
maximum: 9007199254740991
required:
- human
- bot
- llm
- mcp
additionalProperties: false
timeseries:
type: array
items:
type: object
properties:
bucket:
type: string
human:
type: integer
minimum: 0
maximum: 9007199254740991
bot:
type: integer
minimum: 0
maximum: 9007199254740991
llm:
type: integer
minimum: 0
maximum: 9007199254740991
mcp:
type: integer
minimum: 0
maximum: 9007199254740991
unique:
type: integer
minimum: 0
maximum: 9007199254740991
required:
- bucket
- human
- bot
- llm
- mcp
- unique
additionalProperties: false
required:
- totals
- timeseries
additionalProperties: false
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
parameters:
- schema:
$ref: '#/components/schemas/nanoid'
in: path
name: projectUid
required: true
- schema:
default: 7d
type: string
enum:
- 24h
- 7d
- 30d
- 90d
in: query
name: range
required: true
- schema:
type: string
enum:
- hour
- day
in: query
name: granularity
required: false
components:
schemas:
nanoid:
type: string
minLength: 5
'404':
type: object
properties:
message:
type: string
code:
type: string
required:
- message
- code
'401':
type: object
properties:
message:
type: string
code:
type: string
required:
- message
- code
'500':
type: object
properties:
message:
type: string
code:
type: string
required:
- message
- code
'400':
type: object
properties:
message:
type: string
code:
type: string
required:
- message
- code
'403':
type: object
properties:
message:
type: string
code:
type: string
required:
- message
- code
'422':
type: object
properties:
message:
type: string
code:
type: string
required:
- message
- code
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT