---
schema: rendered-html/v1
title: "Projects | Developer Portal for YouTrack and Hub Documentation"
source_url: https://www.jetbrains.com/help/youtrack/devportal/resource-api-admin-projects.html
generated_at: 2026-06-11T15:10:55.226518+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
- REST API Reference
- Entities
- Resources
- Activity Items
- Issue Activities Page
- Build Bundles
- Enum Bundles
- Owned Bundles
- State Bundles
- User Bundles
- Version Bundles
- Custom Fields
- Field Types
- Backup Files
- Database Backup Settings
- Global Settings
- Organizations
- [Projects](resource-api-admin-projects.html)
- Operations with Specific Project
- Sub-resources
- [Telemetry data](jetbrains__com__help__youtrack__devportal__resource-api-admin-telemetry.md)
- [Global Time Tracking Settings](jetbrains__com__help__youtrack__devportal__resource-api-admin-timetrackingsettings.md)
- [Agiles](jetbrains__com__help__youtrack__devportal__resource-api-agiles.md)
- Articles
- Assigned Roles
- Commands
- Command Suggestions
- User Groups
- Issue Link Types
- Issue Tag
- Issues
- Issue Count
- Permissions
- Roles
- Saved Queries
- Search Suggestions
- Tags
- Users
- My User Profile
- Issue Work Items
- REST API Use Cases
- REST API Troubleshooting
- Color Indices List
- Hub REST API

1. YouTrack REST API
2. REST API Reference
3. Resources
4. [Projects](#0)

# Projects﻿

Last modified: 31 March 2026

This resource provides access to projects.

| Resource | ``` /api/admin/projects ``` |
| --- | --- |
| Returned entity | Project. For the description of the entity attributes, see [Supported Fields](/help/youtrack/devportal/resource-api-admin-projects.html#Project-supported-fields) section. |
| Supported methods | - `GET`: [Read a List of Projects](/help/youtrack/devportal/resource-api-admin-projects.html#get_all-Project-method). - `POST`: [Add a New Project](/help/youtrack/devportal/resource-api-admin-projects.html#create-Project-method). |
| Supported sub-resources | - /api/admin/projects/{projectID} : Operations with Specific Project - /api/admin/projects/{projectID}/customFields : Project Custom Fields - /api/admin/projects/{projectID}/timeTrackingSettings : [Project Time Tracking Settings](jetbrains__com__help__youtrack__devportal__resource-api-admin-projects-projectid-timetrackingsettings.md) - /api/admin/projects/{projectID}/issues : Issues - /api/admin/projects/{projectID}/articles : Project Articles |

## Project attributes﻿

Represents a YouTrack project.

### Related Resources﻿

Below you can find the list of resources that let you work with this entity.

- Projects
- Issue Project

Extends IssueFolder

### Attributes﻿

This table describes attributes of the `Project` entity.

- To receive an attribute in the response from the server, specify it explicitly in the `fields` request parameter.
- To update an attribute, provide it in the body of a POST request.

| Field | Type | Description |
| --- | --- | --- |
| id | String | The database ID of the project. `Read-only`. |
| archived | Boolean | If the project is currently archived, this property is `true`. |
| createdBy | User | The user who created the project. `Can be null`. |
| customFields | ProjectCustomField | The set of custom fields that are available in the project. |
| description | String | The description of the project as shown on the project profile page. `Can be null`. |
| fromEmail | String | The email address that is used to send notifications for the project. If a 'From' address is not set for the project, the default 'From' address for the YouTrack server is returned. |
| iconUrl | String | The URL of the icon of the project. `Read-only`. `Can be null`. |
| issues | Array of Issues | A list of all issues that belong to the project. |
| leader | User | The user who is set as the project owner. |
| name | String | The name of the project. |
| replyToEmail | String | The email address that is used as the reply email to send notifications for the project. If it is not set for the project, the default address for the YouTrack server is returned. `Can be null`. |
| shortName | String | The ID of the project. This short name is also a prefix for an issue ID. |
| startingNumber | Long | Starting number for issues in project. This property can be set only during creation of the new project. |
| team | ProjectTeam | Read-only user group representing all members of the project team. `Read-only`. |
| template | Boolean | If `true`, this project is a template. |

## Read a List of Projects﻿

Get a list of all available projects in the system.

### Request syntax﻿

```
GET /api/admin/projects?{fields}&{$top}&{$skip}
```

| null | The database ID of Project |
| --- | --- |

### Request parameters﻿

| Parameter | Type | Description |
| --- | --- | --- |
| fields | String | A list of Project attributes that should be returned in the response. If no field is specified, only the `entityID` is returned. |
| $skip | Int | Optional. Lets you set a number of returned entities to skip before returning the first one. |
| $top | Int | Optional. Lets you specify the maximum number of entries that are returned in the response. If you don't set the $top value, the server limits the maximum number of returned entries.  The server returns a maximum of 42 entries for most resources that return collections. For more information, see Pagination. |

### Sample﻿

#### Sample request﻿

```
https://example.youtrack.cloud/api/admin/projects?fields=id,name,shortName,createdBy(login,name,id),leader(login,name,id),key&$top=2
```

#### Sample response body﻿

```
[
  {
    "shortName": "KNBN",
    "leader": {
      "login": "john.doe",
      "name": "John Doe",
      "id": "1-2",
      "$type": "User"
    },
    "createdBy": {
      "login": "john.doe",
      "name": "John Doe",
      "id": "1-2",
      "$type": "User"
    },
    "name": "Another Kanban project from REST",
    "id": "0-14",
    "$type": "Project"
  },
  {
    "shortName": "SCR",
    "leader": {
      "login": "john.doe",
      "name": "John Doe",
      "id": "1-2",
      "$type": "User"
    },
    "createdBy": {
      "login": "john.doe",
      "name": "John Doe",
      "id": "1-2",
      "$type": "User"
    },
    "name": "AnotherScrum project from REST",
    "id": "0-10",
    "$type": "Project"
  }
]
```

## Add a New Project﻿

Create a project in YouTrack.

Required fields: `name`, `shortName`, `leader` (`id` - the database of the project owner user).

To create a project that is based on a template, like Scrum or Kanban, add `template` query parameter to the endpoint URL. For reference, see Sample 2 below.

### Required permissions﻿

Requires permissions: Create Project

### Request syntax﻿

```
POST /api/admin/projects?{fields}&{template}
```

| null | The database ID of Project |
| --- | --- |

### Request parameters﻿

| Parameter | Type | Description |
| --- | --- | --- |
| fields | String | A list of Project attributes that should be returned in the response. If no field is specified, only the `entityID` is returned. |
| template | String | If the `template` is not specified, then the new project will use the default settings. Optional. Lets you specify the template to use for the new project. Possible values: `scrum`, `kanban`. |

### Sample 1﻿

This sample shows a minimal viable request to create a new project. To check the attributes of a newly created project, we added `fields` request parameters.

#### Sample request﻿

```
https://example.youtrack.cloud/api/admin/projects?fields=id,shortName,name,leader(id,login,name)
```

#### Sample request body﻿

```
{
  "description": "A new project created from rest api",
  "name": "GRA Project",
  "shortName": "GRP",
  "leader": {
    "id": "1-2"
  }
}
```

#### Sample response body﻿

```
{
  "shortName": "NP",
  "leader": {
    "login": "john.doe",
    "name": "John Doe",
    "id": "1-2",
    "$type": "User"
  },
  "name": "New Project",
  "id": "0-16",
  "$type": "Project"
}
```

### Sample 2﻿

This sample shows a request to create a new project with the Scrum template.

#### Sample request﻿

```
https://example.youtrack.cloud/api/admin/projects?fields=id,shortName,name,leader(id,login,name)&template=scrum
```

#### Sample request body﻿

```
{
  "description": "A new project created with the Scrum template",
  "name": "New Scrum Project",
  "shortName": "NSCP",
  "leader":{
    "id":"1-2"
  }
}
```

#### Sample response body﻿

```
{
  "shortName": "NSCP",
  "leader": {
    "login": "minnie.terry",
    "name": "Minnie Terry",
    "id": "1-2",
    "$type": "User"
  },
  "name": "New Scrum Project",
  "id": "81-106",
  "$type": "Project"
}
```

- [Projects](/help/youtrack/devportal/resource-api-admin-projects.html)
- [Project attributes](/help/youtrack/devportal/resource-api-admin-projects.html#Project-supported-fields)
- [Read a List of Projects](/help/youtrack/devportal/resource-api-admin-projects.html#get_all-Project-method)
- [Add a New Project](/help/youtrack/devportal/resource-api-admin-projects.html#create-Project-method)

Operations with Specific OrganizationOperations with Specific Project

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

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