---
schema: rendered-html/v1
title: "Create an Issue | Developer Portal for YouTrack and Hub Documentation"
source_url: https://www.jetbrains.com/help/youtrack/devportal/api-howto-create-issue.html
generated_at: 2026-06-11T14:59:49.724196+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](api-howto-create-issue.html)
- [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](jetbrains__com__help__youtrack__devportal__api-howto-get-value-for-specific-cf.md)
- 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. [Create an Issue](#0)

# Create an Issue﻿

Last modified: 07 May 2026

## Use Case﻿

Use the REST API to create a new issue with the default values for issue custom fields.

## Summary﻿

To create an issue, you need to know an entity id of the project to which the issue should be reported. It means that you need to get a list of available projects, find an id of the target project, and then create a new issue in this project.

## Step-by-Step﻿

1. Get a list of available projects.

   ```
   curl -X GET \
   'https://example.youtrack.cloud/api/admin/projects?fields=id,name,shortName' \
   -H 'Accept: application/json' \
   -H 'Authorization: Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX' \
   -H 'Content-Type: application/json'
   ```

   For such request, you get response from the server with the following body:

   ```
   [
       {
           "shortName": "GRP",
           "name": "GRA Project",
           "id": "0-7",
           "$type": "Project"
       },
       {
           "shortName": "RAP",
           "name": "Rest Api Project",
           "id": "0-2",
           "$type": "Project"
       },
       {
           "shortName": "RP",
           "name": "Rest Project",
           "id": "0-6",
           "$type": "Project"
       },
       {
           "shortName": "SP",
           "name": "Sample Project",
           "id": "0-0",
           "$type": "Project"
       },
       {
           "shortName": "SNBX",
           "name": "Sandbox",
           "id": "0-3",
           "$type": "Project"
       }
   ]
   ```

   You can also filter the list of projects by `shortName` or a `name` of the required project.

   Sample request with the filter by a project's `name`:

   ```
   curl -X GET \
   'https://example.youtrack.cloud/api/admin/projects?fields=id,name,shortName&query=Sample+Project'
   \
   -H 'Accept: application/json' \
   -H 'Authorization: Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX' \
   -H 'Content-Type: application/json'
   ```

   Sample request with the filter by a project's `shortName`:

   ```
   curl -X GET \
   'https://example.youtrack.cloud/api/admin/projects?fields=id,name,shortName&query=sp'
   \
   -H 'Accept: application/json' \
   -H 'Authorization: Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX' \
   -H 'Content-Type: application/json'
   ```

   To the sample request with the `query` parameter, the response body contains data only for the matching project:

   ```
   [
       {
           "shortName": "SP",
           "name": "Sample Project",
           "id": "0-0",
           "$type": "Project"
       }
   ]
   ```
2. In the response from the server, locate the id of the target project. In our sample, the required project `id` is `0-0`.

   ```
   "id" : "0-0"
   ```
3. Send a `POST` request to create a new issue in the target project:

   ```
   curl -X POST \
   https://example.youtrack.cloud/api/issues \
   -H 'Accept: application/json' \
   -H 'Authorization: Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX' \
   -H 'Content-Type: application/json' \
   -d '{
   "project":{"id":"0-0"},
   "summary":"REST API lets you create issues!",
   "description":"Let'\''s create a new issue using YouTrack'\''s REST API."
   }'
   ```

   In the body of the response, the server returns the entity id of the created issue:

   ```
   {
       "id": "2-38",
       "$type": "Issue"
   }
   ```

That's it: We created a new issue. All custom fields of the issue are set to their default values.

> ### note
>
> Please note that you cannot simultaneously create a new issue and add attachments to it. You can attach files only to an already existing issue.

- [Create an Issue](/help/youtrack/devportal/api-howto-create-issue.html)
- [Use Case](/help/youtrack/devportal/api-howto-create-issue.html#use-case)
- [Summary](/help/youtrack/devportal/api-howto-create-issue.html#summary)
- [Step-by-Step](/help/youtrack/devportal/api-howto-create-issue.html#step-by-step)

REST API Use Cases[Create an Issue and Set Custom Fields](jetbrains__com__help__youtrack__devportal__api-howto-create-issue-with-fields.md)

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

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