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 Code | Cause | Solution / Bug |
|---|---|---|
404 Website not found | Some 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/:organizationPublicId | The 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-domains | Query 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/:customerDomainPublicIdPATCH /api/customer-domains/:customerDomainPublicIdDELETE /api/customer-domains/:customerDomainPublicIdGET /api/customer-ips/:customerIpPublicIdPATCH /api/customer-ips/:customerIpPublicIdDELETE /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.