Skip to content

Insights

GET
/api/v1/insights
curl --request GET \
--url http://localhost:3000/api/v1/insights \
--header 'Authorization: Bearer <token>'

What the project’s events say: brand answers per week, release adoption and who still loads a replaced version, the most fetched assets by surface, searches that found nothing, the use-check log (refusals by reason, what was offered and whether it was taken), delivery traffic and portal page views. Events never hold an IP address, a person’s name or a full URL, and never leave this server.

Scope: write.

Insights

Media typeapplication/json
object
data
required
object
days
required

How far back the lists go

integer
>= -9007199254740991 <= 9007199254740991
weeks
required

How many weeks the weekly charts have, oldest first, quiet weeks at zero

integer
>= -9007199254740991 <= 9007199254740991
answers
required

Brand answers per week, by who got them: files served, BrandHub files read, uses checked, searches that found something

Array<object>
object
week
required

The Monday (UTC) the week starts, YYYY-MM-DD

string
person
required
integer
>= -9007199254740991 <= 9007199254740991
agent
required
integer
>= -9007199254740991 <= 9007199254740991
anonymous
required
integer
>= -9007199254740991 <= 9007199254740991
adoption
required

Fetches per week of a current version, and of one already replaced when it was fetched

Array<object>
object
week
required

The Monday (UTC) the week starts, YYYY-MM-DD

string
current
required
integer
>= -9007199254740991 <= 9007199254740991
superseded
required
integer
>= -9007199254740991 <= 9007199254740991
stale
required

Still on the old release: replaced versions fetched lately, by referrer and agent, most first

Array<object>
object
asset
required
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
title
required
string
version
required
Any of:
integer
>= -9007199254740991 <= 9007199254740991
preview
required

Whether /a/{id} can make a picture of it

boolean
supersededBy
required
Any of:
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
replacement
required
Any of:
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
title
required
string
version
required
Any of:
integer
>= -9007199254740991 <= 9007199254740991
preview
required

Whether /a/{id} can make a picture of it

boolean
supersededBy
required
Any of:
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
referrer
required

The host that loaded it; null when the request didn’t say

string | null
client
required

The agent’s key name that fetched it; null for a person or nobody in particular

string | null
fetches
required
integer
>= -9007199254740991 <= 9007199254740991
first
required

The first day it was fetched, within days

string
last
required

The last day it was fetched

string
owners
required

People this server knows answer for the place (a site of this project’s admins, an agent’s person): who a notice reaches unasked

integer
>= -9007199254740991 <= 9007199254740991
notified
required
Any of:
object
at
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/
by
required
string
top
required

The ten most fetched assets, with their fetches by surface

Array<object>
object
asset
required
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
title
required
string
version
required
Any of:
integer
>= -9007199254740991 <= 9007199254740991
preview
required

Whether /a/{id} can make a picture of it

boolean
supersededBy
required
Any of:
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
total
required
integer
>= -9007199254740991 <= 9007199254740991
surfaces
required

Fetches through each surface: app, api, mcp, portal, share, hub, link (a signed URL), public

object
key
additional properties
integer
>= -9007199254740991 <= 9007199254740991
gaps
required

Searches that found nothing, most asked first

Array<object>
object
q
required
string
searches
required
integer
>= -9007199254740991 <= 9007199254740991
first
required

The first day it found nothing, within days

string
last
required
string
requested
required
Any of:
object
at
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/
by
required
string
checks
required

The use-check log: check_use and POST /api/v1/check answers

object
allowed
required
integer
>= -9007199254740991 <= 9007199254740991
refused
required
integer
>= -9007199254740991 <= 9007199254740991
reasons
required

Refusals by blocking reason, most first; one refusal can have several

Array<object>
object
code
required
string
count
required
integer
>= -9007199254740991 <= 9007199254740991
log
required

The latest refusals, newest first

Array<object>
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
at
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/
asset
required
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
title
required
string
version
required
Any of:
integer
>= -9007199254740991 <= 9007199254740991
preview
required

Whether /a/{id} can make a picture of it

boolean
supersededBy
required
Any of:
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
surface
required
string
Allowed values: app api mcp portal share hub link public
client
required

The agent’s key name; null for a person or nobody in particular

string | null
context
required
string | null
reasons
required
Array<string>
offered
required

What was offered instead

Array<object>
object
asset
required
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
title
required
string
version
required
Any of:
integer
>= -9007199254740991 <= 9007199254740991
preview
required

Whether /a/{id} can make a picture of it

boolean
supersededBy
required
Any of:
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
taken
required

The same client fetched it, or checked it and was allowed, afterwards

boolean
delivery
required

What /a/{id} served in this project, per day

Array<object>
object
day
required
string
requests
required
integer
>= -9007199254740991 <= 9007199254740991
bytes
required
number
pageViews
required

Portal pages read, most first

Array<object>
object
portal
required
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
name
required
string
brand
required
object
slug
required
string
name
required
string
page
required
string
views
required
integer
>= -9007199254740991 <= 9007199254740991
Example
{
"data": {
"checks": {
"log": [
{
"surface": "app"
}
]
}
}
}

An error

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
detail
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": "example"
}
}