Apply Report Default
Writes a package's monthlyReportsDefault onto every existing customer currently on that package, once.
POST /api/organizations/:id/package-configs/:packageType/apply-report-default
Upsert Package Config's monthlyReportsDefault is a
template: it only seeds monthlyReportsEnabled for customers created from then on. Saving
the package config never rewrites customers who already exist on it, on purpose, a configuration
save must not silently mutate customer rows. This endpoint is the explicit, one-off action for
the other case: propagate the package's current monthlyReportsDefault onto every customer that
already holds that package, right now.
This is a single bulk UPDATE, not a loop with per-customer error isolation like
Bulk Actions: it writes one boolean column with no cascade and no
side effects, so per-row isolation buys nothing here. Either the whole set is written, or the
request fails before anything is written.
Path parameter: :id
:id is the organization's numeric id, the same integer id field returned by
Get Organization Details. This is narrower than
the sibling package-config routes, which also resolve :organizationPublicId (a UUID). This
endpoint does not: it parses the path segment with Number(...) directly and rejects anything
that is not a positive integer with 400 invalidRequestBody.
Example (cURL)
BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"
curl -X POST "$BASE_URL/api/organizations/1/package-configs/pro/apply-report-default" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"No request body.
Response
{ "updated": 42 }updated is the number of customer rows written. A customer "holds" the package if its
packageId matches this package config's id, or, for customers that were never assigned an id,
if its packageType string matches. Customers that only happen to share the same packageType
string without holding this exact config are not included.
Common errors
400 invalidRequestBody:idis not a positive integer, or:packageTypeis missing401 unauthorizedyou are not logged in403 forbiddenyou are not an admin of this organization and not a global admin403 customerScopedTokenForbiddenwhen called with a customer-scoped API token; this is an organization-wide action and requires an organization-scoped token or a session404 notFoundno package config with thispackageTypeexists for this organization
Authorization note:
- Write access is required (organization admin of the target organization, or global admin).
- A customer-scoped API token is refused outright. This endpoint writes across every customer holding the package, so there is no customer dimension to narrow it down to; a token bound to a single customer must not reach the rest of the organization.
Upsert Package Config
Creates a new package config (by :packageType) or updates an existing one. packageType is a free-form identifier chosen by the organization, and customer endpoints can later reference that same key.
Request Data Export
Queues a complete export of your organization's content as JSON and CSV, delivered as a downloadable ZIP and announced by email.