---
title: "List the authenticated principal's tasks"
method: GET
path: "/v1/tasks"
tags: ["Tasks"]
---

# List the authenticated principal's tasks

`GET /v1/tasks`

## Request

- Base URL: `https://api.yardstick.team`
- URL: `https://api.yardstick.team/v1/tasks`
- Auth: HTTP bearer

List the authenticated principal's tasks

**Required scopes:** `tasks:read`

Returns the open and recently-completed tasks assigned to the token principal's email, scoped to the token's organization and mode. The principal is resolved server-side from `api_tokens.created_by`; if the creator is no longer an org member, the request returns `422 token_principal_not_resolvable` and an admin must re-issue the token under a current member. See the Token principal lifecycle section in `docs/api/tasks-api.md`. Cursor-paginated via `starting_after=<tsk_…>` keyed on `(due_date, created_at, id)`. Review tasks include stack_key and job_id for grouping within the current organization and mode. Survey-token metadata is never returned; survey deep-links carry the `?token=auth` sentinel so the dashboard re-authenticates the viewer.

**Example (curl):**

```bash
curl 'https://api.yardstick.team/v1/tasks?limit=20&status=in_progress' \
  -H 'Authorization: Bearer ys_sk_live_…'
```

**Example (TypeScript):**

```ts
await fetch(
  "https://api.yardstick.team/v1/tasks?limit=20&status=in_progress",
  { headers: { Authorization: `Bearer ${process.env.YS_API_KEY}` } },
).then((r) => r.json());
```

## Query parameters

- `limit` integer
- `starting_after` string
- `task_type` string
- `status` string
- `due_before` string, date-time
- `due_after` string, date-time

## Headers

- `X-Request-Id` string

## Response `200`

Success

- object

## Other responses

- `400`: Invalid request
- `401`: Authentication failure
- `403`: Permission denied (scope or feature flag)
- `404`: Resource not found. The error uses the resource-specific code and param names the exact body field or path parameter that referenced it.
- `409`: Conflict (e.g. idempotency key reuse with different body)
- `429`: Rate limited
- `500`: Internal error

---

[API](https://skmtc.dev/yardstick/apis/yardstick-public-api.md) · [All operations](https://skmtc.dev/yardstick/apis/yardstick-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/yardstick/apis/yardstick-public-api/revisions/35b5a6e88b35?raw)
