---
title: "List action items"
method: GET
path: "/action-items"
tags: ["action-items"]
---

# List action items

`GET /action-items`

## Request

- Base URL: `https://api.cogram.com/v1`
- URL: `https://api.cogram.com/v1/action-items`
- Auth: HTTP bearer

List action items in the organization.

Returns a paginated list of action items belonging to the organization.
By default, only non-archived items are returned.

Use `project_id` to filter items from meetings linked to a specific project.
Note: action items from meetings not linked to any project are excluded
when filtering by project_id.

Use `q` to search descriptions and `assignee` for partial name matching
(both case-insensitive).

Sorting by nullable fields (`due_date`, `assignee`, `status`, `description`)
always places items with no value at the bottom, regardless of sort direction.

Unknown `project_id` or `meeting_id` values return an empty list, not 404.

## Query parameters

- `page` integer: Page number (1-indexed).
- `page_size` integer
- `status` 'SUGGESTED' | 'ACCEPTED' | 'REJECTED' | 'COMPLETED', nullable
- `include_archived` boolean
- `project_id` string, nullable: Matches on the source meeting's project. Items from meetings with no project are excluded.
- `meeting_id` string, nullable
- `assignee` string, nullable: Case-insensitive partial match on assignee name.
- `q` string, nullable: Case-insensitive search in `description`.
- `sort_by` 'created_at' | 'due_date' | 'status' | 'assignee' | 'description': Fields that action items can be sorted by.
- `sort_dir` 'asc' | 'desc'

## Response `200`

Successful Response

- ActionItemListV1: Paginated action item list response.
  - `data` ActionItemV1[], required
    - `id` string, required
    - `description` string, nullable, required
    - `assignee` string, nullable, required: Free-text name, not a user reference.
    - `status` 'SUGGESTED' | 'ACCEPTED' | 'REJECTED' | 'COMPLETED', nullable, required
    - `origin` 'AUTO' | 'MANUAL', nullable, required: `AUTO` (AI-extracted) or `MANUAL` (user-created).
    - `due_date` string, date-time, nullable, required
    - `completed_at` string, date-time, nullable, required
    - `archived` boolean, required
    - `meeting_id` string, required
    - `meeting_name` string, nullable, required
    - `project_id` string, nullable, required: Project the source meeting is filed under.
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, nullable, required: Null if never updated.
  - `total` integer, required: Total matches across all pages, not just this page.
  - `page` integer, required
  - `page_size` integer, required

## Other responses

- `401`: Unauthorized
- `422`: Validation error
- `429`: Rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/cogram/apis/cogram-api.md) · [All operations](https://skmtc.dev/cogram/apis/cogram-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cogram/apis/cogram-api/revisions/5a3c9c40fca5?raw)
