Skip to content

List all to-do items

GET
/api/v4/todos

Lists all to-do items. When no filter is applied, it returns all pending to-do items for the current user. Different filters allow the user to refine the request.

page
integer
default: 1 nullable

Current page number

Example
1
per_page
integer
default: 20 nullable

Number of items per page

Example
20
action
string
nullable
Allowed values: assigned review_requested mentioned build_failed marked approval_required unmergeable directly_addressed member_access_requested review_submitted ssh_key_expired ssh_key_expiring_soon transfer_failed merge_train_removed okr_checkin_requested added_approver duo_pro_access_granted duo_enterprise_access_granted duo_core_access_granted duo_workflow_input_required

The action to be filtered

author_id
integer
nullable

The ID of an author

project_id
integer
nullable

The ID of a project

group_id
integer
nullable

The ID of a group

state
string
nullable
Allowed values: pending done

The state of the to-do item

type
string
nullable
Allowed values: Commit Issue WorkItem MergeRequest DesignManagement::Design AlertManagement::Alert Namespace Project Key WikiPage::Meta Epic Vulnerability User ComplianceManagement::Projects::ComplianceViolation Ai::DuoWorkflows::Workflow

The type of to-do item

OK

Media type application/json
object
id
integer format: int64
project
object
id
integer format: int64
description
string
name
string
name_with_namespace
string
path
string
path_with_namespace
string
created_at
string format: date-time
group
object
id
integer format: int64
name
string
path
string
kind
string
full_path
string
parent_id
integer format: int64
avatar_url
string
web_url
string
author
object
id
integer format: int64
username
string
public_email
string
name
string
state
string
locked
boolean
avatar_url
string
avatar_path
string
custom_attributes
Array<object>
object
key
string
value
string
web_url
string
action_name
string
target_type
string
target
object
target_url
string
body
string
state
string
created_at
string format: date-time
updated_at
string format: date-time
Example
{
"project": {
"id": 1,
"description": "desc",
"name": "project1",
"name_with_namespace": "John Doe / project1",
"path": "project1",
"path_with_namespace": "namespace1/project1",
"created_at": "2020-05-07T04:27:17.016Z"
},
"group": {
"id": 2,
"name": "project",
"path": "my_project",
"kind": "project",
"full_path": "group/my_project",
"parent_id": 1,
"avatar_url": "https://example.com/avatar/12345",
"web_url": "https://example.com/group/my_project"
},
"author": {
"id": 1,
"username": "admin",
"public_email": "john@example.com",
"name": "Administrator",
"state": "active",
"avatar_url": "https://gravatar.com/avatar/1",
"avatar_path": "/user/avatar/28/The-Big-Lebowski-400-400.png",
"custom_attributes": [
{
"key": "foo",
"value": "bar"
}
],
"web_url": "https://gitlab.example.com/root"
},
"action_name": "assigned",
"target_type": "Issue",
"target_url": "http://example.com/foo/bar/-/issues/1",
"body": "Task description",
"state": "pending",
"created_at": "2016-06-17T07:52:35.225Z",
"updated_at": "2016-06-17T07:52:35.225Z"
}

Bad Request