Docs

Type a word or a question. Esc closes the search.

Sign in Start free

Update a report schedule

Replaces a report schedule's cadence, recipients, report type, language, timezone and frozen report parameters.

PUT https://app.upfour.io/v1/reports/schedules/{scheduleID}
PUT https://app.upfour.io/v1/reports/schedules/{scheduleID}

A real request. Sending it changes data in your up4 account.

Authorization
AuthorizationA pls_ key. It stays in this browser tab. Needs report.write.
Path
Body
cadencerequired
Timing4
Delivery3
format Defaults to pdf.
enabled true when omitted, on update too.
Scope and parameters1

2 more fields are only available in JSON.

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key when the field is empty.

Request
Responsenot sent yet
Fill in a key and press Send request (⌘↵).
The answer appears here.
scope report.write stable returns 200

Parameters

FieldTypeDescription
scheduleID required uuid path parameter

Body

The 4 fields most calls use come first; the rest are grouped below.

application/json required 13 fields

namestringrequired

1 to 200 characters without line breaks.

In the app: Name
report_typestringrequired
executive_summarysummarymonitor_reportmonitorsmonitor_slaslaincident_analyticsincidentsresponse_timeresponse-timedowntime_ledgerdowntime-ledgertrends
In the app: Report
cadencestringrequired
weeklymonthly
In the app: Cadence
recipientsstring (email)[]required

1 to 50 distinct email addresses.

In the app: Recipients
Timing4 fields
day_of_weekinteger · nullable

Required for weekly: 1 (Monday) to 7 (Sunday).

day_of_monthinteger · nullable

Required for monthly: 1 to 28.

In the app: Day of month
send_hourinteger

Hour of the day, 0 to 23, in timezone. 0 when omitted.

In the app: Send at (hour)
timezonestring

IANA time zone; UTC when omitted.

In the app: Timezone
Delivery3 fields
formatstring

Defaults to pdf.

csvjsonpdfxlsx
In the app: Format
languagestring · nullable

en or de (a region such as de-DE or the language name is accepted); null or empty inherits from the client, then the Company.

In the app: Report language
enabledboolean · nullable

true when omitted, on update too.

Scope and parameters2 fields
client_iduuid · nullable

Report on one client; omitted means the Company level. On update, omitting it keeps the schedule's client.

In the app: Scope to client (optional)
paramsobjectfree-form keys

Frozen report parameters: preset, from and to (the window, as in the query of the report endpoints), target (SLA target in percent, above 0 up to 100) and filters (monitor, severity and search narrowing; region, tag and group filters are refused). Without a window a weekly schedule reports the last 7 days and a monthly one the previous month.

Returns

A successful request returns 200 with application/json.

Response fields 1 top-level fields
FieldTypeDescription
data ReportSchedule
ReportSchedule · 21 fields
FieldTypeDescription
cadence string one ofweeklymonthly
created_at string (date-time)
enabled boolean
format string one ofcsvjsonpdfxlsx
id uuid
language string · nullable one ofende null when the schedule inherits.
name string
next_run_at string (date-time)
organization_id uuid
params object · nullable free-form keys The frozen report parameters; see the request.
recipients string[] · nullable
report_type string one ofexecutive_summarysummarymonitor_reportmonitorsmonitor_slaslaincident_analyticsincidentsresponse_timeresponse-timedowntime_ledgerdowntime-ledgertrends
send_hour integer
timezone string
updated_at string (date-time)
client_id uuid
created_by uuid
day_of_month integer
day_of_week integer
effective_language string one ofende The language the schedule renders in now.
last_run_at string (date-time)

Errors

Only the errors this operation can return. Every error uses the same envelope.

Status Code Meaning
400 bad_request The request is malformed or fails validation.
402 billing_action_unavailable The Company's billing state does not allow this action. When: A metered or limited action while the billing state, such as paused or without credit, blocks it; details holds the action and billing_state. Fix: Top up the credit or change the plan, then retry.
404 not_found The requested resource does not exist or is outside the caller's scope.
403 permission_denied The credentials do not permit this action.
503 quota_gate_unavailable The limit check itself failed, so the action was not carried out. When: The quota service could not decide while the request ran. Fix: Retry in a moment; nothing was changed.
403 / 429 quota_limit_reached A usage or inventory limit of the Company was reached. When: Counters and concurrency limits answer 429 with Retry-After, inventory and capacity limits answer 403; details holds purpose, limit and window. Fix: On 429 wait Retry-After seconds; on 403 free something up, request a higher limit where details.raise_request is true, or buy an extension.

Every call can also return unauthorized (401), rate_limit_exceeded (429) or internal_error (500 / 502). See Responses and errors.