Requests must be authenticated. See REST API authentication for details.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /issues.json | List issues. |
GET | /issues/:id.json | Get a single issue. |
POST | /issues.json | Create an issue. |
PUT | /issues/:id.json | Update an issue. |
DELETE | /issues/:id.json | Delete an issue. |
List issues
GET /issues.json
Returns a paginated list of issues visible to the authenticated user.
Query parameters
Filter by project identifier or numeric ID.
Filter by tracker ID.
Filter by status. Use
open, closed, or * for all, or a numeric status ID.Filter by assignee user ID. Use
me for the authenticated user.Filter by author user ID.
Filter by priority ID.
Filter by target version ID.
Filter by category ID.
Filter issues whose subject contains this string.
Filter by creation date. Supports operators:
>=2024-01-01, <=2024-12-31.Filter by last update date. Supports operators:
>=2024-01-01.Filter by due date.
Comma-separated list of associations to embed. Valid values:
journals, relations, changesets, attachments, children, watchers, allowed_statuses.Number of records to skip.
Number of records per page (max 100).
Example
Response
Get issue
GET /issues/:id.json
Returns a single issue by ID.
Path parameters
The numeric ID of the issue.
Query parameters
Comma-separated list of associations to embed. Valid values:
journals, relations, changesets, attachments, children, watchers, allowed_statuses.Example
Response fields
Create issue
POST /issues.json
Creates a new issue. The authenticated user must have the Add issues permission in the target project.
Request body
Wrap all fields inside anissue object.
ID of the project to create the issue in.
Tracker ID. Defaults to the project’s first tracker.
Initial status ID. Defaults to the first status in the workflow.
Priority ID. Defaults to the default priority.
Issue subject. Maximum 255 characters.
Issue description.
Category ID.
Target version ID.
Assignee user or group ID.
Parent issue ID for creating subtasks.
Start date in
YYYY-MM-DD format.Due date in
YYYY-MM-DD format.Estimated effort in hours.
Percentage completion (0–100).
Whether to create a private issue.
Array of user IDs to add as watchers.
Array of custom field values:
[{"id": 1, "value": "custom value"}].Example
201 Created with the new issue in the body, and a Location header pointing to the new resource.
Update issue
PUT /issues/:id.json
Updates an existing issue. Only include fields you want to change — omitted fields are left unchanged.
Path parameters
The numeric ID of the issue to update.
Request body fields
All the same fields as Create issue apply, plus:A journal note to attach to this update.
Whether the journal note is private.
Example
200 OK.
Delete issue
DELETE /issues/:id.json
Deletes an issue. This action is irreversible. The authenticated user must have the Delete issues permission.
Path parameters
The numeric ID of the issue to delete.
Example
200 OK with no body.
