Skip to main content
Skip table of contents

Time in Status Data Export Throught API

The Time in Status data feed is moving to a new, more secure API-based flow.

With this update, your report data is generated when the link is called, instead of being served from the previous open datafeed setup. The returned data keeps the same JSON structure as the existing datafeed, so your downstream integration should require minimal changes. The main differences are the new link format and the new authorization step.

What’s changing

The new datafeed flow introduces:

  • a new generated datafeed link

  • a one-time authorization step before you start using the link

  • secure access using tokens

  • real-time report generation when the link is requested

This means your integration will use a new link and must authenticate before retrieving data.

How it works

Prerequisites

Go to Administration > Connected Apps > Time in Status and enable the REST API option.

image-20260325-074243.png

Open the datafeed window in Time in Status and generate a new link for your saved preset.

You will also see an action to start authorization.

image-20260325-074304.png
image-20260325-074313.png

2. Authorize access

Click the authorization action in the datafeed window.

You will be redirected to the Atlassian consent screen, where you need to review the requested access and click Accept.

image-20260325-074335.png

3. Get your authorization code

After consent is granted, you will be redirected back to the callback page.

image-20260325-074425.png

The system will display the authorization details you need for the next step.

After that, use the authorization code to request two tokens with an HTTP client such as Postman: an access token and a refresh token.

The code expires in 5 mins. Make sure you have received the access and refresh token within this timeframe. If not, return to step 1.

image-20260325-074442.png

These tokens are used by your external system or integration to securely call the data feed.

Both tokens become active when you click the Approve button and have a limited validity period:

  • Access token: valid for 1 hour

  • Refresh token: valid for 90 days

Make sure to use the access token within 1 hour. If it expires before you apply it, return to step 1 and repeat the process.

The 90-day refresh token validity determines how long your data extract remains accessible. After 90 days, to access the report again, regenerate the link and repeat the process from step 1.

5. Use the token when requesting the data feed

When your integration calls the generated datafeed link with a valid access token, the report is calculated at that moment and returned as a JSON response.

Data retrieval is limited to 25 seconds to keep the process fast and stable. As a result, the data source can return up to approximately 1,000 work items, depending on their changelog history.

What the API returns

The new API returns report data as a JSON payload.

In general:

  • the report is built on demand

  • the returned JSON follows the same schema and structure as the existing datafeed

  • the generated link format is different from the old one

A generated link will follow this pattern:

CODE
https://<site-name>/gateway/api/svc/<product>/apps/<app-id>_<env-id>/<path>

The request uses datafeedID as a parameter.

Permissions and visibility

Where Jira permission enforcement is supported, the data feed returns only the issues that the authorized user is allowed to view.

This helps ensure that users only receive data they already have access to in Jira.

Counts and report size

Because the report is generated dynamically during the API request, the final result may differ from the number shown when the link was created.

Error messages

The API may return the following errors:

400 Bad Request

Returned when the request is invalid or required data is missing.

Example causes:

  • the request is malformed

  • datafeedID is missing or invalid

  • the request parameters are incorrect

413 Payload Too Large

Returned when the calculated report data exceeds 5 MB.

If this happens, narrow the report scope and try again.

500 Internal Server Error

Returned when an unexpected server-side error occurs.

If the issue continues, regenerate the link and retry. If that does not help, contact support.

Troubleshooting

1. I get less data than expected

Possible reasons:

  • the authorized user does not have permission to view all issues in Jira

  • the count shown during link creation was only an estimate

  • the report is too large or too broad for the new dynamic flow

2. The request fails because the payload is too large

Reduce the amount of data in the preset by:

  • narrowing the project scope

  • shortening the date range

  • applying additional filters

3. My old data feed link no longer works

Old generated data feeds are being retired. Generate a new data feed link and update your integration to use the new authorization flow.

4. I completed authorization, but the request still fails

Check that:

  • the preset is saved

  • the new data feed link is being used

  • the access token is valid

  • the token has not expired

  • your integration refreshes tokens when needed

 If you need help or want to ask questions, please contact SaaSJet Support or email us at support@saasjet.atlassian.net

Haven't used this add-on yet? Try it now!

JavaScript errors detected

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

If this problem persists, please contact our support.