Create a public link.
const url = 'https://api.siteqwality.com/dashboards/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/shares';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"allowed_times":["example"],"default_time":"example","theme":"light","variables":{"additionalProperty":{"locked":true,"allowed":["example"]}},"expires_at":"2026-04-15T12:00:00Z"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.siteqwality.com/dashboards/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/shares \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "allowed_times": [ "example" ], "default_time": "example", "theme": "light", "variables": { "additionalProperty": { "locked": true, "allowed": [ "example" ] } }, "expires_at": "2026-04-15T12:00:00Z" }'The link shows the dashboard read-only at https://app.siteqwality.com/share/d/<url_token>.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Dashboard id
Request Body required
Section titled “Request Body required ”ShareConfig plus an optional expiry.
object
Presets a viewer may pick, from 15m 1h 4h 1d 2d 7d 30d 90d.
One of allowed_times.
object
How a public viewer may use one variable. A variable the share does not list is locked to the dashboard default.
object
The values a viewer may pick; null allows every value (and All when the variable
includes it).
Responses
Section titled “ Responses ”The new link
object
The capability in https://app.siteqwality.com/share/d/<token>.
object
Presets a viewer may pick, from 15m 1h 4h 1d 2d 7d 30d 90d.
One of allowed_times.
object
How a public viewer may use one variable. A variable the share does not list is locked to the dashboard default.
object
The values a viewer may pick; null allows every value (and All when the variable
includes it).
Example
{ "config": { "theme": "light" }}Invalid settings, or 20 links already
Missing or invalid authentication
Custom dashboards require a paid plan
Locked, the caller cannot edit dashboards, or is a connected app
No such dashboard
Internal server error