Early access:
Our REST APIs are set to change in the coming months, and we probably won't be maintaining the legacy endpoints for very long.
Moreover, we are currently using the OAuth 2.0 Password Grant as a temporary authentication strategy while we develop Personal Access Tokens which will improve the security.
So be ready to update your integrations!
At Requirement Yogi, we’re committed to continuously enhancing our products to meet the evolving needs of our customers. However, we understand that there are instances where you may require additional functionalities beyond what our products currently offer. For example, you may need to generate intricate reports by consolidating data coming from multiple systems, automate tasks based on the properties of your requirements, etc. If that's the case, our REST APIs empower you to extend the capabilities of our products to better fulfill your needs.
Explore our REST APIs
Each product has its own REST API:
Requirement Yogi for Confluence:
Base URL: https://confluence.requirementyogi.com
Documentation: https://confluence.requirementyogi.com/swagger-ui/index.html
Requirement Yogi for Jira:
Base URL: https://jira.requirementyogi.com
Documentation: https://jira.requirementyogi.com/swagger-ui/index.html
Create an account
In order to access the REST APIs, you need to create a Requirement Yogi account:
In the top navigation bar, click the sign in button.
Click the
Register
button.Fill the registration form.
Submit the form.
Once registered, you will receive a verification email.
Click the provided link to verify your email address.
Link an Atlassian account
In order to access the REST APIs, you need to link an Atlassian account to your Requirement Yogi account:
Log in to your Requirement Yogi account.
In the top navigation bar, click the profile button.
Navigate to
Settings
.In the left sidebar, navigate to
Linked accounts
.Click the
Link
button.You will be redirected to the Atlassian authorization prompt.
You will be asked to log in to your Atlassian account if you haven’t already.
Choose the Atlassian site for which you want to use our REST APIs.
Make sure you agree with the requested permissions.
Make sure you’ve read our Privacy Policy and our Terms of Use.
Click the
Accept
button.You can repeat the link process to authorize access to our REST APIs for multiple Atlassian sites.
Please note that permissions are checked against the permissions of your linked Atlassian account.
Make sure the linked Atlassian account has the appropriate permissions for your use case.
Unlink the Atlassian account
If you need to unlink your Atlassian account from your Requirement Yogi account:
Log in to your Requirement Yogi account.
In the top navigation bar, click the profile button.
Navigate to
Settings
.In the left sidebar, navigate to “Linked accounts”.
Click the
Unlink
button.
Reset the accessible Atlassian sites
We retrieve accessible Atlassian sites from the Atlassian REST API.
If you need to reset the accessible Atlassian sites:
Go to https://id.atlassian.com.
Log in to your Atlassian account.
In the top navigation bar, click the profile button.
Navigate to
Account settings
.In the top navigation bar, navigate to
Connected apps
.Locate the
Requirement Yogi integration
app.Click the
Remove access
button.
Get an access token
In order to access the REST APIs, you need an access token.
For now, we use the OAuth 2.0 Password Grant as a temporary authentication strategy while we develop Personal Access Tokens which will improve the security.
To obtain an access token:
Send a
POST
request to https://auth.requirementyogi.com/realms/ry-cloud/protocol/openid-connect/token with the following information:Headers:
Content-Type
:application/x-www-form-urlencoded
Data:
client_id
:backend-client
grant_type
:password
username
: the email address of your Requirement Yogi accountpassword
: the password of your Requirement Yogi account
curl -L 'https://auth.requirementyogi.com/realms/ry-cloud/protocol/openid-connect/token' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'client_id=backend-client' \ -d 'grant_type=password' \ -d 'username=YOUR_EMAIL' \ -d 'password=YOUR_PASSWORD'
If the request is successful, you will receive a response that looks like this:
{ "access_token": "YOUR_ACCESS_TOKEN", "expires_in": 300, "refresh_expires_in": 1800, "refresh_token": "YOUR_REFRESH_TOKEN", "token_type": "Bearer", "not-before-policy": 0, "session_state": "f4c9edf6-855c-4493-9da8-d0939269d0f5", "scope": "email profile" }
The response should contain:
access_token
: the access token.expires_in
: the expiration delay of the access token (in seconds).refresh_token
: the refresh token.refresh_expires_in
: the expiration delay of the refresh token (in seconds).
Refresh the access token
When the access token expires, you can use the refresh token to obtain a new access token:
Send a
POST
request to https://auth.requirementyogi.com/realms/ry-cloud/protocol/openid-connect/token with the following information:Headers:
Content-Type
:application/x-www-form-urlencoded
Data:
client_id
:backend-client
grant_type
:refresh_token
refresh_token
: the refresh token you received when your retrieved an access token
curl -L 'https://auth.requirementyogi.com/realms/ry-cloud/protocol/openid-connect/token' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'client_id=backend-client' \ -d 'grant_type=refresh_token' \ -d 'refresh_token=YOUR_REFRESH_TOKEN'
If the request is successful, you will receive a response that looks like this:
{ "access_token": "YOUR_NEW_ACCESS_TOKEN", "expires_in": 300, "refresh_expires_in": 1800, "refresh_token": "YOUR_NEW_REFRESH_TOKEN", "token_type": "Bearer", "not-before-policy": 0, "session_state": "3b2a9f95-1521-4cf8-a3ac-36e1aa01c36c", "scope": "email profile" }
The response should contain:
access_token
: the new access token.expires_in
: the expiration delay of the new access token (in seconds).refresh_token
: the new refresh token.refresh_expires_in
: the expiration delay of the new refresh token (in seconds).
If the refresh token has expired, you need to request a new access token using your credentials again.
Use the REST APIs
Choose the endpoint you want to use.
Add a
X-Base-URL
header to your requests containing the base URL of your Atlassian site (e.g.https://example.atlassian.net/wiki
for a Confluence instance,https://example.atlassian.net
for a Jira instance).Add an
Authorization
header to your requests containing the access token prefixed withBearer
(e.g.Bearer YOUR_ACCESS_TOKEN
).Send the request:
curl -L 'https://confluence.requirementyogi.com/rest/search?query=&limit=200&offset=0&spaceKey=SPACE' \ -H 'X-Base-URL: https://example.atlassian.net/wiki' \ -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'