List tasks
One column in order, or the whole board left to right. Done comes back newest first.
GET
/tasksAuthorization
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
statusstringAllowed:
requestsplannedin_progressin_reviewdoneassigneestringA teammate's identity key or their email address.
limitintegermax 100 · default: 100
Responses
200The cards.
tasksTask[]Show propertiesHide properties
Array of
TaskidstringkeystringWhat a commit message says: "MED-12".
numberintegertitlestringdescriptionstringThe write-up, as markdown.
statusstringAllowed:
requestsplannedin_progressin_reviewdoneprioritystring | nullAllowed:
urgenthighmediumlownullassigneeobject | nullShow propertiesHide properties
userIdstringnamestringemailstring | nullcreatedByNamestringcreatedAtintegerupdatedAtintegerdoneAtinteger | nullsignalIdstring | nullThe report it was adopted from, for `GET /v1/signals/{id}`.
linearobject | nullShow propertiesHide properties
identifierstringurlstringgithubobject | nullShow propertiesHide properties
numberintegerurlstringcommitsintegerpullRequestsintegerurlstring | nullThe card's page, or null where no board address is set.
400The request is malformed, and the message names the field.
errorobjectShow propertiesHide properties
codestringmessagestring401The bearer token is missing, revoked, or expired.
errorobjectShow propertiesHide properties
codestringmessagestring429Too many requests. Wait the seconds in `Retry-After`. Limits depend on the plan. See [rate limits](/api/errors-and-limits#rate-limits).
errorobjectShow propertiesHide properties
codestringmessagestringRequest
curl -X GET "https://api.median.sh/v1/tasks" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://api.median.sh/v1/tasks", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});Response
{
"tasks": [
{
"id": "string",
"key": "string",
"number": 0,
"title": "string",
"description": "string",
"status": "requests",
"priority": "urgent",
"assignee": {
"userId": "string",
"name": "string",
"email": "string"
},
"createdByName": "string",
"createdAt": 0,
"updatedAt": 0,
"doneAt": 0,
"signalId": "string",
"linear": {
"identifier": "string",
"url": "string"
},
"github": {
"number": 0,
"url": "string"
},
"commits": 0,
"pullRequests": 0,
"url": "string"
}
]
}{
"error": {
"code": "string",
"message": "string"
}
}{
"error": {
"code": "string",
"message": "string"
}
}{
"error": {
"code": "string",
"message": "string"
}
}