App name: jira
Base URL proxied: api.atlassian.com
Jira Cloud requires a cloud ID in the API path. First, get accessible resources:
GET /jira/oauth/token/accessible-resourcesResponse:
[{
"id": "62909843-b784-4c35-b770-e4e2a26f024b",
"url": "https://yoursite.atlassian.net",
"name": "yoursite",
"scopes": ["read:jira-user", "read:jira-work", "write:jira-work"]
}]/jira/ex/jira/{cloudId}/rest/api/3/{endpoint}
GET /jira/ex/jira/{cloudId}/rest/api/3/projectGET /jira/ex/jira/{cloudId}/rest/api/3/project/{projectKeyOrId}Note: The old /search endpoint is deprecated. Use /search/jql with a bounded query.
GET /jira/ex/jira/{cloudId}/rest/api/3/search/jql?jql=project%3DKEY%20order%20by%20created%20DESC&maxResults=20&fields=summary,status,assignee,created,priorityGET /jira/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}POST /jira/ex/jira/{cloudId}/rest/api/3/issue
Content-Type: application/json
{
"fields": {
"project": {"key": "PROJ"},
"summary": "Issue summary",
"issuetype": {"name": "Task"}
}
}PUT /jira/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}
Content-Type: application/json
{
"fields": {
"summary": "Updated summary"
}
}DELETE /jira/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}PUT /jira/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}/assignee
Content-Type: application/json
{
"accountId": "712020:5aff718e-6fe0-4548-82f4-f44ec481e5e7"
}GET /jira/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}/transitionsPOST /jira/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}/transitions
Content-Type: application/json
{
"transition": {"id": "31"}
}POST /jira/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}/comment
Content-Type: application/json
{
"body": {
"type": "doc",
"version": 1,
"content": [{"type": "paragraph", "content": [{"type": "text", "text": "Comment text"}]}]
}
}GET /jira/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}/commentGET /jira/ex/jira/{cloudId}/rest/api/3/myselfGET /jira/ex/jira/{cloudId}/rest/api/3/user/search?query=johnGET /jira/ex/jira/{cloudId}/rest/api/3/issuetypeGET /jira/ex/jira/{cloudId}/rest/api/3/priorityGET /jira/ex/jira/{cloudId}/rest/api/3/statusGET /jira/ex/jira/{cloudId}/rest/api/3/field- Always fetch cloud ID first using
/oauth/token/accessible-resources - JQL queries must be bounded (e.g.,
project=KEY) - unbounded queries are rejected - Use URL encoding for JQL query parameters
- Update, Delete, Transition, and Assign endpoints return HTTP 204 (No Content) on success
- Agile API (
/rest/agile/1.0/...) requires additional OAuth scopes beyond the basic Jira scopes