Error codes and known API pitfalls

Known API failure patterns, root causes, and current fixes in Uptimeify.

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.