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

Get a signal

The signal, everyone who reported it with their own words, and commits that look like they finish it.

GET/signals/{id}
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.
Path parameters
idstringrequired
A signal id.
Responses
200The signal and its history.
signalSignal
Show properties
idstring
kindstring
Allowed:bugsuggestion
titlestring
bodystring
prioritystring
Allowed:urgenthighmediumlow
statusstring
Allowed:openplannedin progressin reviewdonedeclined
reporterCountinteger
aliasesstring[]
The other titles this was reported under, kept when duplicates merge.
filedAtinteger
updatedAtinteger
updatedByNamestring | null
linearobject | null
Show properties
identifierstring
urlstring
githubobject | null
Show properties
numberinteger
urlstring
reportersReporter[]
Show properties
Array of Reporter
conversationsobject[]
Show properties
Array of object
conversationIdstring
subjectstring
whostring
quotestring
What the customer actually said, in their own words.
reportedAtinteger
notifiedAtinteger | null
When the "this is fixed" message reached them.
imagesobject[]
The screenshots behind the report, each with somewhere to fetch it. Screenshots sent in the conversation are here alongside anything attached by link.
Show properties
Array of object
urlstring
namestring
externalboolean
True for an address Median does not serve.
commitsSignalCommit[]
Show properties
Array of SignalCommit
idstring
shastring
messagestring
urlstring
authorstring
whystring
One line on why the reader thinks this is the one.
appliedboolean
401The bearer token is missing, revoked, or expired.
errorobject
Show properties
codestring
messagestring
404Not one of yours, or not there at all.
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/signals/string" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "signal": {
    "id": "string",
    "kind": "bug",
    "title": "string",
    "body": "string",
    "priority": "urgent",
    "status": "open",
    "reporterCount": 0,
    "aliases": [
      "string"
    ],
    "filedAt": 0,
    "updatedAt": 0,
    "updatedByName": "string",
    "linear": {
      "identifier": "string",
      "url": "string"
    },
    "github": {
      "number": 0,
      "url": "string"
    }
  },
  "reporters": [
    {
      "conversations": [
        {
          "conversationId": "string",
          "subject": "string"
        }
      ],
      "who": "string",
      "quote": "string",
      "reportedAt": 0,
      "notifiedAt": 0,
      "images": [
        {
          "url": "string",
          "name": "string",
          "external": true
        }
      ]
    }
  ],
  "commits": [
    {
      "id": "string",
      "sha": "string",
      "message": "string",
      "url": "string",
      "author": "string",
      "why": "string",
      "applied": true
    }
  ]
}