Query board content list¶
GET /api/v5/org/{owner}/kanban/{kanban_id}/item_list
This endpoint queries the list of content items in a board under the specified organization. It supports filtering by repository, source type (issue/merge_request), source state, title, and issue or PR number, supports pagination, and returns details such as content items, associated repositories, labels, assignees, milestones, and board field values.
Access token support¶
- AtomGit user access token (AtomGit user access tokens)
Anonymous access¶
This endpoint allows anonymous access.
Request parameters¶
| Parameter | Location | Type | Required | Description |
|---|---|---|---|---|
owner |
path | string | Yes | Organization path |
kanban_id |
path | string | Yes | Board ID |
repo |
query | string | No | Repository path |
source_type |
query | string | No | Source type; enum: issue / merge_request |
source_status |
query | string | No | Source status; enum: opened / closed / merged |
title |
query | string | No | Title |
source_iids |
query | string | No | Query by the iid of a PR or issue; when using this parameter you must provide the repo parameter, otherwise it has no effect |
page |
query | string | No | Pagination parameter; page number |
per_page |
query | string | No | Pagination parameter; number per page |
Response parameters¶
| Field | Type | Always returned | Nullable | Description |
|---|---|---|---|---|
id |
integer | Yes | — | Board content item ID |
number |
integer | Yes | — | Number |
title |
string | Yes | — | Title |
source_type |
string | Yes | — | Source type (issue / merge_request) |
status |
string | Yes | — | Source status (opened / closed / merged) |
html_url |
string | Yes | — | HTML URL |
url |
string | Yes | — | API URL |
repo |
object | Yes | — | Associated repository information |
labels |
object[] | Yes | — | Label list |
assignees |
object[] | Yes | — | Assignee list |
milestone_resp |
object | No | — | Milestone information |
linked_pull_requests |
object[] | No | — | Linked pull request list |
values |
object[] | Yes | — | Board field value list |
reviewers |
object[] | No | — | Reviewer list |
Note: The response body is a JSON array; the table above describes the fields of each array element (a board content item).
repo object¶
| Field | Type | Always returned | Nullable | Description |
|---|---|---|---|---|
repo.id |
integer | Yes | — | Repository ID |
repo.full_name |
string | Yes | — | Repository full name |
repo.human_name |
string | Yes | — | Repository display name |
repo.url |
string | Yes | — | Repository API URL |
repo.name |
string | Yes | — | Repository name |
labels object (array element)¶
| Field | Type | Always returned | Nullable | Description |
|---|---|---|---|---|
labels.id |
integer | Yes | — | Label ID |
labels.name |
string | Yes | — | Label name |
labels.color |
string | Yes | — | Label color |
assignees object (array element)¶
| Field | Type | Always returned | Nullable | Description |
|---|---|---|---|---|
assignees.id |
string | Yes | — | User ID |
assignees.login |
string | Yes | — | Login name |
assignees.name |
string | Yes | — | Name |
assignees.avatar_url |
string | Yes | — | Avatar URL |
assignees.html_url |
string | Yes | — | User profile URL |
assignees.url |
string | Yes | — | User API URL |
milestone_resp object¶
| Field | Type | Always returned | Nullable | Description |
|---|---|---|---|---|
milestone_resp.html_url |
string | Yes | — | Milestone HTML URL |
milestone_resp.id |
integer | Yes | — | Milestone ID |
milestone_resp.title |
string | Yes | — | Milestone title |
milestone_resp.url |
string | Yes | — | Milestone API URL |
linked_pull_requests object (array element)¶
| Field | Type | Always returned | Nullable | Description |
|---|---|---|---|---|
linked_pull_requests.id |
integer | No | — | Pull request ID |
linked_pull_requests.html_url |
string | No | — | Pull request HTML URL |
linked_pull_requests.number |
integer | No | — | Number |
linked_pull_requests.state |
string | No | — | State |
linked_pull_requests.url |
string | No | — | Pull request API URL |
linked_pull_requests.repo |
object | No | — | Associated repository information |
linked_pull_requests.repo object¶
| Field | Type | Always returned | Nullable | Description |
|---|---|---|---|---|
linked_pull_requests.repo.id |
integer | Yes | — | Repository ID |
linked_pull_requests.repo.full_name |
string | Yes | — | Repository full name |
linked_pull_requests.repo.human_name |
string | Yes | — | Repository display name |
linked_pull_requests.repo.url |
string | Yes | — | Repository API URL |
linked_pull_requests.repo.name |
string | Yes | — | Repository name |
values object (array element)¶
| Field | Type | Always returned | Nullable | Description |
|---|---|---|---|---|
values.field_name |
string | Yes | — | Field name |
values.field_type |
string | Yes | — | Field type |
values.value |
object | Yes | — | Field value |
values.value object¶
| Field | Type | Always returned | Nullable | Description |
|---|---|---|---|---|
values.value.color |
string | Yes | — | Color |
values.value.value |
string | Yes | — | Field value |
values.value.position |
integer | Yes | — | Sort position |
values.value.description |
string | No | — | Description |
reviewers object (array element)¶
| Field | Type | Always returned | Nullable | Description |
|---|---|---|---|---|
reviewers.id |
string | No | — | User ID |
reviewers.login |
string | No | — | Login name |
reviewers.name |
string | No | — | Name |
reviewers.avatar_url |
string | No | — | Avatar URL |
reviewers.html_url |
string | No | — | User profile URL |
reviewers.url |
string | No | — | User API URL |
Error responses¶
A success response alone is not enough: callers need to know what failures look like in order to write error handling.
400 Invalid parameters
401 Unauthenticated
The actual error field names are determined by what the backend returns; do not make them up when you cannot confirm them.
HTTP response status codes¶
| Status code | Description |
|---|---|
200 |
Success (OK) |
304 |
Not modified |
401 |
Requires authentication |
403 |
Forbidden |
Request example¶
Parameter description¶
- Replace
<org>with the organization path (the address path of an enterprise, organization, or individual); - Replace
<kanban_id>with the board ID; - Replace
<repo>with the repository path (optional); - This endpoint allows anonymous access; you may also authenticate with an AtomGit user access token (via the
access_tokenparameter) (optional).
cURL¶
curl -X GET 'https://api.atomgit.com/api/v5/org/<org>/kanban/<kanban_id>/item_list?repo=<repo>&source_type=issue&source_status=opened&page=1&per_page=20' \
-H 'Accept: application/json'
JavaScript¶
const org = "<org>";
const kanbanId = "<kanban_id>";
const params = new URLSearchParams({
repo: "<repo>",
source_type: "issue",
source_status: "opened",
page: "1",
per_page: "20",
});
const response = await fetch(
`https://api.atomgit.com/api/v5/org/${encodeURIComponent(org)}/kanban/${encodeURIComponent(kanbanId)}/item_list?${params}`,
{
headers: {
"Accept": "application/json",
},
},
);
if (!response.ok) {
throw new Error(`Request failed: ${response.status}`);
}
const data = await response.json();
console.log(data);
Python¶
import requests
org = "<org>"
kanban_id = "<kanban_id>"
params = {
"repo": "<repo>",
"source_type": "issue",
"source_status": "opened",
"page": "1",
"per_page": "20",
}
resp = requests.get(
f"https://api.atomgit.com/api/v5/org/{org}/kanban/{kanban_id}/item_list",
params=params,
headers={"Accept": "application/json"},
timeout=10,
)
resp.raise_for_status()
print(resp.json())
Response example¶
Status code: 200
[
{
"id": 101,
"number": 2,
"title": "Implement board content list query endpoint",
"source_type": "issue",
"status": "opened",
"html_url": "https://api.atomgit.com/<org>/<repo>/issues/2",
"url": "https://api.atomgit.com/api/v5/org/<org>/kanban/<kanban_id>/item_list",
"repo": {
"id": 1,
"full_name": "<org>/<repo>",
"human_name": "Example repository",
"url": "https://api.atomgit.com/api/v5/repos/<org>/<repo>",
"name": "<repo>"
},
"labels": [
{
"id": 1,
"name": "bug",
"color": "#d73a4a"
}
],
"assignees": [
{
"id": "12345",
"login": "octocat",
"name": "Octo Cat",
"avatar_url": "https://api.atomgit.com/avatars/octocat.png",
"html_url": "https://api.atomgit.com/octocat",
"url": "https://api.atomgit.com/api/v5/users/octocat"
}
],
"milestone_resp": {
"html_url": "https://api.atomgit.com/<org>/<repo>/milestone/3",
"id": 3,
"title": "v1.0",
"url": "https://api.atomgit.com/api/v5/repos/<org>/<repo>/milestones/3"
},
"linked_pull_requests": [
{
"id": 501,
"html_url": "https://api.atomgit.com/<org>/<repo>/pull/5",
"number": 5,
"state": "open",
"url": "https://api.atomgit.com/api/v5/repos/<org>/<repo>/pulls/5",
"repo": {
"id": 1,
"full_name": "<org>/<repo>",
"human_name": "Example repository",
"url": "https://api.atomgit.com/api/v5/repos/<org>/<repo>",
"name": "<repo>"
}
}
],
"values": [
{
"field_name": "State",
"field_type": "select",
"value": {
"color": "#36a2eb",
"value": "In progress",
"position": 1,
"description": "Current iteration in progress"
}
}
],
"reviewers": [
{
"id": "67890",
"login": "reviewer1",
"name": "Reviewer One",
"avatar_url": "https://api.atomgit.com/avatars/reviewer1.png",
"html_url": "https://api.atomgit.com/reviewer1",
"url": "https://api.atomgit.com/api/v5/users/reviewer1"
}
]
}
]
Error codes¶
| Error code | Description |
|---|---|
401 |
Unauthenticated or invalid credentials (missing or invalid access credentials) |
400 |
Invalid parameters or unparseable request |
404 |
Request path does not exist |
405 |
Request method not supported |
429 |
Too many requests; rate limit triggered |
500 |
Internal system error |
Markdown source: View on AtomGit·Content from the open-source project gitcode-dev/atomgit-api-doc