Uptimeify Docs
Organization

List Package Configs

Returns all package configurations for the organization in your authenticated session. Each config also includes a usedByCustomerCount field.

GET /api/package-configs

Query parameters

ParameterTypeDefaultDescription
summarystring-Set to 1 to add a summary object with usage numbers to every config. Any other value (or omitting it) returns the plain list.

Example (cURL)

BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"

curl -X GET "$BASE_URL/api/package-configs" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Notes:

  • The organization is derived automatically from your authenticated session or API token.
  • The legacy route GET /api/organizations/:organizationPublicId/package-configs remains supported for compatibility.
  • Global admins need an active organization context in the authenticated session for the org-less route.
  • usedByCustomerCount counts the customers actually assigned to that config, not the customers whose packageType string happens to match its name.

Response

[
  {
    "id": 10,
    "packageType": "pro",
    "maxUrls": 100,
    "dataRetentionMonths": 12,
    "checkIntervalMinutes": 1,
    "checkLocations": 3,
    "notificationDelayMinutes": 0,
    "reminderDelayMinutes": 10,
    "alertConsecutiveChecks": 3,
    "alertLocationThreshold": "majority",
    "alertLocationThresholdCount": 2,
    "alertReminderInterval": 60,
    "enableSslCheck": true,
    "enableHttpsCheck": true,
    "enableStatusCheck": true,
    "enableSizeCheck": true,
    "enableResponseTimeCheck": true,
    "enableKeywordCheck": false,
    "enableEmailAlerts": true,
    "enableSmsAlerts": true,
    "enableWebhookAlerts": true,
    "enableIntegrationAlerts": true,
    "enablePostRequestEscalation": false,
    "enableMaintenanceWindows": true,
    "enablePdfReports": true,
    "notes": null,
    "createdAt": "2026-02-26T12:00:00.000Z",
    "updatedAt": "2026-02-26T12:00:00.000Z",
    "usedByCustomerCount": 4
  }
]

Response with summary=1

curl -X GET "$BASE_URL/api/package-configs?summary=1" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Every entry carries the same fields as above plus a summary object:

[
  {
    "id": 10,
    "packageType": "pro",
    "maxUrls": 100,
    "usedByCustomerCount": 4,
    "summary": {
      "customers": 4,
      "monitorsActive": 37,
      "capacity": 400
    }
  }
]
  • customers: customers assigned to this config; identical to usedByCustomerCount.
  • monitorsActive: all monitors of those customers that are not disabled, every type counted (website, DNS, domain, ICMP, SMTP, SSH, FTP, IMAP/POP), the same count the package limit is enforced against.
  • capacity: customers × maxUrls. If the config has no maxUrls of its own, the default of its package type is used; 0 means neither is known.

Common errors

  • 400 Organization ID is required in the authenticated session when no organization can be derived from the current session/token
  • 401 Unauthorized when you are not logged in
  • 403 Forbidden when you cannot access the organization

On this page