Error Codes

Complete reference of HTTP status codes and error messages returned by the Pinguzo API.

HTTP Status Codes

HTTP StatusMeaning
200Success — request completed
201Created — resource was created (POST)
400Bad Request — missing or invalid parameters
401Unauthorized — missing or invalid API key
403Forbidden — plan restrictions or account issues
404Not Found — resource doesn't exist or isn't yours
405Method Not Allowed — HTTP method not supported
429Too Many Requests — rate limit exceeded
500Internal Server Error — something went wrong on our end

Error Messages & Causes

HTTP StatusError MessageError CodeCause & Resolution
401 Missing or invalid API key. Pass via Authorization: Bearer <key>, X-Api-Key header, or ?api_key= — No API key provided, key is too short (<32 chars), or key doesn't match any user. Check your key on the API page.
403 Account suspended — Your account status is not active. Contact support.
403 API access is not available on the Free plan. Upgrade to a paid plan to use the API. API_ACCESS_NOT_AVAILABLE You're on the Free plan. Upgrade to Personal, Mini, Professional, or Business.
403 Your plan has expired. Renew your plan to continue using the API. PLAN_EXPIRED Your paid plan has expired. Renew from the Plans page.
403 Server limit ({N}) reached for your {plan} plan — You've hit your plan's server limit. Upgrade or delete existing servers.
403 Monitor limit ({N}) reached for your {plan} plan — You've hit your plan's monitor limit. Upgrade or delete existing monitors.
404 Server not found — The server ID doesn't exist or belongs to another account.
404 Monitor not found — The monitor ID doesn't exist or belongs to another account.
404 Unknown resource '{resource}'. Valid: servers, monitors, incidents — You passed an invalid resource parameter. Use servers, monitors, or incidents.
405 Method not allowed — The HTTP method isn't supported for this resource. E.g. DELETE on incidents, or POST without an ID.
429 Rate limit exceeded. Max 1000 requests/hour. — You've made more than 1000 API calls in the past hour. Wait for the window to reset or contact support for a higher limit.
400 name is required (max 100 chars) — Missing name field in POST/PUT body, or name exceeds 100 characters.
400 url is required — Missing url field when creating a monitor.
400 invalid type. Valid: http, https, ping, port, keyword, dns, ssl — The type field doesn't match one of the supported monitor types.
400 No valid fields to update — PUT request body is empty or contains no recognized fields.

Next Steps