### Generate a new YouTrack app project
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide
Run this command in an empty directory to use the YouTrack App Generator. It sets up the basic project structure, installs dependencies, and prompts for required fields in the `manifest.json` file, including a sample widget.
```Shell
npm create @jetbrains/youtrack-app@latest
```
--------------------------------
### Install YouTrack Scripting Packages Globally
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/js-workflow-external-editor
These commands install the YouTrack scripting API and core scripting packages globally on your system, making them accessible from any project. This is the easiest way to get started with YouTrack workflow development.
```Shell
npm install -g @jetbrains/youtrack-scripting-api
npm install -g @jetbrains/youtrack-scripting
```
--------------------------------
### Implement a Simple YouTrack UI Widget (HTML)
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide
This HTML snippet demonstrates a basic YouTrack widget designed to display a customer logo. Widgets are stored in the `widgets` folder, declared in the app manifest, and embedded in specific YouTrack UI extension points.
```HTML
```
--------------------------------
### API Sample: Get BackupFiles Request URL
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-databaseBackup-backups
An example URL demonstrating how to request a list of backup files with specific fields and a limit on the number of returned entries.
```HTTP
https://example.com/youtrack/api/admin/databaseBackup/backups?fields=creationDate,file,error,link,name,size,id&$top=3
```
--------------------------------
### Build and Upload YouTrack App using npm
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide
This section describes how to build and upload a YouTrack app package using npm commands. It covers compiling the app and then uploading it to a specified YouTrack host using a permanent token for authentication. This method is applicable for apps created with the YouTrack App Generator.
```Shell
npm run build
```
```Shell
npm run upload -- --host --token
```
--------------------------------
### Invoke YouTrack HTTP Handler from Widget (HTML Script)
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide
This HTML script block shows how to register a YouTrack app host and trigger an alert, demonstrating a basic interaction pattern for invoking functionality, potentially including custom HTTP handlers, from within a widget.
```HTML
```
--------------------------------
### YouTrack REST API: Sample Search Suggestions Request URL
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-search-assist
Provides an example URL for making a GET request to the `/api/search/assist` endpoint. This sample demonstrates how to specify multiple fields to be returned in the response, such as caret, query, and various suggestion details.
```HTTP
https://example.youtrack.cloud/api/search/assist?fields=caret,query,suggestions(caret,completionEnd,completionStart,description,group,matchingEnd,matchingStart,option)
```
--------------------------------
### YouTrack App Manifest JSON Template
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide
This template provides a comprehensive `manifest.json` structure for YouTrack apps, defining metadata such as name, version, YouTrack compatibility, vendor information, and widget configurations. It's crucial for customizing app behavior and appearance within YouTrack.
```JSON
{
"$schema": "https://json.schemastore.org/youtrack-app.json",
"name": "template-app",
"title": "Template App",
"description": "App description",
"version": "1.0.0",
"url": "https://github.com/example/youtrack-app",
"icon": "icon.svg",
"iconDark": "icon-dark.svg",
"minYouTrackVersion": "2022.2.0",
"maxYouTrackVersion": "2024.2.0",
"changeNotes": "Version 0.0.1: Feature 1",
"vendor": {
"name": "JetBrains s.r.o.",
"url": "https://www.jetbrains.com/",
"email": "support@jetbrains.com"
},
"widgets": [
{
"key": "sample-widget",
"name": "Sample Widget",
"description": "Optional widget description",
"extensionPoint": "ISSUE_FIELD_PANEL_FIRST",
"indexPath": "index.html",
"iconPath": "icon.png",
"settingsSchemaPath": "sample-widget-settings.json",
"permissions": ["ISSUE_READ", "ADMIN_READ_APP"],
"defaultDimensions": { "height": "40px", "width": "80%" },
"expectedDimensions": { "height": 40, "width": 150 }
}
]
}
```
--------------------------------
### API Sample: Get BackupFiles Response Body
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-databaseBackup-backups
An example JSON response body showing a list of `BackupFile` entities returned by the GET request, including their name, size, creation date, link, and ID.
```JSON
[
{
"name": "2019-05-22-13-14-07.tar.gz",
"size": 8056029,
"creationDate": 1558523648000,
"link": "backupFile/2019-05-22-13-14-07.tar.gz",
"error": null,
"id": "2019-05-22-13-14-07.tar.gz",
"$type": "BackupFile"
},
{
"name": "2019-05-21-09-00-00.tar.gz",
"size": 8055995,
"creationDate": 1558422000000,
"link": "backupFile/2019-05-21-09-00-00.tar.gz",
"error": null,
"id": "2019-05-21-09-00-00.tar.gz",
"$type": "BackupFile"
},
{
"name": "2019-05-20-09-00-00.tar.gz",
"size": 8055809,
"creationDate": 1558335600000,
"link": "backupFile/2019-05-20-09-00-00.tar.gz",
"error": null,
"id": "2019-05-20-09-00-00.tar.gz",
"$type": "BackupFile"
}
]
```
--------------------------------
### Define YouTrack App Settings Schema (JSON)
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide
This JSON schema defines the structure for custom settings within a YouTrack application. These settings, configured via `settings.json`, are accessible to administrators and can be utilized by JavaScript-based scripts within the app package.
```JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "App Settings",
"description": "Here you can provide values for the app settings",
"properties": {
"stringSetting": {
"title": "Name",
"type": "string",
"minLength": 1
},
"booleanSetting": {
"type": "boolean"
},
"integerSetting": {
"type": "integer",
"x-scope": "GLOBAL"
},
"numberSetting": {
"type": "number",
"x-scope": "PROJECT"
},
"secretSetting": {
"type": "string",
"format": "secret"
},
"arraySetting": {
"type": "array",
"items": {
" x-entity": "User",
"type": "object"
}
},
"userSetting": {
"type": "object",
"x-entity": "User"
}
}
}
```
--------------------------------
### Get All Project Helpdesk Settings API Request
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/HUB-REST-API_Project-Helpdesk-Settings_Get-All-Project-Helpdesk-Settings
Details the HTTP GET request to retrieve all project helpdesk settings, including optional query parameters for filtering and pagination.
```APIDOC
Method: GET
Endpoint: /helpdesksettings
Query Parameters:
fields:
Type: string
Description: Optional. Returns only the specified subset of the fields for each ProjectHelpdeskSettings. Use Fields Syntax to define the subset.
$skip:
Type: int
Description: Optional. Lets you set a number of ProjectHelpdeskSettings to skip before returning the first one.
$top:
Type: int
Description: Optional. Lets you set the maximum number of ProjectHelpdeskSettings to return.
```
--------------------------------
### Example API Request URL for Fetching User Group Details
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-usergroups-usergroupID-subgroups
Provides a concrete example of a GET request URL used to fetch user group details, demonstrating how to specify fields for the response.
```APIDOC
https://example.youtrack.cloud/hub/api/rest/usergroups/4fg27fe4-f780-4a61-9eff-2fe797b9b9f4?fields=id,name,users(login)
```
--------------------------------
### Sample Request: Get Project Time Tracking Settings
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-admin-projects-projectID-timeTrackingSettings
An example URL for retrieving project time tracking settings, demonstrating how to specify multiple fields for inclusion in the response.
```HTTP
https://example.youtrack.cloud/api/admin/projects/0-3/timeTrackingSettings?fields=enabled,estimate(field(id,name),id),timeSpent(field(id,name),id),workItemTypes(id,name,autoAttached)
```
--------------------------------
### YouTrack REST API: Sample VersionBundle GET Request URL
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-customFieldSettings-bundles-version
An example URL demonstrating how to retrieve VersionBundle information with specific fields.
```APIDOC
https://example.youtrack.cloud/api/admin/customFieldSettings/bundles/version?fields=id,name,fieldType(presentation,id),values(id,name,$type)
```
--------------------------------
### Sample Request to Get Agile Board Details
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-agiles
An example HTTP GET request to retrieve detailed information about a specific YouTrack agile board. This request demonstrates how to use the 'fields' query parameter to select various attributes like ID, name, owner, projects, sprints, and column settings for the response.
```HTTP
https://example.youtrack.cloud/api/agiles/108-4?fields=id,name,owner(id,name,login),projects(id,name),sprints(id,name),visibleFor(name,id),visibleForProjectBased,updateableBy(id,name),updateableByProjectBased,hideOrphansSwimlane,orphansAtTheTop,currentSprint(id,name),columnSettings(field(id,name),columns(presentation,isResolved,fieldValues(id,name)))
```
--------------------------------
### API Sample: GET ProjectCustomFields Request
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-customFieldSettings-customFields-fieldID-instances
An example URL for requesting a list of project custom fields with specific attributes.
```HTTP
https://example.youtrack.cloud/api/admin/customFieldSettings/customFields/58-8/instances?fields=field(name,id),project(id,name),canBeEmpty,emptyFieldText,isPublic,ordinal
```
--------------------------------
### Read Build Bundle Elements (GET)
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-customFieldSettings-bundles-build-bundleID-values
Describes how to retrieve a list of all build values from a specific build bundle using a GET request. It details the request syntax, available query parameters (`fields`, `$skip`, `$top`), and provides sample request and response body examples.
```APIDOC
GET /api/admin/customFieldSettings/bundles/build/{bundleID}/values?{fields}&{$top}&{$skip}
Request Parameters:
- fields: String (A list of BuildBundleElement 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.)
```
```HTTP
https://example.youtrack.cloud/api/admin/customFieldSettings/bundles/build/86-3/values?fields=id,name,assembleDate,description
```
```JSON
[
{
"assembleDate": 1627300800000,
"description": null,
"name": "135",
"id": "150-5",
"$type": "BuildBundleElement"
},
{
"assembleDate": 1627387200000,
"description": null,
"name": "136",
"id": "150-6",
"$type": "BuildBundleElement"
},
{
"assembleDate": 1627473600000,
"description": null,
"name": "137",
"id": "150-7",
"$type": "BuildBundleElement"
},
{
"assembleDate": 1627560000000,
"description": null,
"name": "138",
"id": "150-8",
"$type": "BuildBundleElement"
}
]
```
--------------------------------
### Sample YouTrack REST API Activities Request
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-activities
An example HTTP GET request to the YouTrack REST API's /api/activities endpoint, demonstrating how to specify fields, categories, and pagination parameters for retrieving activity items.
```HTTP
https://example.youtrack.cloud/api/activities?fields=id,author(id,login,name),timestamp,added(id,idreadable),target(id,idReadable)&categories=IssueCreatedCategory,CommentsCategory&$skip=30&$top=3
```
--------------------------------
### YouTrack REST API: Sample UserBundle GET Request
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-customFieldSettings-bundles-user
Example URL for retrieving UserBundle information, specifying 'id', 'name', and 'aggregatedUsers' fields.
```APIDOC
https://example.youtrack.cloud/api/admin/customFieldSettings/bundles/user?fields=id,name,aggregatedUsers(id,login)
```
--------------------------------
### Example: Get YouTrack Issue with Custom Fields using cURL
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/api-howto-get-issues-with-all-values
A cURL command example demonstrating how to send a GET request to the YouTrack REST API to retrieve an issue. It includes the 'fields' query parameter to fetch various custom fields and their nested attributes, along with necessary headers for authentication and content type.
```curl
curl -X GET \n'https://example.youtrack.cloud/api/issues/SP-8?fields=$type,id,summary,customFields($type,id,projectCustomField($type,id,field($type,id,name)),value($type,avatarUrl,buildLink,color(id),fullName,id,isResolved,localizedName,login,minutes,name,presentation,text))' \n-H 'Accept: application/json' \n-H 'Authorization: Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX' \n-H 'Cache-Control: no-cache' \n-H 'Content-Type: application/json'
```
--------------------------------
### Hub API Query Syntax Examples
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/hub-api-query-syntax
Illustrates common Hub API query patterns with practical examples, demonstrating how to find users by name, status, or project access using the defined grammar.
```APIDOC
Query: name: admin
Description: Finds all users with the visibleName "admin".
Query: is: banned
Description: Finds all banned users.
Query: access(project: MyProject, with: read-issue-permission)
Description: Finds all users with access to the project "MyProject" and permission "read-issue-permission".
```
--------------------------------
### API Sample: GET ProjectCustomFields Response Body
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-customFieldSettings-customFields-fieldID-instances
An example JSON response body for a successful GET request to retrieve project custom field instances.
```JSON
[
{
"emptyFieldText": "No due date",
"project": {
"name": "Sandbox",
"id": "0-3",
"$type": "Project"
},
"ordinal": 0,
"canBeEmpty": true,
"isPublic": true,
"field": {
"name": "Due Date",
"id": "58-8",
"$type": "CustomField"
},
"$type": "SimpleProjectCustomField"
}
]
```
--------------------------------
### YouTrack REST API: Sample GET UserGroup Request
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-groups
An example URL demonstrating how to retrieve specific fields for a user group using the GET method.
```HTTP
https://example.youtrack.cloud/api/groups/3-2?fields=id,name,ringId,usersCount,teamForProject(name,shortName)
```
--------------------------------
### Hub REST API: Sample GET Request for Users of a Group
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-usergroups-usergroupID-users
Provides a concrete example of a GET request to retrieve users from a specific group, demonstrating the use of the `fields` parameter.
```HTTP
https://example.youtrack.cloud/hub/api/rest/usergroups/9ec6d2e0-fa56-4765-92e1-3b6d7b4c81b8/users?fields=id,login,banned,banReason,banBadge,guest,creationTime,lastAccessTime
```
--------------------------------
### YouTrack REST API: Sample Request for Get User Tags
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-users-userID-tags
Provides an example URL for the `GET /api/users/{userID}/tags` request, demonstrating how to specify fields for the response.
```HTTP
https://example.youtrack.cloud/api/users/1-3/tags?fields=id,name,isUpdatable,owner(id,login,name),untagOnResolve,updateableBy(id,name),visibleFor(id,name)
```
--------------------------------
### Example Query for findByExtensionProperties Method
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/v1-BundleProjectCustomField
An example JSON object demonstrating the structure of the `extensionPropertiesQuery` parameter used in the `findByExtensionProperties` method of the `BundleProjectCustomField` class.
```JSON
{
"property1": "value1",
"property2": "value2"
}
```
--------------------------------
### Create a Custom YouTrack HTTP Handler (JavaScript)
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide
This JavaScript code defines a custom HTTP handler for a YouTrack app, allowing access to YouTrack data via a custom endpoint. Handlers are stored as separate JavaScript files at the app package root and do not require manifest declarations.
```JavaScript
exports.httpHandler = {
endpoints: [
{
scope: 'issue',
method: 'GET',
path: 'demo',
handle: function (ctx) {
ctx.response.json({message: "Hello World"});
}
}
]
};
```
--------------------------------
### DemoClient Class API Reference
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/Import-DemoClient
Comprehensive API documentation for the "DemoClient" class, outlining its structure, properties, constructor, and methods for interacting with the YouTrack and Hub API.
```APIDOC
Class: DemoClient
Description: A demo class implementing an API client interface.
Properties:
connection:
Type: Connection
Description: The HTTP connection that can be used to retrieve data from the import source.
sslKeyName:
Type: string
Description: The name of the SSL key if it is selected.
token:
Type: string
Description: The authorization token or the password entered by the user.
url:
Type: string
Description: The URL of the import source entered by the user.
Constructors:
DemoClient(context):
Description: Creating a DemoClient instance.
Parameters:
context:
Type: Object
Description: The object holding parameters entered via the UI.
Methods:
getArticleUpdates(projectInfo, after, updatedAfter, top):
Description: The method is only required if the client supports continuous import mode. The articles should be ordered either by internal ID or created date ascending. Returns articles that were updated after the specified timestamp.
Parameters:
projectInfo:
Type: ProjectInfo
Description: The project where the requested articles belong.
after:
Type: DocumentInfo
Description: The article that the requested articles follow.
updatedAfter:
Type: string
Description: The requested articles are expected to be updated after this timestamp.
top:
Type: number
Description: The number of articles to be returned. If there are fewer articles left to import, the method returns them all. If the method returns more articles than it was requested, those extra articles are not processed, and the next time the method is called, the last of the processed articles is passed into `after` parameter.
Return Value:
Type: Array.
Description: Articles following the specified one in the specified project that were updated after the specified timestamp.
getArticles(projectInfo, after, top):
Description: Returns articles from the specified project.
Parameters:
projectInfo:
Type: ProjectInfo
Description: The project where the specified articles belong to.
after:
Type: DocumentInfo
Description: The article that the returned articles follow.
top:
Type: number
Description: The number of articles to be returned. If there are fewer articles left to import, the method returns them all. If the method returns more articles than it was requested, those extra articles are not processed, and the next time the method is called, the last of the processed articles is passed into `after` parameter.
Return Value:
Type: Array.
Description: Articles following the specified one in the specified project.
getAttachmentContent(project, document, attachment):
Description: Returns the content of the specified attachment. Alternatively, you can get the attachment content as an HTTP response using the http module.
Parameters:
project:
Type: ProjectInfo
Description: The project where the attachment belongs to.
document:
Type: DocumentInfo
Description: The type of the entity where the attachment belongs to (issue or article).
attachment:
Type: Attachment
Description: The specified attachment.
Return Value:
Type: AttachmentContentWithMetadata
Description: The content of the specified attachment.
```
--------------------------------
### YouTrack REST API: Sample GET Request for OwnedBundleElement
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-admin-customFieldSettings-bundles-ownedField-bundleID-values
Provides an example URL for a GET request to retrieve a specific `OwnedBundleElement`, demonstrating how to include specific fields in the response.
```URL
https://example.youtrack.cloud/api/admin/customFieldSettings/bundles/ownedField/83-0/values/148-6?fields=id,name,owner(id,login,fullName)
```
--------------------------------
### Get Widget API Response Body JSON Schema
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/HUB-REST-API_Widgets_Get-Widget
Defines the structure of the JSON object returned in the response body upon a successful 'Get Widget' API call. It includes various properties such as key, version, installation status, and associated application and service details.
```APIDOC
{
"key": string,
"version": string,
"installedVersion": string,
"latestVersion": string,
"installedFromRepository": boolean,
"archiveId": string,
"manifest": raw,
"disabled": boolean,
"applicationNames": [string, ...],
"accessibleServices": [service, ...],
"capabilities": [string, ...],
"repositoryUrl": string,
"repositoryIconUrl": string,
"id": string /* from uuid */,
"aliases": [alias, ...] /* from uuid */
}
```
--------------------------------
### JavaScript Example: Searching YouTrack Issues
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/v1-search
Demonstrates how to use the `search` function from the `@jetbrains/youtrack-scripting-api/search` module to find issues. It shows how to construct a query, including support for extension properties, and process the results.
```JavaScript
const search = require('@jetbrains/youtrack-scripting-api/search');
...
const query = {
query: 'for: me State: {In Progress} issue id: -' + issue.id,
extensionPropertiesQuery: {
property1: "value1",
property2: "value2"
}
}
const inProgress = search.search(issue.project, query, ctx.currentUser);
if (inProgress.isNotEmpty()) {
// Do something with the found set of issues.
}
```
--------------------------------
### Get Project Helpdesk Settings API Request
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/HUB-REST-API_Project-Helpdesk-Settings_Get-Project-Helpdesk-Settings
Describes the HTTP GET request to retrieve helpdesk settings for a specific project by its ID. It includes the endpoint path and an optional query parameter for field selection.
```APIDOC
Method: GET
Endpoint: /helpdesksettings/{project helpdesk settings id}
Parameters:
fields:
Type: string
Description: Optional. Returns only the specified subset of the fields for each ProjectHelpdeskSettings. Use Fields Syntax to define the subset.
```
--------------------------------
### Sample Request: Get Project Roles of a Group
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-usergroups-usergroupID-projectroles
An example HTTP GET request to retrieve project roles for a specific group, requesting the 'id', 'role(name)', and 'project(name)' fields.
```HTTP
https://example.youtrack.cloud/hub/api/rest/usergroups/358f6edd-57a6-482a-b0ca-5255af60097a/projectroles?fields=id,role(name),project(name)
```
--------------------------------
### YouTrack REST API: Sample Request for Saved Queries
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-savedQueries
Example HTTP GET request to retrieve a list of saved queries, demonstrating the use of `fields`, `$skip`, and `$top` parameters to filter and paginate results.
```HTTP
https://example.youtrack.cloud/api/savedQueries?fields=id,name,query,owner(login,name),visibleFor(name,id),issues(idReadable,summary)&$skip=8&$top=3
```
--------------------------------
### Get Startup API Endpoint Documentation
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/HUB-REST-API_Settings-health_Get-Startup
Documents the GET /health/startup endpoint of the YouTrack and Hub REST API. It specifies the request method, the full URL path, and a comprehensive list of possible HTTP response codes along with their meanings, including success and various error conditions. The response body is described as binary data.
```APIDOC
API Endpoint: Get Startup
Method: GET
URL: /health/startup
Response Codes:
200 OK: Successful request.
400 Bad Request: At least one of the request parameters is invalid. For example, a required field in the passed JSON object is missing. For details, check the error message in the response.
403 Forbidden: The requester has no access to the requested resource.
404 Not Found: The requested resource was not found.
500 Internal Server Error: Failed to process request because of the server error. For details, check the error message in the response.
Response Body:
Type: binary-data
```
--------------------------------
### Sample Response: Get Project Roles of a Group
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-usergroups-usergroupID-projectroles
An example JSON response body for a successful GET request, showing a paginated list of project roles with their IDs, role names, and associated project names.
```JSON
{
"type": "ProjectrolesPage",
"skip": 0,
"top": 100,
"total": 20,
"projectroles": [
{
"type": "projectRole",
"id": "f34aff29-9162-414a-a1a3-12219ebfbbb9",
"role": {
"name": "System Admin",
"immutable": false
},
"project": {
"name": "Global"
}
},
{
"type": "projectRole",
"id": "571ea3d6-1f2d-4313-a951-dfb0c2887299",
"role": {
"name": "Project Admin",
"immutable": false
},
"project": {
"name": "Model Engineering"
}
},
{
"type": "projectRole",
"id": "5252f3da-ee32-451d-b2e3-694e641455be",
"role": {
"name": "Contributor",
"immutable": false
},
"project": {
"name": "Helpdesk"
}
}
]
}
```
--------------------------------
### Prepare for Import (YouTrack REST API)
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/Import-DemoClient
This API method is invoked immediately before an import round begins. It allows the client to perform any necessary initialization or setup tasks required for the import process.
```APIDOC
prepareToImport()
Description: A function that is invoked right before an import round is started. A client can perform any necessary initialization here.
```
--------------------------------
### YouTrack REST API: Sample Get Telemetry Request
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-admin-telemetry
Provides an example URL for a `GET` request to retrieve specific telemetry attributes like `databaseSize`, `uptime`, `startedTime`, and `textIndexSize` from a YouTrack instance.
```HTTP
https://example.youtrack.cloud/api/admin/telemetry?fields=databaseSize,uptime,startedTime,textIndexSize
```
--------------------------------
### Verify Issue Link: GET /api/issues/{issueId}/links Request URL
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/api-howto-link-issues
Example of the GET request URL to verify if a command was successfully applied and to retrieve details of linked issues. The `fields` parameter specifies the desired link attributes.
```HTTP
GET https://example.youtrack.cloud/api/issues/NP-113/links?fields=linkType(name,sourceToTarget,targetToSource),issues(id,idReadable,summary)
```
--------------------------------
### YouTrack REST API: Sample Response Body for Minimal Project Creation
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-projects
Example JSON response after successfully creating a new project, showing the assigned ID and other details.
```JSON
{
"shortName": "NP",
"leader": {
"login": "john.doe",
"name": "John Doe",
"id": "1-2",
"$type": "User"
},
"name": "New Project",
"id": "0-16",
"$type": "Project"
}
```
--------------------------------
### Hub REST API: Sample GET Response for User Group
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-operations-users-userID-groups
An example of the JSON response body returned by a successful GET request for a user group, showing the 'type', 'id', and 'name' fields as requested in the sample request.
```JSON
{
"type": "userGroup",
"id": "9d3d19df-755d-4bc0-84fe-675d79e8c49a",
"name": "Admins"
}
```
--------------------------------
### YouTrack Workflow Rule Template Comment Block
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/Quick-Start-Guide-Workflows-JS
This initial comment block in a YouTrack workflow rule template describes the rule type (on-change) and provides a link to the quick start guide. It's typically removed after understanding its purpose.
```JavaScript
/**
* This is a template for an on-change rule. This rule defines what
* happens when a change is applied to an issue.
*
* For details, read the Quick Start Guide:
* https://www.jetbrains.com/help/youtrack/devportal/Quick-Start-Guide-Workflows-JS.html
*/
```
--------------------------------
### YouTrack REST API: Sample Response Body for Get Issue VCS Changes
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-issues-issueID-vcsChanges
An example JSON array representing the response body for a successful GET request to retrieve VCS changes, showing multiple `VcsChange` entities with their attributes.
```JSON
[
{
"version": "4f193a6de41c65245a3a044f568604137f1ecc09",
"date": 1495443753000,
"state": 0,
"files": -1,
"author": {
"login": "jane.doe",
"$type": "User"
},
"fetched": null,
"text": "#NP-5 In Progress",
"id": "127-3",
"$type": "VcsChange"
},
{
"version": "22bce6953b1b63c18c333efbd245a4382326b95d",
"date": 1495443805000,
"state": 2,
"files": -1,
"author": {
"login": "jane.doe",
"$type": "User"
},
"fetched": null,
"text": " #NP-5 Open",
"id": "127-4",
"$type": "VcsChange"
},
{
"version": "8174a198e670d36a649f3b4a12ab55ac88c78f71",
"date": 1564484957000,
"state": 1,
"files": -1,
"author": {
"login": "system_user@iSoHnĐťAu9X",
"$type": "VcsUnresolvedUser"
},
"fetched": 1640085901059,
"text": "Update \n\n#NP-5 fix the issue",
"id": "127-23",
"$type": "VcsChange"
}
]
```
--------------------------------
### YouTrack REST API: Sample Request to Create Minimal Project
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-projects
Example URL for creating a new project with minimal required fields, requesting specific attributes in the response.
```HTTP
https://example.youtrack.cloud/api/admin/projects?fields=id,shortName,name,leader(id,login,name)
```
--------------------------------
### Sample Response Body: Get Project Time Tracking Settings
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-admin-projects-projectID-timeTrackingSettings
An example JSON response body for retrieving project time tracking settings, showing the enabled status, work item types, and details for the 'timeSpent' field.
```JSON
{
"enabled": true,
"workItemTypes": [
{
"name": "Development",
"autoAttached": true,
"id": "65-0",
"$type": "WorkItemType"
},
{
"name": "Testing",
"autoAttached": true,
"id": "65-1",
"$type": "WorkItemType"
},
{
"name": "Documentation",
"autoAttached": false,
"id": "65-2",
"$type": "WorkItemType"
}
],
"estimate": null,
"timeSpent": {
"field": {
"name": "Spent time",
"id": "58-10",
"$type": "CustomField"
},
"id": "104-1",
"$type": "PeriodProjectCustomField"
},
"$type": "ProjectTimeTrackingSettings"
}
```
--------------------------------
### YouTrack REST API: Sample GET Request for Issue Custom Fields
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-issues-issueID-customFields
Provides a concrete example of a `GET` request URL to retrieve issue custom fields for issue '2-7', specifying `id`, `name`, and `value` attributes to be returned.
```HTTP
https://example.youtrack.cloud/api/issues/2-7/fields?fields=id,name,value(id,name)
```
--------------------------------
### Sample YouTrack Widget HTML Source
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/app-overview
This HTML snippet provides the basic structure for a YouTrack widget, including CSS linking, a body with an image, and a JavaScript module script to register the app with `YTApp.register()`.
```HTML
```
--------------------------------
### Filter YouTrack issues by project name using REST API
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/api-query-syntax
This example illustrates how to use the `query` parameter in a GET request to filter YouTrack issues. The query `project: {Sample Project}` is used to retrieve only issues associated with 'Sample Project', demonstrating basic query syntax.
```curl
curl -X GET \
'https://example.youtrack.cloud/api/issues?fields=id,summary,project(name)&query=project:+%7BSample+Project%7D' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json'
```
```JSON
[
{
"project":{
"name":"Sample Project",
"$type":"Project"
},
"summary":"REST API lets you create issues!",
"id":"2-142",
"$type":"Issue"
},
{
"project":{
"name":"Sample Project",
"$type":"Project"
},
"summary":"Issue from REST #1",
"id":"2-0",
"$type":"Issue"
}]
```
--------------------------------
### Example package.json for YouTrack Workflow Scripts
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/js-workflow-external-editor
This `package.json` example demonstrates how to define scripts for managing YouTrack workflows. It includes commands for listing, downloading, and uploading workflows for both production and test environments, leveraging `cross-env` to access environment-specific configurations.
```json
{
"name": "myyoutrackworkflows",
"version": "1.0.0",
"description": "Custom workflows for my YouTrack installation",
"scripts": {
"list-prod": "cross-env youtrack-workflow list --host=$npm_config_host_prod --token=$npm_config_token_prod",
"download-prod": "cross-env youtrack-workflow download --host=$npm_config_host_prod --token=$npm_config_token_prod",
"upload-prod": "cross-env youtrack-workflow upload --host=$npm_config_host_prod --token=$npm_config_token_prod",
"list-test": "cross-env youtrack-workflow list --host=$npm_config_host_test --token=$npm_config_token_test",
"download-test": "cross-env youtrack-workflow download --host=$npm_config_host_test --token=$npm_config_token_test",
"upload-test": "cross-env youtrack-workflow upload --host=$npm_config_host_test --token=$npm_config_token_test"
},
"author": "Me",
"devDependencies": {
"@jetbrains/youtrack-scripting": "0.0.XX",
"@jetbrains/youtrack-scripting-api": "20XX.X.XXXXX",
"cross-env": "^5.1.1"
}
}
```
--------------------------------
### YouTrack REST API: Sample GET IssueWorkItem Request
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-workItems
An example HTTP GET request to retrieve a specific `IssueWorkItem` from YouTrack, demonstrating the use of the `fields` parameter to select specific attributes like creation date, duration, and author.
```HTTP
https://example.youtrack.cloud/api/workItems/115-2?fields=created,duration(presentation,minutes),author(name),creator(name),date,id
```
--------------------------------
### YouTrack REST API: Read Specific User (GET)
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-users
Details the GET method for reading YouTrack user profile settings. Specifies required permissions, request syntax, path and query parameters, and provides multiple usage examples.
```APIDOC
Method: GET /api/users/{userID}?{fields}
Description: Read settings of the YouTrack profile of the specific user.
Permissions: Read User Basic (for basic info), Read User (for all data).
Path Parameters:
- {userID}: Database ID or login of the user in YouTrack.
Query Parameters:
- fields: String - A list of User attributes to be returned.
```
```HTTP
https://example.youtrack.cloud/api/users/1-3?fields=name,login,banned,email,guest,online,tags(id,name,issues(idReadable)),savedQueries(name,issues(idReadable))
```
```JSON
{
"savedQueries": [],
"tags": [],
"online": false,
"login": "jane.doe",
"banned": false,
"name": "Jane Doe",
"$type": "User"
}
```
```HTTP
https://example.youtrack.cloud/api/users/1-3?fields=name,login,banned,email,guest,online,tags(id,name,issues(idReadable)),savedQueries(name,issues(idReadable))
```
```JSON
{
"savedQueries": [],
"email": "jane.doe@example.com",
"tags": [
{
"issues": [
{
"idReadable": "SP-32",
"$type": "Issue"
}
],
"name": "Star",
"id": "6-0",
"$type": "Tag"
},
{
"issues": [],
"name": "Nice task",
"id": "6-9",
"$type": "Tag"
},
{
"issues": [],
"name": "Dangerous",
"id": "6-10",
"$type": "Tag"
}
],
"online": false,
"guest": false,
"login": "jane.doe",
"banned": false,
"name": "Jane Doe",
"$type": "User"
}
```
```HTTP
https://example.youtrack.cloud/api/users/john.smith?fields=name,login,banned,email,guest,online
```
--------------------------------
### Example Extension Properties Query for FeedbackForm
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/v1-FeedbackForm
An example JSON object demonstrating the structure for an extension properties query used with the 'findByExtensionProperties' method of the FeedbackForm entity.
```JSON
{
property1: "value1",
property2: "value2"
}
```
--------------------------------
### YouTrack REST API: Sample GET IssueTimeTracking Request
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-issues-issueID-timeTracking
An example HTTP GET request URL demonstrating how to retrieve specific fields of issue time tracking data for a given issue ID, including work item details.
```HTTP
https://example.youtrack.cloud/api/issues/SNBX-1/timeTracking?fields=draftWorkItem(id),enabled,workItems(created,duration(presentation,minutes),author(name),creator(name),date,id)
```
--------------------------------
### YouTrack REST API: Sample Activities Page Request
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-activitiesPage
An example URL demonstrating how to query the YouTrack activities page, specifying fields, categories, and pagination parameters.
```HTTP
https://example.youtrack.cloud/api/activitiesPage?fields=id,beforeCursor,afterCursor,activities(id,author(name,login),timestamp)&categories=IssueCreatedCategory,CommentsCategory&$skip=30&$top=3
```
--------------------------------
### YouTrack REST API: Sample GET ArticleAttachment Request and Response
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-articles-articleID-attachments
Provides a concrete example of a GET request URL to retrieve an article attachment with specific fields, along with the corresponding JSON response body returned by the YouTrack API.
```APIDOC
Sample Request URL:
https://example.youtrack.cloud/api/articles/NP-A-7/attachments/237-3?fields=id,name,author(id,name),created,updated,size,mimeType,extension,url
Sample Response Body:
{
"created": 1629978590790,
"extension": "png",
"author": {
"name": "John Smith",
"id": "24-0",
"$type": "User"
},
"updated": 1629978590790,
"url": "/youtrack/api/files/237-3?sign=MTYzMDE5NTIwMDAwMHwyNC0wfDIzNy0zfFUtWDhBOGkyMF9uSTVRN2xTVHNzLWJBYjN2LUF2Y2pB%0D%0AUXYzSFc2bHRkeE0NCg%0D%0A%26updated=1629978590790",
"mimeType": "image/png",
"name": "jetbrains.png",
"size": 64014,
"id": "237-3",
"$type": "ArticleAttachment"
}
```
--------------------------------
### YouTrack API: Example for findByExtensionProperties Query
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/v1-TextProjectCustomField
An example of the object structure for the extensionPropertiesQuery parameter used in the findByExtensionProperties method, demonstrating how to specify key-value pairs for properties.
```JSON
{
property1: "value1",
property2: "value2"
}
```
--------------------------------
### Get unfiltered YouTrack issues via REST API
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/api-query-syntax
This example demonstrates how to retrieve a complete, unfiltered list of issues from YouTrack using a GET request to the `/api/issues` endpoint. It shows the basic cURL command and the corresponding JSON response structure.
```curl
curl -X GET \
'https://example.youtrack.cloud/api/issues?fields=id,summary,project(name)' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json'
```
```JSON
[
{
"project":{
"name":"Demo Project",
"$type":"Project"
},
"summary":"Welcome to your YouTrack!",
"id":"2-99",
"$type":"Issue"
},
{
"project":{
"name":"Demo Project",
"$type":"Project"
},
"summary":"Create Issues",
"id":"2-106",
"$type":"Issue"
},
{
"project":{
"name":"Sample Project",
"$type":"Project"
},
"summary":"REST API lets you create issues!",
"id":"2-142",
"$type":"Issue"
},
{
"project":{
"name":"Sample Project",
"$type":"Project"
},
"summary":"Issue from REST #1",
"id":"2-0",
"$type":"Issue"
}]
```
--------------------------------
### API Request: Create New Project
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/HUB-REST-API_Projects_Create-New-Project
Describes the HTTP POST endpoint and query parameters for creating a new project via the YouTrack/Hub REST API.
```APIDOC
POST /projects?fields=string
Parameters:
- fields (Optional, string): Returns only the specified subset of the fields for each Project. Use Fields Syntax to define the subset.
```
--------------------------------
### YouTrack REST API: Sample Request to Get Issue VCS Changes
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-issues-issueID-vcsChanges
An example of a GET request to retrieve VCS changes for issue 'NP-5', specifying `id`, `date`, `fetched`, `files`, `author(login)`, `text`, `version`, and `state` fields.
```HTTP
https://example.youtrack.cloud/api/issues/NP-5/vcsChanges?fields=id,date,fetched,files,author(login),text,version,state
```
--------------------------------
### YouTrack REST API: Sample Search Suggestions Response Body
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-search-assist
Presents a sample JSON response body returned by the `/api/search/assist` endpoint. This example demonstrates the structure and content of search suggestions, including `caret`, `suggestions` (with nested details like `group`, `option`, `description`), and the original `query`.
```JSON
{
"caret": 5,
"suggestions": [
{
"group": null,
"completionStart": 5,
"completionEnd": 5,
"matchingStart": 0,
"matchingEnd": 0,
"caret": 6,
"description": "exclude value",
"option": "-",
"$type": "Suggestion"
},
{
"group": null,
"completionStart": 5,
"completionEnd": 5,
"matchingStart": 0,
"matchingEnd": 0,
"caret": 29,
"description": "tag",
"option": "Blocked by dependency",
"$type": "Suggestion"
},
{
"group": null,
"completionStart": 5,
"completionEnd": 5,
"matchingStart": 0,
"matchingEnd": 0,
"caret": 14,
"description": "empty list of tags",
"option": "no tag",
"$type": "Suggestion"
},
{
"group": null,
"completionStart": 5,
"completionEnd": 5,
"matchingStart": 0,
"matchingEnd": 0,
"caret": 10,
"description": "tag",
"option": "Star",
"$type": "Suggestion"
},
{
"group": null,
"completionStart": 5,
"completionEnd": 5,
"matchingStart": 0,
"matchingEnd": 0,
"caret": 9,
"description": "tag",
"option": "tip",
"$type": "Suggestion"
},
{
"group": "Recent Searches",
"completionStart": 0,
"completionEnd": 5,
"matchingStart": 0,
"matchingEnd": 5,
"caret": 10,
"description": " ",
"option": "tag: Star",
"$type": "Suggestion"
}
],
"query": "tag: ",
"$type": "SearchSuggestions"
}
```
--------------------------------
### Youtrack REST API Sample GET Request for Issues
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-admin-projects-projectID-issues
This snippet provides an example of a GET request to retrieve issues associated with a specific project in Youtrack via its REST API. The URL demonstrates the endpoint structure for accessing project-specific issues.
```APIDOC
https://example.youtrack.cloud/api/admin/projects/0-6/issues/2-72
```
--------------------------------
### Get All Project Helpdesk Settings API Response
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/HUB-REST-API_Project-Helpdesk-Settings_Get-All-Project-Helpdesk-Settings
Describes the possible HTTP response codes and the structure of the successful response body for retrieving project helpdesk settings.
```APIDOC
Response Codes:
200 OK: Successful request.
400 Bad Request: At least one of the request parameters is invalid. For example, a required field in the passed JSON object is missing. For details, check the error message in the response.
403 Forbidden: The requester has no access to the requested resource.
404 Not Found: The requested resource was not found.
500 Internal Server Error: Failed to process request because of the server error. For details, check the error message in the response.
Response Body Schema:
{
"skip": int,
"top": int,
"total": int,
"helpdesksettings": [projectHelpdeskSettings, ...]
}
```
--------------------------------
### Hub REST API Sample: Get User Details Request
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-users-userID-userdetails
An example HTTP GET request URL demonstrating how to retrieve specific user details, including selected fields like ID, email, authentication module, and user login.
```HTTP
https://example.youtrack.cloud/hub/api/rest/users/7a0673d6-a39e-4724-80e7-081acb8d2c99/userdetails?fields=id,email(verified,email),authModule(name),authModuleName,user(id,login)
```
--------------------------------
### Requiring YouTrack Workflow Module Example
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/Quick-Start-Guide-Workflows-JS
An example demonstrating how to import other YouTrack workflow API modules, such as the 'workflow' module, when their properties and methods are needed for a rule.
```JavaScript
const workflow =
require('@jetbrains/youtrack-scripting-api/workflow');
```
--------------------------------
### Hub REST API: Sample GET Request for User Group
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-operations-users-userID-groups
An example of a GET request to retrieve the ID and name of a specific user group by providing the user ID and group ID, along with a 'fields' parameter to specify desired attributes.
```HTTP
https://example.youtrack.cloud/hub/api/rest/users/7a0563d6-a39e-4724-80e7-081acb8d2c99/groups/9d3d19df-755d-4bc0-84fe-675d79e8c49a?fields=id,name
```
--------------------------------
### Verify npm Configuration Settings
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/js-workflow-external-editor
Use this command to display your current npm configuration settings in JSON format. This helps verify that your permanent token and host address have been correctly stored in your per-user configuration file.
```Shell
npm config list --json
```
--------------------------------
### YouTrack REST API GET Projects with Permanent Token (cURL)
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/authentication-with-permanent-token
Demonstrates how to make a GET request to the YouTrack REST API to fetch project details, utilizing a permanent token in the 'Authorization: Bearer' header. Two examples are provided for different YouTrack instances.
```bash
curl -X GET \
'https://youtrack.example.com/api/admin/projects?fields=id,name,shortName,createdBy%28login,name,id%29,leader%28login,name,id%29' \
-H 'Authorization: Bearer perm:cm9vdA==.dG9rZW4=.rNZ38ije7uiWwnUTRDdyFDdUkoPUPi' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'
```
```bash
curl -X GET \
'https://example.youtrack.cloud/api/admin/projects?fields=id,name,shortName,createdBy%28login,name,id%29,leader%28login,name,id%29' \
-H 'Authorization: Bearer perm:am9obi5kb2U=.UG9zdG1hbiBKb2huIERvZQ==.jJe0eYhhkV271j1lCpfknNYOEakNk7' \
-H 'Accept: application/json' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json'
```
--------------------------------
### Add New Article: Sample Request and Response
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-articles
Provides an example of a POST request to create a new article, including the request body with article details and the corresponding successful response body.
```HTTP
https://example.youtrack.cloud/api/articles?fields=hasStar,content,created,updated,id,idReadable,reporter(id,name),summary,project(id,shortName),content
```
```JSON
{
"project": {
"shortName": "NP",
"id": "81-1"
},
"summary": "Let Us Document Our Process",
"reporter": {
"name": "John Smith",
"id": "24-0"
},
"content": "Here are the guidelines for the development team:\n1. Cooperation.\n2. Collaboration.\n3. Appreciation."
}
```
```JSON
{
"created": 1629812236934,
"idReadable": "NP-A-8",
"updated": 1629812236934,
"hasStar": true,
"project": {
"shortName": "NP",
"id": "81-1",
"$type": "Project"
},
"summary": "Let Us Document Our Process",
"reporter": {
"name": "John Smith",
"id": "24-0",
"$type": "User"
},
"content": "Here are the guidelines for the development team:\n1. Cooperation.\n2. Collaboration.\n3. Appreciation.",
"id": "226-15",
"$type": "Article"
}
```
--------------------------------
### YouTrack REST API: Sample Request to Create Scrum Project
Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-projects
Example URL for creating a new project using the 'scrum' template, requesting specific attributes in the response.
```HTTP
https://example.youtrack.cloud/api/admin/projects?fields=id,shortName,name,leader(id,login,name)&template=scrum
```
=== COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.