Skip to main content
POST
Error

Authorizations

Authorization
string
header
required

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

application/json

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

dashboardId
string
required
name
string
required
Maximum string length: 255
recipients
string<email>[]
required
cadence
enum<string>
Available options:
daily,
weekly,
monthly
hourLocal
integer
Required range: 0 <= x <= 23
tz
string
formats
enum<string>[]
Available options:
link,
csv,
pdf
delivery
enum<string>
Available options:
email,
slack
enabled
boolean

Response

The created schedule.

success
boolean
required
data
object
required

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.

message
string
errors
object[]