YouTrack provides powerful functionality that helps you perform various actions programmatically via its RESTful API, including:
Importing issues from your current bug tracking system — for smoother migration to YouTrack.
Creating, modifying, and performing other operations programmatically — so you can seamlessly integrate YouTrack into your environment. For example, via automated issue submission from third-party applications.
Manipulating projects, users, groups, roles, issue link types, and custom attributes.
REST API returns ans consumes data in two main formats - JSON and XML. Regular content negotiation rules apply:
Use Accept HTTP request header to indicate the expected response data format: application/xml or application/json
Use Content-Type HTTP request header for POST and PUT requests: application/xml or application/json
Regardless of the data exchange format you choose request/response semantics stays the same. That means any object or field returned as XML exists in JSON representation as well under the same name and vice versa.
Also, YouTrack supports CORS. Please see administration doc for details.
Tools and Client Libraries Based on the YouTrack REST API
Before you start using the REST API for you own development, take a look at the available tools that use the YouTrack REST API:
YouTrack's Python Client Library, which uses REST API to implement various options for importing data from other tracking systems.
YouTrack REST PHP, a PHP REST client library for YouTrack API.
YouTrack integration plugin for Intellij IDE family.