Skip to content
Median
Esc
↑↓navigate↵open⌘Jpreview

Signal trends

Bugs and suggestions filed each day, where the whole backlog stands today, and how the open ones rank.

GET/analytics/signals
Authorization
AuthorizationBearer token · headerrequired
`MEDIAN_KEY` from Settings under API, or an MCP OAuth access token. A key acts as the organization; a token acts as the person who approved it.
Query parameters
frominteger
The window's start, unix ms. Defaults to `days` ago.
daysinteger
Daily buckets after `from`. Default 30.
Allowed:73090
Responses
200The window, bucketed by day.
bugsPerDayinteger[]
suggestionsPerDayinteger[]
filedobject
Show properties
bugsinteger
suggestionsinteger
statusobject
Show properties
openinteger
plannedinteger
inProgressinteger
inReviewinteger
doneinteger
declinedinteger
openByPriorityobject
Show properties
urgentinteger
highinteger
mediuminteger
lowinteger
cappedboolean
The organization holds more than 1,000 signals, so 1,000 were counted: open and in-flight ones first, newest first.
400The request is malformed, and the message names the field.
errorobject
Show properties
codestring
messagestring
401The bearer token is missing, revoked, or expired.
errorobject
Show properties
codestring
messagestring
429Too many requests. Wait the seconds in `Retry-After`. Limits depend on the plan. See [rate limits](/api/errors-and-limits#rate-limits).
errorobject
Show properties
codestring
messagestring
Request
curl -X GET "https://api.median.sh/v1/analytics/signals" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "bugsPerDay": [
    0
  ],
  "suggestionsPerDay": [
    0
  ],
  "filed": {
    "bugs": 0,
    "suggestions": 0
  },
  "status": {
    "open": 0,
    "planned": 0,
    "inProgress": 0,
    "inReview": 0,
    "done": 0,
    "declined": 0
  },
  "openByPriority": {
    "urgent": 0,
    "high": 0,
    "medium": 0,
    "low": 0
  },
  "capped": true
}