Skip to main content
Skip table of contents

REST APIs (Cloud)

Early access:
Our REST APIs are set to change in the coming months, and we probably won't be maintaining the legacy endpoints.

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, if you use our REST APIs, 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:

Prerequisites

In order to access the REST APIs, you need to:

  • Create a Requirement Yogi account.

  • Link an Atlassian account to your Requirement Yogi account.

  • Obtain an access token.

Create an account

To create a Requirement Yogi account:

  • Go to https://app.requirementyogi.com.

  • 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

To link an Atlassian account to your Requirement Yogi account:

  • Go to https://app.requirementyogi.com.

  • 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 cases.

Unlink the Atlassian account

To unlink the Atlassian account from your Requirement Yogi account:

  • Go to https://app.requirementyogi.com.

  • 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.

  • To completely unlink the Atlassian account, you also need to revoke the Requirement Yogi integration from your Atlassian account settings.

Revoke the Requirement Yogi integration

We retrieve the accessible Atlassian sites from the Atlassian REST API.

If you need to revoke the Requirement Yogi integration or 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

To obtain an access token:

BASH
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:

JSON
{
    "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 will 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:

BASH
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:

JSON
{
    "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 will 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.

Make calls to the REST APIs

  • Choose the endpoint you want to use.

  • Add a X-Base-URL header to your request 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 request containing the access token prefixed with Bearer (e.g. Bearer YOUR_ACCESS_TOKEN).

  • Send the request:

BASH
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'

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.