Uptimeify Docs
Organization

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 :id is not a positive integer, or :packageType is missing
  • 401 unauthorized you are not logged in
  • 403 forbidden you are not an admin of this organization and not a global admin
  • 403 customerScopedTokenForbidden when called with a customer-scoped API token; this is an organization-wide action and requires an organization-scoped token or a session
  • 404 notFound no package config with this packageType exists 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.

On this page