Get a report schedule and who it emails
/v1/report-schedules/{reportScheduleId}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.
curl "https://api.eu.silktide.com/v1/report-schedules/2" \
-H "Authorization: silktide token=$SILKTIDE_API_KEY"{
"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 1The report schedule.
Response
200JSON.
reportScheduleobjectrequiredThe report schedule.
Show 16 fieldsHide fields
reportScheduleIdintegerrequiredat least 1The report schedule.
namestringrequiredat least 1 charactersIts name. The snapshots it makes are named from their template, not from this.
reportTemplateIdstringrequired1 to 16 charactersThe report template each snapshot is built from.
contextobject or map of any JSON or empty listrequiredWhat it covers, in the shape its
contextTypeIdtakes:{"websiteId": 3, "sectionId": 0}for one website,{"criteria": {...}}for several.[]when it has none.Show 2 fieldsHide fields
websiteIdintegerrequiredat least 1The website.
sectionIdintegerrequiredOne of its sections.
0for the whole website.
emailSubjectstringrequiredup to 255 charactersThe subject of the email subscribers get. Empty for the default, the snapshot's name followed by "is ready".
emailMessagestringrequiredup to 4096 charactersText at the top of the email subscribers get. Can be empty.
scheduleIntervalstringrequiredThe unit of how often it runs.
One of
dayweekmonthyearschedulePeriodintegerrequired1 to 90How many
scheduleIntervals apart runs are.weekand2runs every two weeks.scheduleFromDateintegerrequiredWhen the schedule counts from. Each run falls a whole number of periods after it.
durationIntervalstringrequiredThe unit of how far back each snapshot looks.
One of
dayweekmonthyeardurationPeriodintegerrequired1 to 90How many
durationIntervals back each snapshot looks, from when it runs.createdintegerrequiredWhen it was created.
lastRunintegerrequiredWhen it last made a snapshot.
0if never.nextDueintegerrequiredWhen it next runs. In the past when a run is waiting to be picked up.
creatorAssigneeIdstringrequiredThe assignee who created it: a user (
u:), an API key (a:), orsystemfor those Silktide made itself.skippedobjectrequiredcan be nullNull, 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 fieldsHide fields
atintegerrequiredWhen the run was due.
reasonstringrequiredWhy it was skipped, as a stable id:
no-platform-accesswhen the account has no active plan.messagestringrequiredcan be nullThe reason, in the API user's language. Null for a reason without one.
permissionsobjectWho may see and admin the schedule. Only when the API key's user can admin it.
Show 3 fieldsHide fields
componentslist of objectsrequiredThe permissions a report schedule has: one to see it, one to admin it.
Show 6 fieldsHide fields
permissionIdstringrequiredThe permission, such as
Report-ReportRead.componentTypestringrequiredWhat can be given it.
assigneesfor users and roles.labelstringrequiredIts name, such as
Can see this dashboard / snapshot.descriptionstringrequiredcan be nullWhat it allows. Null for these permissions.
inheritedPermissionIdslist of stringsrequiredPermissions that include this one: anyone with those has this too.
modelslist of any JSONrequiredReserved. Empty for these permissions.
componentValuesmap of list of stringsrequiredWho was given each permission on this report schedule directly, as assignee ids (
u:users,g:roles).fixedValuesmap of list of stringsrequiredWho has each permission from elsewhere, such as account-wide roles. Changed elsewhere, not here.
subscribersobjectrequiredWho is emailed each snapshot.
Show 2 fieldsHide fields
assigneeIdslist of stringsrequiredUsers and roles emailed when it runs, as assignee ids (
u:users,g:roles).emailslist of stringsrequiredOther email addresses it is sent to, lowercased.
Errors
| Status | Type | When |
|---|---|---|
| 403 | EditionNotAvailable | The 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. |
| 400 | InvalidRequest | reportScheduleId is not a whole number. properties.field is reportScheduleId. |
| 404 | ModelNotFound | No report schedule with that id exists in the account. |
| 403 | AccessDenied | The report schedule exists, but the API key's user cannot see it. |
| 401 | NotLoggedIn | No API key was sent, or it is not a key for this region.(any operation) |
| 429 | TooManyRequests | Too 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.