A valid request URL is required to generate request examples{
"success": true,
"data": {
"id": "rsch_1f8a",
"dashboardId": "dsh_9a12",
"name": "Weekly billing digest",
"cadence": "weekly",
"hourLocal": 7,
"tz": "America/New_York",
"recipients": [
"owner@acme.com"
],
"formats": [
"pdf",
"link"
],
"delivery": "email",
"enabled": true,
"createdAt": "2026-07-12T09:00:00.000Z",
"updatedAt": "2026-07-12T09:00:00.000Z"
}
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Create a scheduled report
Create a schedule that emails a dashboard digest on a cadence. Body: { dashboardId, name, cadence?, hourLocal?, tz?, recipients[], formats?, delivery?, enabled? }. dashboardId (must exist in the org — else 422) and name are required, and at least one valid recipient email is required. Defaults: cadence daily, hourLocal 7, tz UTC, formats ["pdf","link"], delivery email, enabled true. formats is any subset of link/csv/pdf, all LIVE: the worker delivers the deep link, an optional CSV, and a PDF of the REAL dashboard charts (headless-chromium print of the read-only print page; a box without a renderer degrades to “no pdf” + a note, never a failed send). delivery is email in v1 — slack is a reserved value that currently 422s (no house Slack sender yet). The worker composes the digest via the same metric-registry compile path the live dashboard uses, so the emailed numbers equal the on-screen numbers.
A valid request URL is required to generate request examples{
"success": true,
"data": {
"id": "rsch_1f8a",
"dashboardId": "dsh_9a12",
"name": "Weekly billing digest",
"cadence": "weekly",
"hourLocal": 7,
"tz": "America/New_York",
"recipients": [
"owner@acme.com"
],
"formats": [
"pdf",
"link"
],
"delivery": "email",
"enabled": true,
"createdAt": "2026-07-12T09:00:00.000Z",
"updatedAt": "2026-07-12T09:00:00.000Z"
}
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Authorizations
Flowyte secret API key (Authorization: Bearer flowyte_sk_live_…). Scope-gated; is scoped to your organization — a key can never reach another tenant. The listed scopes in each operation's apiKey requirement are the scopes that key must hold. The tokenUrl is nominal: keys are minted in the dashboard.
Body
The create/update body for a scheduled report. dashboardId (must exist in the org) and name are required, plus at least one valid recipient email. The rest default: cadence daily, hourLocal 7, tz UTC, formats ["pdf","link"], delivery email, enabled true. formats may be any subset of link/csv/pdf (all live; pdf is a headless-chromium print of the real charts). delivery: slack is 422'd in v1 (no house Slack sender yet).
255daily, weekly, monthly 0 <= x <= 23link, csv, pdf email, slack Response
The created schedule.
A scheduled report: "email the digest every at ". The analytics worker sweeps enabled schedules, composes each digest via the SAME metric-registry compile path the live dashboard uses (so the emailed numbers equal the on-screen numbers), and delivers a clean HTML email (link always; CSV attached when requested; PDF of the real charts attached when requested and a renderer is available) through Resend. lastSentAt is empty until the first successful send.
Show child attributes
Show child attributes
Show child attributes
Show child attributes