Skip to content
Menu
SilktideDevelopers

Get a report schedule and who it emails

GET/v1/report-schedules/{reportScheduleId}
View as Markdown

Returns one report schedule and who it emails.

Subscribers come in two lists. subscribers.assigneeIds are users and roles in the account, as assignee ids. subscribers.emails are any other addresses, which need no Silktide user. Each email links to the new snapshot through a share link, so it opens for people outside the account too.

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

Request
curl "https://api.eu.silktide.com/v1/report-schedules/2" \
  -H "Authorization: silktide token=$SILKTIDE_API_KEY"
Response: A weekly report on websites tagged pre-production
{
  "reportSchedule": {
    "reportScheduleId": 2,
    "name": "Weekly pre-production website summary",
    "reportTemplateId": "websites",
    "context": {
      "criteria": {
        "tagIds": [
          "pre-production"
        ]
      }
    },
    "emailSubject": "",
    "emailMessage": "",
    "scheduleInterval": "week",
    "schedulePeriod": 1,
    "scheduleFromDate": 1793664000,
    "durationInterval": "day",
    "durationPeriod": 7,
    "created": 1793600000,
    "lastRun": 1795478400,
    "nextDue": 1796083200,
    "creatorAssigneeId": "u:eu-12",
    "skipped": null
  },
  "permissions": {
    "components": [
      {
        "permissionId": "Report-ReportScheduleRead",
        "componentType": "assignees",
        "label": "Can see this report schedule",
        "description": null,
        "inheritedPermissionIds": [
          "Report-ReportScheduleAdmin",
          "Report-ReportScheduleReadAll"
        ],
        "models": []
      },
      {
        "permissionId": "Report-ReportScheduleAdmin",
        "componentType": "assignees",
        "label": "Can admin this report schedule",
        "description": null,
        "inheritedPermissionIds": [
          "Report-ReportScheduleAdminAll"
        ],
        "models": []
      }
    ],
    "componentValues": {
      "Report-ReportScheduleRead": [],
      "Report-ReportScheduleAdmin": []
    },
    "fixedValues": {
      "Report-ReportScheduleRead": [],
      "Report-ReportScheduleAdmin": [],
      "Report-ReportScheduleReadAll": [
        "g:2",
        "u:eu-12"
      ],
      "Report-ReportScheduleAdminAll": [
        "g:2",
        "u:eu-12"
      ]
    }
  },
  "subscribers": {
    "assigneeIds": [
      "u:eu-12",
      "u:eu-14"
    ],
    "emails": [
      "web-team@example.com"
    ]
  }
}

Request

Path parameters

  • reportScheduleIdintegerrequiredat least 1

    The report schedule.

Response

200JSON.

  • reportScheduleobjectrequired

    The report schedule.

    Show 16 fields
    • reportScheduleIdintegerrequiredat least 1

      The report schedule.

    • namestringrequiredat least 1 characters

      Its name. The snapshots it makes are named from their template, not from this.

    • reportTemplateIdstringrequired1 to 16 characters

      The report template each snapshot is built from.

    • 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.

    • emailSubjectstringrequiredup to 255 characters

      The subject of the email subscribers get. Empty for the default, the snapshot's name followed by "is ready".

    • emailMessagestringrequiredup to 4096 characters

      Text at the top of the email subscribers get. Can be empty.

    • scheduleIntervalstringrequired

      The unit of how often it runs.

      One ofdayweekmonthyear

    • schedulePeriodintegerrequired1 to 90

      How many scheduleIntervals apart runs are. week and 2 runs every two weeks.

    • scheduleFromDateintegerrequired

      When the schedule counts from. Each run falls a whole number of periods after it.

    • durationIntervalstringrequired

      The unit of how far back each snapshot looks.

      One ofdayweekmonthyear

    • durationPeriodintegerrequired1 to 90

      How many durationIntervals back each snapshot looks, from when it runs.

    • createdintegerrequired

      When it was created.

    • lastRunintegerrequired

      When it last made a snapshot. 0 if never.

    • nextDueintegerrequired

      When it next runs. In the past when a run is waiting to be picked up.

    • creatorAssigneeIdstringrequired

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

    • skippedobjectrequiredcan be null

      Null, or why its last due run made no snapshot and sent no email. It runs again by itself once the reason has gone.

      Show 3 fields
      • atintegerrequired

        When the run was due.

      • reasonstringrequired

        Why it was skipped, as a stable id: no-platform-access when the account has no active plan.

      • messagestringrequiredcan be null

        The reason, in the API user's language. Null for a reason without one.

  • permissionsobject

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

    Show 3 fields
    • componentslist of objectsrequired

      The permissions a report schedule 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 schedule 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.

  • subscribersobjectrequired

    Who is emailed each snapshot.

    Show 2 fields
    • assigneeIdslist of stringsrequired

      Users and roles emailed when it runs, as assignee ids (u: users, g: roles).

    • emailslist of stringsrequired

      Other email addresses it is sent to, lowercased.

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.
400InvalidRequestreportScheduleId is not a whole number. properties.field is reportScheduleId.
404ModelNotFoundNo report schedule with that id exists in the account.
403AccessDeniedThe report schedule 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 report schedule
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.