Skip to content
Menu
SilktideDevelopers

Get a report

GET/v1/reports/{reportId}
View as Markdown

Returns one report, as List reports lists it. To read what the report shows, use Get a report's results.

Any user who can see the report can get it. When the API key's user can also admin it, the answer includes permissions: who may see and admin the report. For anyone else, permissions is left out.

POST /v1/reports/{reportId} answers exactly the same. It takes a JSON body and ignores it.

Request
curl "https://api.eu.silktide.com/v1/reports/2" \
  -H "Authorization: silktide token=$SILKTIDE_API_KEY"
Response: A live report on one website
{
  "report": {
    "reportId": 2,
    "reportTemplateId": "accessibility-22",
    "reportScheduleId": 0,
    "contextTypeId": "website",
    "name": "Wine Barrel WCAG 2.2",
    "thumbnailUrl": "",
    "startTime": 0,
    "endTime": 0,
    "durationInterval": "week",
    "durationPeriod": 2,
    "created": 1792953607,
    "creatorAssigneeId": "u:eu-12",
    "context": {
      "websiteId": 3,
      "sectionId": 0
    },
    "isLive": true,
    "version": 3
  },
  "permissions": {
    "components": [
      {
        "permissionId": "Report-ReportRead",
        "componentType": "assignees",
        "label": "Can see this dashboard / snapshot",
        "description": null,
        "inheritedPermissionIds": [
          "Report-ReportAdmin",
          "Report-ReportReadAll"
        ],
        "models": []
      },
      {
        "permissionId": "Report-ReportAdmin",
        "componentType": "assignees",
        "label": "Can admin this dashboard / snapshot",
        "description": null,
        "inheritedPermissionIds": [
          "Report-ReportAdminAll"
        ],
        "models": []
      }
    ],
    "componentValues": {
      "Report-ReportRead": [
        "u:eu-14"
      ],
      "Report-ReportAdmin": []
    },
    "fixedValues": {
      "Report-ReportRead": [],
      "Report-ReportAdmin": [],
      "Report-ReportReadAll": [
        "g:2",
        "u:eu-12"
      ],
      "Report-ReportAdminAll": [
        "g:2",
        "u:eu-12"
      ]
    }
  }
}

Request

Path parameters

  • reportIdintegerrequiredat least 1

    The report.

Response

200JSON.

  • reportobjectrequired

    The report.

    Show 15 fields
    • reportIdintegerrequiredat least 1

      The report.

    • reportTemplateIdstringrequired1 to 16 characters

      The report template it is made from.

    • reportScheduleIdintegerrequired

      The report schedule that made it. 0 when it was not made by a schedule.

    • contextTypeIdstringrequired

      What kind of thing it covers, copied from its template: website, websites, account or property.

      One ofwebsitewebsitesaccountproperty

    • namestringrequiredat least 1 characters

      Its name.

    • thumbnailUrlstringrequired

      A small screenshot of it. Empty until one is made, a few minutes after a snapshot is created.

    • startTimeintegerrequired

      For a snapshot, the start of the dates it covers. 0 for a live report.

    • endTimeintegerrequired

      For a snapshot, the end of the dates it covers. 0 for a live report.

    • durationIntervalstringrequired

      The unit of how far back it looks.

      One ofdayweekmonthyear

    • durationPeriodintegerrequired0 to 90

      How many durationIntervals back it looks. week and 4 cover the last four weeks.

    • createdintegerrequired

      When it was created.

    • creatorAssigneeIdstringrequired

      The assignee who created it: a user (u:), an API key (a:), or system for those Silktide made itself.

    • contextobject or map of any JSON or empty listrequired

      What it covers, in the shape its contextTypeId takes: {"websiteId": 3, "sectionId": 0} for one website, {"criteria": {...}} for several. [] when it has none.

      Show 2 fields
      • websiteIdintegerrequiredat least 1

        The website.

      • sectionIdintegerrequired

        One of its sections. 0 for the whole website.

    • isLivebooleanrequired

      true for a live report (a dashboard), which is built afresh each time it is read. false for a snapshot, built once when it is created.

    • versionintegerrequiredat least 1

      The version of the format it is stored in, which Silktide uses to upgrade older reports. Nothing to act on.

  • permissionsobject

    Who may see and admin the report. Only when the API key's user can admin it.

    Show 3 fields
    • componentslist of objectsrequired

      The permissions a report has: one to see it, one to admin it.

      Show 6 fields
      • permissionIdstringrequired

        The permission, such as Report-ReportRead.

      • componentTypestringrequired

        What can be given it. assignees for users and roles.

      • labelstringrequired

        Its name, such as Can see this dashboard / snapshot.

      • descriptionstringrequiredcan be null

        What it allows. Null for these permissions.

      • inheritedPermissionIdslist of stringsrequired

        Permissions that include this one: anyone with those has this too.

      • modelslist of any JSONrequired

        Reserved. Empty for these permissions.

    • componentValuesmap of list of stringsrequired

      Who was given each permission on this report directly, as assignee ids (u: users, g: roles).

    • fixedValuesmap of list of stringsrequired

      Who has each permission from elsewhere, such as account-wide roles. Changed elsewhere, not here.

Errors

StatusTypeWhen
403EditionNotAvailableThe account does not have Silktide 4. Reports, report schedules and report templates are Silktide 4's, so an account with only Silktide 5 cannot use them.
400InvalidRequestreportId is not a whole number. properties.field is reportId.
404ModelNotFoundNo report with that id exists in the account.
403AccessDeniedThe report exists, but the API key's user cannot see it.
401NotLoggedInNo API key was sent, or it is not a key for this region.(any operation)
429TooManyRequestsToo many requests to this path in five seconds. Retry after the number of seconds in the Retry-After header, which properties.retryAfter repeats.(any operation)
503-Silktide is busy. Retry after the number of seconds in the Retry-After header.(any operation)

Every error has the same body. See Errors.

Access

Permission
Can see this dashboard / snapshot
Plan feature
None
Edition
Silktide 4 only
Cost
Free
Available since
v1.0.0

Try it

Sends a real request to your account from this browser. Your key stays in this tab and goes only to the Silktide API.