If you've installed the Traceability Extension and entered Xray API credentials, but Snapshots reports that the credentials are invalid even though they're correct, the most common underlying cause is a data residency issue on the Xray side — not a problem with your credentials.
Symptoms
-
You enter a freshly generated Xray Client ID and Client Secret in Snapshots Configuration → Xray connection.
-
Snapshots reports something like "Xray token is invalid or expired" or "Cannot access Xray".
-
You've double-checked: the credentials are correct, copied directly from Xray's API Keys panel, generated on the same Jira site.
-
Your Atlassian site (Jira and/or Xray) is on a non-default data residency — for example, pinned to the European Union — or you're in the middle of a residency migration.
Why this happens
Xray's authentication endpoint accepts your credentials and issues a bearer token successfully. But when Snapshots makes its first data call to Xray, the call is misrouted, or hits stale region-mapping configuration on the Xray side. The data-call failure surfaces in Snapshots as if the credentials were wrong.
Pitfall. A successful bearer token does not mean the connection is healthy. The residency issue typically only shows up on the first data call after authentication — that's why the Snapshots UI flags the credentials, even though they work for the auth step.
This issue is most common in two situations:
-
Pinned non-default residency. Your site is locked to a region (such as EU) and Xray's region mapping for your site needs to be corrected by Xray support.
-
In-progress residency migration. You've requested a residency change and the migration hasn't fully completed yet.
Diagnose it yourself
Two curl calls confirm whether you're hitting this issue. Run them from any machine that has internet access — your laptop terminal works fine.
1. Authenticate
curl --location 'https://xray.cloud.getxray.app/api/v2/authenticate' \
--header 'Content-Type: application/json' \
--data '{"client_id":"<CLIENT_ID>","client_secret":"<CLIENT_SECRET>"}'
Replace <CLIENT_ID> and <CLIENT_SECRET> with the values from Xray's API Keys panel. A successful call returns a bearer token — a long string of characters.
2. Make a data call with the token
curl --location 'https://xray.cloud.getxray.app/api/v2/export/cucumber?keys=DEMO-6%3BDEMO-7' \
--header 'Authorization: Bearer <BEARER_TOKEN>'
Replace <BEARER_TOKEN> with the token from step 1. The issue keys DEMO-6;DEMO-7 don't need to exist in your Jira — we just need the API call to attempt a data fetch so we can see what Xray returns.
Interpret the response
|
Response from step 2 |
What it means |
|---|---|
|
|
This is the residency issue. Continue to Resolution below. |
|
Step 1 fails (no bearer token returned) |
Your credentials are wrong or expired. Generate fresh ones in Xray and try again. |
|
Step 2 returns data — or a normal "issue not found" — error |
The Xray API connection is healthy. Whatever's blocking Snapshots is a different issue; contact |
Resolution
The fix lives on Xray's side. RadBee support can open a ticket with Xray on your behalf and follow it through. There are two paths depending on your residency situation.
If your Jira / Xray residency is pinned
-
Take a screenshot of Atlassian admin → Security → Data residency showing the current state for both Jira and Xray (region and status).
-
Save the response body from the data call in step 2 above.
-
Email
support@radbee.comwith the subject "Xray connectivity – data residency" and attach:-
Your Confluence and Jira site URLs.
-
The residency screenshot.
-
The two
curloutputs (the successful authenticate and the failing data call).
-
-
We'll open a ticket with Xray support, share the evidence, and follow the case through to resolution. Xray typically updates the configuration on their side within a few business days.
If your residency is mid-migration
-
Wait for the migration to complete. The Data residency page in Atlassian admin shows the migration status.
-
Once the migration is fully complete, re-enter your Client ID and Secret in Snapshots Configuration → Xray connection and try the connection again.
-
If the issue persists after the migration is fully complete, follow the steps for pinned residency above.
After Xray fixes the configuration
When we confirm with you that Xray has resolved the issue:
-
In Confluence, return to Snapshots Configuration → Xray connection.
-
Re-enter your Client ID and Client Secret. We recommend generating fresh credentials in Xray first if any time has passed.
-
Click Submit. You should see Connection is open.
-
Take a test snapshot that includes Xray data — for example, a level with
issuetype = Testand an Xray field added — to confirm the integration is working end to end.
See also
-
Configuring the Xray connection — the full setup procedure for the integration.
-
Integration with Xray Test Management for Jira — what the integration provides once it's connected.