Uptimeify Docs

Error codes and known API pitfalls

This page documents real integration issues that have occurred in production or testing.

Schema

Error CodeCauseSolution / Bug
404 Website not foundSome website sub-endpoints previously accepted only the legacy numeric website ID, even though the docs showed websitePublicId.Fixed. GET /api/websites/:websitePublicId/check-history and GET /api/websites/:websitePublicId/uptime-stats now accept public IDs and still keep legacy-ID compatibility.
403 Forbidden on GET /api/organizations/:organizationPublicIdThe route previously interpreted the path parameter directly as a number. A UUID therefore failed during permission checks.Fixed. Organization detail and billing routes now resolve publicId correctly.
400 Bad Request with ZodError on customer-ips or customer-domainsQuery parameters like organizationId=, page=, or perPage= were sent as empty strings. Zod coerced them to 0, which then violated min constraints.Fixed for organizationId, page, and perPage. Optional still means: omit unused parameters instead of sending empty strings.

Public IDs in DNS and DNSBL monitor routes

The following path endpoints support public IDs in docs and client integrations:

  • GET /api/customer-domains/:customerDomainPublicId
  • PATCH /api/customer-domains/:customerDomainPublicId
  • DELETE /api/customer-domains/:customerDomainPublicId
  • GET /api/customer-ips/:customerIpPublicId
  • PATCH /api/customer-ips/:customerIpPublicId
  • DELETE /api/customer-ips/:customerIpPublicId

Legacy numeric IDs are still accepted for backward compatibility, but public IDs are the recommended integration format.

Update Billing Details: required body

Endpoint:

  • PATCH /api/organizations/:organizationPublicId/billing

Currently supported request body:

{
  "billingEmail": "billing@example.com"
}

This endpoint currently accepts only billingEmail.

On this page