Jira REST API Guide: 7 Steps to Make Your First Request
Not sure how to make your first Jira REST request? Follow 7 steps to authenticate, test an endpoint, and avoid common errors. Read now to get started.
You need a quick way to check a Jira issue, create a ticket, or connect another service to your project. The Jira REST API makes those tasks possible, but a first request can feel confusing when authentication, endpoint versions, and permissions all get in the way.
A small mistake can return an error instead of the project details you expected. Guessing at URLs or using the wrong credentials can waste more time than the request itself. But here's the truth: you can make a safe first call with a few clear steps. This guide walks you through authentication, a simple test request, and the next steps for working with Jira data confidently.
How to Make Your First Jira REST API Request in 7 Steps
-

1. Choose your Jira environment
Start by identifying whether your Jira site is Cloud or self-managed. Jira Cloud requests commonly use the REST API v3 path. Jira Data Center and older self-managed installations may use another version, depending on the installation.
For Jira Cloud, your base URL usually looks like https://your-domain.atlassian.net. Replace your-domain with your organization’s actual site name. For a self-managed installation, use your organization’s Jira address.
-
2. Check that your account has access
Sign in to Jira in your browser and confirm that your account can open the project or issue you plan to access. An API request uses your account’s permissions, so it cannot retrieve information you are not allowed to view.
If you are testing a project, note its project key, such as PAY or OPS. You may need that key when you search for issues or create one.
-
3. Set up authentication
For Jira Cloud, a common basic authentication method uses your Atlassian account email and an API token. Create a token in your account settings, then store it securely. Do not use your regular account password in an API command.
Self-managed Jira authentication varies by version and configuration. Your administrator may require a personal access token, OAuth, or another approved method. Check your organization’s guidance before sending a request.
-
4. Pick a simple endpoint
Begin with an endpoint that checks your identity. For Jira Cloud, GET /rest/api/3/myself returns details associated with the authenticated account. It is a useful test because it avoids changing project data.
Keep the HTTP method, API version, and endpoint together when constructing the URL. For example, a Cloud request uses https://your-domain.atlassian.net/rest/api/3/myself.
-
5. Send your first request
You can use curl in a terminal to send the request. Replace the example site, email, and token with your own values.
curl --request GET \
--url "https://your-domain.atlassian.net/rest/api/3/myself" \
--user "you@example.com:your_api_token" \
--header "Accept: application/json"
A successful request typically returns a JSON response with account details. Treat the token as a password: avoid pasting it into shared chats, public code, or command histories that others can access.
-
6. Read the status and response
Check the HTTP status code before interpreting the response body. A 200 status generally means a successful read. A 401 points to an authentication problem, while a 403 commonly signals insufficient permission.
A 404 can mean the URL is wrong or the requested item is unavailable to your account. Read the returned error details, then check the base URL, API version, endpoint spelling, and access rights.
-
7. Try a project-specific request
After the identity check works, retrieve an issue you are allowed to view. Replace PAY-123 with a real issue key from your Jira site.
curl --request GET \
--url "https://your-domain.atlassian.net/rest/api/3/issue/PAY-123" \
--user "you@example.com:your_api_token" \
--header "Accept: application/json"
Start with read requests before testing actions that change Jira. When you are ready to create or update an issue, confirm the required fields, project permissions, and request format first.
What the Jira REST API Does
A REST API lets one application communicate with another through web requests. In Jira, you can use it to read issue details, search work, create or update issues, and interact with other supported features.
Here's why: the API gives you a predictable way to request specific information. For example, a team might retrieve issue status for a reporting page, or create a ticket when a support form is submitted.
Endpoints, methods, and responses
An endpoint is the URL path for a particular action or resource. The method tells Jira what kind of request you are making. GET reads information, while POST often creates or submits something.
Jira commonly returns JSON, a structured format that applications can parse. A request for an issue might include its key, summary, status, assignee, and other fields that your account can access.
API versions matter
Jira Cloud and self-managed Jira do not always use the same API paths or capabilities. Cloud endpoints often include /rest/api/3/, while self-managed installations may use a different version. Verify the version supported by your environment before building a request.
Even within one version, an endpoint can require specific fields or permissions. If a request works in a test project and fails elsewhere, compare project settings and access rather than assuming the URL is the only difference.
Authentication and Permissions to Check First
Authentication proves which account is making the request. Permissions determine what that account can do. Both need to be correct, even when the URL and method look right.
For Jira Cloud, an API token paired with your account email is a common option for basic authentication. Some integrations use OAuth instead. For self-managed Jira, your administrator can confirm the supported method for your installation.
Protect credentials from accidental exposure
Keep tokens in a password manager or a secure environment variable instead of placing them in shared scripts. If a token is exposed, revoke it and create a replacement. Use a dedicated account for integrations when your organization’s security practices call for one.
For example, a team could store a token in a protected CI/CD secret and let an automated process read it at runtime. That avoids copying the credential into a command committed to a repository.
Match access to the task
A request may authenticate successfully and still fail because the account lacks project access. Check whether it can browse the project, view the issue, or perform the action you are requesting.
Use the smallest set of permissions needed. A script that only reads issue status does not need permission to edit or delete issues.
Build a Request for Issues and Search
Once the identity check succeeds, you can query project work. A direct issue request is a straightforward next test. Search endpoints help when you need to find issues matching conditions, such as a project key and status.
For example, a project lead might need open issues in the PAY project. Jira’s search capabilities let you express criteria using Jira Query Language, often called JQL, and retrieve matching issues.
Use the right method for the action
Use GET when reading issue details or search results. Creating an issue generally uses POST, and updating an existing issue generally uses PUT. Confirm the endpoint’s requirements for your Jira version before sending a write request.
Writing requests can have real effects. Test them in a development project when possible, and check the response for the newly created or updated issue key.
Encode query parameters correctly
Search requests often include JQL and other query parameters in the URL. Characters such as spaces, quotation marks, and parentheses may need URL encoding. Many HTTP libraries handle this when you pass parameters separately.
If you build the URL by hand, an unencoded space or special character can cause an error. Keep the query readable during development, then let your client library encode it safely.
Understand Errors and Handle Responses Reliably
An API error gives you clues about what to check. Start with the status code, then inspect the response details and compare the request with the endpoint requirements.
But here's the truth: a failed request is often a small mismatch. A typo in the project key, an expired token, or a missing permission can produce very different symptoms.
Common status codes
- 200 or 201: The request succeeded. A
201 often indicates that a resource was created.
- 400: Jira could not process the request as sent. Check required fields, JSON structure, and query syntax.
- 401: The request was not authenticated successfully. Check the account identifier, token, and authentication method.
- 403: The account may be authenticated but lacks permission for the requested action.
- 404: The endpoint or resource may be wrong, or the account may not be able to access it.
Make automation resilient
For a script that runs repeatedly, handle temporary failures and avoid sending requests in an uncontrolled loop. Jira may apply rate limits, so respect any retry guidance and wait before trying again when appropriate.
Log enough information to diagnose a problem, such as the endpoint, status code, and request identifier if provided. Do not log API tokens or sensitive issue details unnecessarily.
Jira REST API Guide Solution: ONES.com
ONES.com is a unified platform for project management and knowledge management, powered by ONES Assistant. ONES Project handles project management, while ONES Wiki supports knowledge management; they are sold separately.

If your goal is to connect Jira with another service, the API steps above remain the right place to begin. If you are also reviewing how your team manages projects, ONES Project is a Jira alternative with Jira-compatible workflows and project management capabilities.
Core capabilities: project friction to practical outcomes
- Teams need familiar issue workflows: ONES Project supports Jira-compatible workflows, helping teams transition with less disruption.
- Administrators need to tailor work stages: Custom workflows let teams shape processes around their delivery practices, resulting in clearer handoffs.
- Projects require fields that match their work: Custom fields help capture relevant details, so teams can organize work around their needs.
- Agile teams need sprint planning: Sprint management supports planning and tracking iterative work in one project environment.
- Repeated actions take time: Automation can handle configured routine tasks, reducing manual steps for the team.
- Leads need progress visibility: Built-in reporting helps teams review project progress without relying on extra reporting plugins.
- Restricted environments need deployment choice: ONES.com is available in Cloud, On-Premise, Private Cloud, and Air-gapped deployments.
- Self-hosted teams need feature consistency: The cloud and self-hosted versions have full feature parity, supporting deployment choice without a feature split.
Where a project management platform can help
A software team could use ONES Project to plan sprints, track issue ownership, and review built-in project reports. Jira-compatible workflows can make the change easier to evaluate for a team already familiar with Jira.
A company with restricted network requirements could consider an On-Premise, Private Cloud, or Air-gapped deployment. A team that wants project tracking and knowledge management may also assess ONES Wiki separately, since it is sold separately from ONES Project.
How it relates to API work
This guide explains how to make requests to Jira’s REST API. It does not assume that ONES Project shares Jira’s API endpoints or supports a specific migration path. If you are evaluating a platform change, confirm the integration and migration requirements with the vendor before planning implementation.
ONES.com offers a free plan for up to 30 seats. You can compare its workflow, reporting, deployment, and administration needs with your current project setup before deciding whether it fits.
Common Challenges and Ways to Solve Them
Authentication fails even though the account works in a browser
Browser sign-in and API authentication can use different credentials. For Jira Cloud, check that you are using the account email and a valid API token. For self-managed Jira, confirm the allowed authentication method with your administrator.
The request returns a permission error
Check the account’s access to the specific project and action. A user who can browse issues may still lack permission to create or edit them. Ask a Jira administrator to review the relevant project permissions.
The endpoint works in one Jira environment but not another
Compare the deployment type, API version, base URL, and endpoint requirements. A request written for Jira Cloud may need adjustment for a self-managed installation, and available features can differ by version.
The request fails when the JQL query gets longer
Special characters may be breaking the URL. Pass JQL as a query parameter through an HTTP library that handles encoding, or encode the query before building the URL manually. Test with a short query first.
An automated job sends repeated requests
Review the script’s loop and retry logic. Add suitable delays, handle rate-limit responses, and avoid retrying permanent errors such as invalid credentials. This can prevent unnecessary requests and make failures easier to troubleshoot.
FAQs About the Jira REST API
What is the Jira REST API used for?
The Jira REST API lets applications communicate with Jira through web requests. You can use it to retrieve issue details, search work, create or update issues, and support integrations. The exact operations depend on the Jira environment, API version, account permissions, and endpoint requirements.
How do I authenticate to Jira Cloud REST API?
A common method for Jira Cloud is basic authentication using your Atlassian account email and an API token. Create the token in your account settings and keep it private. Some integrations use OAuth. Use the authentication method approved for your setup, and never substitute your regular account password for an API token.
Why does my Jira API request return a 401 or 403?
A 401 usually means authentication did not succeed, so check the token, email, and authentication method. A 403 generally means Jira recognized the account but did not authorize the requested action. Confirm the account’s project permissions and access to the specific issue or operation.
Which Jira REST API version should I use?
Choose the version supported by your Jira environment and the endpoint you need. Jira Cloud commonly uses REST API v3, while self-managed installations can have different paths and version support. Check the relevant endpoint requirements for your installation before coding against it.
Can I create a Jira issue with a REST request?
Yes. Creating an issue generally uses a POST request with a JSON body containing required fields, such as the project, issue type, and summary. Required fields can vary by project configuration. Test in a development project first, and verify the response and created issue key.
Conclusion
You can make your first Jira REST API request by confirming your environment, setting up approved authentication, and testing a simple read endpoint. Then check the status code, account permissions, and response before moving on to searches or changes.
The process is manageable when you take it one request at a time. Start with a safe identity check, protect your credentials, and use a test project for write operations. If you are also reviewing your project management setup, compare your workflow and deployment needs with options such as ONES Project.