Skip to content

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

{
  "error": "invalid_request",
  "message": "Invalid parameters or the request cannot be parsed"
}

401 Unauthenticated

{
  "error": "unauthorized",
  "message": "Missing or invalid access token"
}

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; page and per_page are 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