Skip to content
Start free in Cloud

Preview report REST API

POST
/api/reports/preview
curl --request POST \
--url http://127.0.0.1:25737/api/reports/preview \
--header 'Content-Type: application/json' \
--cookie hk_token=<hk_token> \
--data '{ "definition": { "external_recipient_emails": [ "hello@example.com" ], "name": "example", "preset": "site_summary", "recipient_user_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "schedule": { "frequency": "daily", "local_time": "example", "monthly_day": 1, "timezone": "example", "weekly_day": 1 }, "scope": "personal", "site_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "site_mode": "selected", "status": "draft", "tenant_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "report_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'

Validates a draft report and returns its resolved schedule and reporting period without persisting rendered email content.

Media typeapplication/json
object
definition
required
object
external_recipient_emails
required
Array<string>
<= 25 items unique items
name
required
string
<= 120 characters
preset
required
string
Allowed values: site_summary portfolio_digest opportunity_brief
recipient_user_ids
required
Array<string>
schedule
required
object
frequency
required
string
Allowed values: daily weekly monthly
local_time
required
string
/^([01][0-9]|2[0-3]):(00|15|30|45)$/
monthly_day
integer
>= 1 <= 28
timezone
required

IANA timezone name.

string
weekly_day
integer
<= 6
scope
required
string
Allowed values: personal team
site_ids
required
Array<string>
site_mode
required
string
Allowed values: selected all_accessible
status
required
string
Allowed values: draft active paused
tenant_id
string format: uuid
report_id
string format: uuid

Report preview

Media typeapplication/json
object
pending_recipient_count
integer
period_end
string format: date-time
period_start
string format: date-time
preset
string
recipient_count
integer
schedule
object
frequency
required
string
Allowed values: daily weekly monthly
local_time
required
string
/^([01][0-9]|2[0-3]):(00|15|30|45)$/
monthly_day
integer
>= 1 <= 28
timezone
required

IANA timezone name.

string
weekly_day
integer
<= 6
site_count
integer
subject
string
suppressed
boolean
Example
{
"schedule": {
"frequency": "daily"
}
}

Invalid report

Media typeapplication/json
object
message
string
Examplegenerated
{
"message": "example"
}