Customer API / Troubleshooting

Resolve Customer API errors

Start with the status and visible problem response, correct the request or access policy, and retry only when appropriate.

In this article

Read the response

Validation and rate-limit failures use a JSON problem response with title, status, and detail. Authentication and authorization responses can contain less detail by design. Use the status first, then apply the customer action in this table.

Status Meaning Action
400 The request is malformed or its parameters conflict. Read detail; check required timestamps, hierarchy combinations, repeated-filter count, positive numeric values, and cursor use.
401 The access token could not be accepted or its certificate binding was not satisfied. Request a new access token. On the mTLS endpoint, also verify the enrolled certificate is presented.
403 The credential does not permit the requested scope, source, site, line, filter, or interval. Rerun discovery and compare the request with the returned hierarchy, capabilities, and limits.
404 The route is unavailable. Confirm the production base URL and documented endpoint path. Escalate if a previously working route remains unavailable.
429 The daily request allowance is exhausted. Honor Retry-After and RateLimit-Reset; do not retry continuously.
500 The request could not be completed. Retry a bounded number of times with exponential backoff.
503 A required service is temporarily unavailable. Retry with exponential backoff and jitter.

Resolve a 403 response

Call discovery with the same credential. Confirm that the requested resource is listed, the site and narrower hierarchy identifiers are returned together, the source and filters are supported, and the time range is within the effective limits. Do not guess identifiers from Dashboard URLs or another integration.

If discovery itself returns 403, review the integration's active state, credential state, scopes, customer ownership, site and line restrictions, and enabled data sources with your Wavac account administrator.

Retry safely

Retry only 429, 500, and 503 responses unless the problem detail explicitly states otherwise. Keep the same query and cursor, apply the server's delay when provided, and stop after a bounded number of attempts. Surface the failure instead of retrying indefinitely.

Correct 400, 401, 403, and 404 conditions before sending the request again. Repeating an unchanged permanent failure consumes allowance without changing the outcome.

Escalate without exposing secrets

When requesting help, include the UTC timestamp, method and endpoint without sensitive query values, HTTP status, problem title, and response correlation identifier. Never include a bearer token, private key, client certificate package, generated Postman ZIP, or customer payload.