List the dashboard share configurations you created in Dynatrace with the Public Access API, with filter and sort parameters to narrow the results.
| GET | SaaS | https://{your-environment-id}.apps.dynatrace.com/v1/shares |
You use this operation to list the dashboard share configurations you created. The filter query parameter narrows the results by fields such as id and document, and the sort parameter orders them by one or more fields. A 200 response returns the list of shares, which you can use to review, update, or remove public links to your dashboards.
To execute this request, you need a platform token or OAuth access token with public-access:shares:read scope. To learn how to obtain and use it, see Tokens and authentication.
| Parameter | Type | Description | In | Required |
|---|---|---|---|---|
| filter | string | Filter expression following DT REST API Guidelines. Supported fields: id, documentId, expirationDate, type, locale, timezone, refreshIntervalMinutes. Boolean operators 'and', 'or', 'not' are supported with standard precedence (and before or); round braces override precedence. String operators: '=', '!=', 'contains', 'starts-with', 'ends-with', 'in' (inexact operators are case-insensitive). Date/time operators: '=', '!=', '<', '<=', '>', '>=', 'in' (ISO 8601 format). The 'in' operator allows matching a set of values, e.g. documentId in ('id1', 'id2'). An empty filtered result is a successful HTTP 200 response. Null field behaviour: shares whose expirationDate is not set (null) do not match any date comparison operator and are excluded from results that filter on expirationDate. Maximum nesting depth: the filter engine enforces a maximum of 3 levels of nested parentheses. Expressions that exceed this limit are rejected with HTTP 400. Examples: documentId = '22' | expirationDate < '2026-01-01T00:00:00Z' | locale starts-with 'en' | query | Optional |
| sort | string | Comma-separated sort fields following DT REST API Guidelines. Ascending order is the default; prefix a field name with '-' for descending order. Multiple fields are applied left-to-right as tie-breakers. String fields are compared case-insensitively. Unknown or unsupported field names are silently ignored. An empty or blank sort value (e.g. ?sort=) is treated as no sort and returns shares in their natural insertion order. Sortable fields: id, documentId, name, creatorId, expirationDate, creationDate, type, locale, timezone, refreshIntervalMinutes, ipAllowList, sessionTimeoutMinutes. Example: -expirationDate,documentId | query | Optional |
| Code | Type | Description |
|---|---|---|
| 200 | Share | List of shares |
| 400 | - | - |
| 4XX | - | - |
| 5XX | - | - |
ShareListResponse object| Element | Type | Description |
|---|---|---|
| shares | Share | - |
| totalCount | integer | Total number of shares |
ShareResponse object| Element | Type | Description |
|---|---|---|
| id | string | Share UUID |
| documentId | string | ID of the document being shared |
| name | string | Name of the share |
| expirationDate | string | Expiration date in ISO 8601 format |
| creationDate | string | Creation date of the share in ISO 8601 format |
| variables | object | Dashboard variables |
| timeframe | Timeframe | Timeframe override |
| filterSegments | Filter | Filter segments |
| locale | string | Locale (e.g. en-US) |
| timezone | string | Timezone (e.g. Europe/Vienna) |
| type | string | Share type The element can hold these values
|
| sessionTimeoutMinutes | integer | Session timeout in minutes; null when passcode is disabled |
| refreshIntervalMinutes | integer | Refresh interval in minutes |
| ipAllowList | object | - |
| passcode | Passcode | - |
| iframeEmbedding | Iframe | - |
| documentSnapshotDate | string | Date when the document snapshot was captured in ISO 8601 format |
| documentVersion | integer | Document version at the time the snapshot was captured |
Timeframe object| Element | Type | Description |
|---|---|---|
| from | string | Start of the timeframe as a relative or absolute expression parseable by the Dynatrace time parser (e.g. now()-2h, -1d@d, 2024-01-01T00:00:00Z). |
| to | string | End of the timeframe as a relative or absolute expression parseable by the Dynatrace time parser (e.g. now(), -1h@h, 2024-12-31T23:59:59Z). |
FilterSegment object| Element | Type | Description |
|---|---|---|
| id | string | Segment ID |
| variables | Filter | - |
FilterSegmentVariable object| Element | Type | Description |
|---|---|---|
| name | string | Variable name |
| values | string[] | Variable values |
PasscodeInfo object| Element | Type | Description |
|---|---|---|
| enabled | boolean | Whether passcode protection is enabled |
| value | string | The passcode value; null when passcode is disabled |
IframeEmbedding object| Element | Type | Description |
|---|---|---|
| enabled | boolean | Whether iframe embedding is enabled for this share |
{"shares": [{"id": "string","documentId": "string","name": "string","expirationDate": "string","creationDate": "string","variables": {},"timeframe": {"from": "now()-2h","to": "now()"},"filterSegments": [{"id": "string","variables": [{"name": "string","values": ["string"]}]}],"locale": "string","timezone": "string","type": "dashboard","sessionTimeoutMinutes": 1,"refreshIntervalMinutes": 1,"ipAllowList": {"enabled": true},"passcode": {"enabled": true,"value": "string"},"iframeEmbedding": {"enabled": true},"documentSnapshotDate": "string","documentVersion": 1}],"totalCount": 1}