---
schema: rendered-html/v1
title: "Get Value for an Issue Custom Field | Developer Portal for YouTrack and Hub Documentation"
source_url: https://www.jetbrains.com/help/youtrack/devportal/api-howto-get-value-for-specific-cf.html
generated_at: 2026-06-11T14:59:59.784044+00:00
---

Feedback

Thanks for your feedback!

Was this page helpful?

YesNo

Developer Portal for YouTrack and Hub

- Developer Portal
- Apps
- MCP Tools
- YouTrack Workflows
- YouTrack Import Scripts
- YouTrack Form API
- YouTrack REST API
- [Get Started with REST API](jetbrains__com__help__youtrack__devportal__api-getting-started.md)
- REST API Reference
- REST API Use Cases
- [Create an Issue](jetbrains__com__help__youtrack__devportal__api-howto-create-issue.md)
- [Create an Issue and Set Custom Fields](jetbrains__com__help__youtrack__devportal__api-howto-create-issue-with-fields.md)
- [Get Issues List with All Values](jetbrains__com__help__youtrack__devportal__api-howto-get-issues-with-all-values.md)
- [Get Value for an Issue Custom Field](api-howto-get-value-for-specific-cf.html)
- Add Value to a Set
- [Update Issue Custom Fields](jetbrains__com__help__youtrack__devportal__api-how-to-update-custom-fields-values.md)
- Update a Text Field Value
- [Clear Values of Custom Fields](jetbrains__com__help__youtrack__devportal__api-how-to-clear-custom-fields-values.md)
- Apply Commands to Issues
- Tag or Untag Issues
- Work with Issue Tags
- Attach Files to an Issue
- Delete an Issue Attachment
- Download an Issue Attachment
- [Link Issues](jetbrains__com__help__youtrack__devportal__api-howto-link-issues.md)
- Get Issue History
- Get a Database Backup
- Add User to Project Team
- REST API Troubleshooting
- Color Indices List
- Hub REST API

1. YouTrack REST API
2. REST API Use Cases
3. [Get Value for an Issue Custom Field](#0)

# Get Value for an Issue Custom Field﻿

Last modified: 07 May 2026

## Use Case﻿

Use the YouTrack REST API to retrieve the current value of a specific custom field in an issue.

## Summary﻿

To get a value of a specific custom field in an issue, send a `GET` request to the following endpoint:

```
/api/issues/{issueID}/customFields/{fieldID}[?fields={list of attributes}]
```

To form this request correctly, you need the following data:

1. An ID of the issue, for which you get the custom field.
2. An ID of the issue custom field, for which you get its value.
3. A list of attributes of the value that you wish to receive from the server.

To obtain IDs of the target issue and the field, you can use a single `GET` request for a list of issues.

To form a list of value attributes, refer to the list of supported attributes for a value entity depending on the `$type` of the target custom field in an issue.

## Step-by-Step﻿

1. Get the list of issues in a target project. Also, let's request the list of available custom fields with their names.

   ```
   curl -X GET 'https://example.youtrack.cloud/api/issues?query=in:SP&fields=id,idReadable,summary,customFields(id,projectCustomField(field(name)))' \
   -H 'Accept: application/json' \
   -H 'Authorization: Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX'
   ```

   The `query` request parameter lets us filter the list of issues by the target project, in the sample the projects `shortName` is `SP`.

   In the `fields` request parameter, we instruct the server to return the following attributes for each issue found:

   - `id` and `idReadable` - both database entity ID and an ID of the issue in the project, respectively.
   - `summary` - issue's summary may help to identify the target issue.
   - `customFields` - a list of custom fields for each issue. To help us identify the target custom field, we also request the name of each field which is defined through the project custom field and its "prototype" - the generic custom field.

   In the response to this request, the server returns the following data:

   ```
   [
     {
       "summary": "Issue from REST #1",
       "idReadable": "SP-8",
       "customFields": [
         {
           "projectCustomField": {
             "field": {
               "name": "Priority",
               "$type": "CustomField"
             },
             "$type": "EnumProjectCustomField"
           },
           "id": "92-1",
           "$type": "SingleEnumIssueCustomField"
         },
         {
           "projectCustomField": {
             "field": {
               "name": "Type",
               "$type": "CustomField"
             },
             "$type": "EnumProjectCustomField"
           },
           "id": "92-2",
           "$type": "SingleEnumIssueCustomField"
         },
         {
           "projectCustomField": {
             "field": {
               "name": "State",
               "$type": "CustomField"
             },
             "$type": "StateProjectCustomField"
           },
           "id": "92-3",
           "$type": "StateIssueCustomField"
         },
         {
           "projectCustomField": {
             "field": {
               "name": "Assignee",
               "$type": "CustomField"
             },
             "$type": "UserProjectCustomField"
           },
           "id": "94-0",
           "$type": "SingleUserIssueCustomField"
         },
         {
           "projectCustomField": {
             "field": {
               "name": "Subsystem",
               "$type": "CustomField"
             },
             "$type": "OwnedProjectCustomField"
           },
           "id": "92-0",
           "$type": "SingleOwnedIssueCustomField"
         },
         {
           "projectCustomField": {
             "field": {
               "name": "Fix versions",
               "$type": "CustomField"
             },
             "$type": "VersionProjectCustomField"
           },
           "id": "92-4",
           "$type": "MultiVersionIssueCustomField"
         },
         {
           "projectCustomField": {
             "field": {
               "name": "Affected versions",
               "$type": "CustomField"
             },
             "$type": "VersionProjectCustomField"
           },
           "id": "92-5",
           "$type": "MultiVersionIssueCustomField"
         },
         {
           "projectCustomField": {
             "field": {
               "name": "Fixed in build",
               "$type": "CustomField"
             },
             "$type": "BuildProjectCustomField"
           },
           "id": "92-6",
           "$type": "SingleBuildIssueCustomField"
         }
       ],
       "id": "2-7",
       "$type": "Issue"
     },
     {
       "summary": "Sprint 3. Task 2",
       "idReadable": "SP-38",
       "customFields": [
         ...
       ],
       "id": "2-42",
       "$type": "Issue"
     },
     {
       "summary": "Sprint3. Task 1",
       "idReadable": "SP-37",
       "customFields": [
         ...
       ],
       "id": "2-40",
       "$type": "Issue"
     },
     ...
   ]
   ```
2. Locate the ID of the target issue. For the sample, let's take the issue `SP-8` with the entity id `2-7`.
3. Locate the ID of a target custom field. Let's get the current State of the issue. In the sample, the ID of the State field is `92-3`.
4. Form a list of attributes that you want to get for the State field.

   A list of supported attributes for a custom field depends entirely on its type.

   A State field has `$type` of `StateIssueCustomField`. It binds a project custom field of the type `StateProjectCustomField` and a value. A StateProjectCustomField uses a bundle of values of the type StateBundle. And a `StateBundle` stores values of the type StateBundleElement. Thus, to form a list of attributes that we want to get for the current value of the State field, we need to check the JSON schema and see what attributes the StateBundleElement entity contains.

   For the sample, we picked these:

   | Attribute | Description |
   | --- | --- |
   | `name` | The name of the value. It represents the actual State that users see in UI: Open, In Progress, Fixed, and so on. |
   | `localizedName` | If the server does not use the default locale, this attribute stores the name of the value in the selected locale. |
   | `isResolved` | Indicates if the value - the state - is considered as resolved. |
   | `id` | The entity ID of the value. |

   To verify that we get the correct field in the sample, we also request the name of the field and its ID.

   So, when we put together all the attributes that we want to receive from the server, the request parameter `fields` looks as follows:

   ```
   fields=id,projectCustomField(id,field(name)),value(id,isResolved,localizedName,name)
   ```
5. Now that we collected all the data that is required for the request, this is the resulting request for the field value:

   ```
   curl -X GET \
   'https://example.youtrack.cloud/api/issues/SP-8/customFields/92-3?fields=id,projectCustomField(id,field(id,name)),value(id,isResolved,localizedName,name)' \
   -H 'Accept: application/json' \
   -H 'Authorization: Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX'
   ```

   For this request, the server returns the following response body:

   ```
   {
     "projectCustomField": {
       "field": {
         "name": "State",
         "id": "58-3",
         "$type": "CustomField"
       },
       "id": "92-3",
       "$type": "StateProjectCustomField"
     },
     "value": {
       "isResolved": true,
       "localizedName": null,
       "name": "Fixed",
       "id": "69-7",
       "$type": "StateBundleElement"
     },
     "id": "92-3",
     "$type": "StateIssueCustomField"
   }
   ```

- [Get Value for an Issue Custom Field](/help/youtrack/devportal/api-howto-get-value-for-specific-cf.html)
- [Use Case](/help/youtrack/devportal/api-howto-get-value-for-specific-cf.html#z42q4jf_3)
- [Summary](/help/youtrack/devportal/api-howto-get-value-for-specific-cf.html#summary)
- [Step-by-Step](/help/youtrack/devportal/api-howto-get-value-for-specific-cf.html#step-by-step)

[Get Issues List with All Values](jetbrains__com__help__youtrack__devportal__api-howto-get-issues-with-all-values.md)Add Value to a Set

- Privacy & Security
- Terms Of Use
- Trademarks
- Legal

Copyright © 2000–2026 JetBrains s.r.o.

![](https://bat.bing.com/action/0?ti=5220035&tm=gtm002&Ver=2&mid=874059f4-d7ce-4b65-9b5b-33878a81fad4&bo=4&sid=452929b065a111f19a7fe7356f74a419&vid=aa3122f0648711f1a10d6d095e10fd87&vids=0&msclkid=N&pi=918639831&lg=en-US&sw=1920&sh=1080&sc=24&tl=Get%20Value%20for%20an%20Issue%20Custom%20Field%20%7C%20Developer%20Portal%20for%20YouTrack%20and%20Hub%20Documentation&p=https%3A%2F%2Fwww.jetbrains.com%2Fhelp%2Fyoutrack%2Fdevportal%2Fapi-howto-get-value-for-specific-cf.html&r=&lt=737&pt=1781189997707,30,30,,,2,2,2,2,2,,3,24,25,34,248,248,248,736,737,737&pn=0,0&evt=pageLoad&sv=2&asc=G&cdb=AQAS&rn=965853)

![](https://crawler.prototype.prolicht.digital/l/YqjSaB)![](https://crawler.prototype.prolicht.digital/l/QMn6M5)
