Get the list of custom fields for enterprise issues¶
GET /api/v8/enterprises/{enterprise_id}/issue_extend_field
Get the list of custom fields for issues in the specified enterprise.
Supported access tokens¶
- AtomGit user access tokens
Anonymous access allowed¶
This endpoint does not allow anonymous access.
Request parameters¶
| Parameter | Location | Type | Required | Description |
|---|---|---|---|---|
enterprise_id |
path | string | Yes | Enterprise ID |
access_token |
query | string | Yes | User authorization code |
page |
query | string | No | Current page number, default 1 |
per_page |
query | string | No | Number of items per page, maximum 100, default 20 |
Response parameters¶
| Field | Type | Always returned | Nullable | Description |
|---|---|---|---|---|
id |
integer | Yes | No | ID |
name |
string | Yes | No | Field name |
description |
string | Yes | No | Field description |
field_type |
string | Yes | No | Type of the custom field. Enum: text_single (single-line text), text_multi (multi-line text), integer (integer), decimal (decimal), date (date), select_single (single-select dropdown), select_multi (multi-select dropdown), member_single (single member), member_multi (multiple members) |
field_visibility |
integer | Yes | No | Visibility. 0: visible to administrators only, 1: visible to everyone |
created_time |
string | Yes | No | Creation time |
updated_time |
string | Yes | No | Update time |
options |
object[] | Yes | No | Option details, returned only for option-type fields |
types |
object[] | Yes | No | List of issue types associated with this field |
options object¶
| Field | Type | Always returned | Nullable | Description |
|---|---|---|---|---|
options.id |
integer | Yes | No | ID |
options.extend_field_id |
integer | Yes | No | Custom field ID |
options.sort_num |
integer | Yes | No | Sort number |
options.field_value |
string | Yes | No | Option value |
options.created_time |
string | Yes | No | Creation time |
options.updated_time |
string | Yes | No | Update time |
types object¶
| Field | Type | Always returned | Nullable | Description |
|---|---|---|---|---|
types.id |
integer | Yes | No | ID |
types.name |
string | Yes | No | Type name |
types.desc |
string | Yes | No | Description |
types.enabled |
boolean | Yes | No | Whether it is enabled |
types.sort_num |
integer | Yes | No | Sort number |
types.kind |
integer | Yes | No | Type category |
Error response¶
400 Invalid parameters
401 Unauthenticated
Error response field names follow what the backend actually returns.
HTTP status codes¶
| Status code | Description |
|---|---|
200 |
Success (OK) |
400 |
Invalid parameters (Bad request) |
401 |
Authentication required (Requires authentication) |
403 |
Access forbidden (Forbidden) |
404 |
Request path does not exist (Not found) |
500 |
Internal system error (Internal server error) |
Request example¶
Parameter notes¶
The examples use https://atomgit.com as the access address.
Replace
<enterprise_id>with the enterprise ID and<token>with your AtomGit user access token;pageandper_pageare optional pagination parameters.
cURL¶
curl -X GET 'https://api.atomgit.com/api/v8/enterprises/<enterprise_id>/issue_extend_field?access_token=<token>&page=1&per_page=20' \
-H 'Accept: application/json'
JavaScript¶
// Native fetch (Node.js 18+ / browsers)
const response = await fetch(
"https://api.atomgit.com/api/v8/enterprises/<enterprise_id>/issue_extend_field?access_token=<token>&page=1&per_page=20",
{
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
resp = requests.get(
"https://api.atomgit.com/api/v8/enterprises/<enterprise_id>/issue_extend_field",
params={
"access_token": "<token>",
"page": 1,
"per_page": 20,
},
headers={
"Accept": "application/json",
},
timeout=10,
)
resp.raise_for_status()
print(resp.json())
Response example¶
Status code: 200
[
{
"id": 48,
"name": "Multi-select dropdown",
"description": "",
"field_type": "select_multi",
"field_visibility": 0,
"created_time": "2025-12-18T14:50:25+08:00",
"updated_time": "2025-12-18T14:50:25+08:00",
"options": [
{
"id": 51,
"extend_field_id": 48,
"sort_num": 9999,
"field_value": "1",
"created_time": "2025-12-18T14:50:34+08:00",
"updated_time": "2025-12-18T14:50:34+08:00"
},
{
"id": 52,
"extend_field_id": 48,
"sort_num": 9999,
"field_value": "2",
"created_time": "2025-12-18T14:50:36+08:00",
"updated_time": "2025-12-18T14:50:36+08:00"
}
],
"types": [
{
"id": 425,
"name": "Requirement",
"desc": "",
"enabled": true,
"sort_num": 1,
"kind": 0
}
]
},
{
"id": 45,
"name": "test1",
"description": "",
"field_type": "text_single",
"field_visibility": 0,
"created_time": "2025-12-18T10:46:51+08:00",
"updated_time": "2026-01-07T09:22:17+08:00",
"types": []
}
]
Error codes¶
| Error code | Description |
|---|---|
400 |
Invalid parameters or the request cannot be parsed |
401 |
Unauthenticated or invalid credentials (missing or invalid access credentials) |
403 |
No permission to access this resource |
404 |
Request path does not exist |
500 |
Internal system error |
Markdown source: View on AtomGit·Content from the open-source project gitcode-dev/atomgit-api-doc