Skip to main content
Handle every response by status code and content type. Do not treat a failed response as a successful result.

Handle the response

Distinguish response bodies and diagnostics

For 400, 401, 422, and default application errors, Immoteur returns application/problem+json Problem Details. Record the traceId from the response body and the X-Trace-Id header when Immoteur emits them. Use the details to correct the request or access configuration rather than retrying unchanged input. For 403 and 404, verify the token’s access or the requested identifier and lookup target before sending a new request. Do not assume a particular response body or trace header for these responses. For 409, Immoteur returns application/json with a message, configurationUrl, and documentationUrl. Follow the configuration URL or open API → Data Access in the Immoteur dashboard to configure the missing data access, then send a new request. Do not expect Problem Details or a trace ID for this response. For 429, the body is application/json with { "message": "Too Many Requests" }. The rate-limit header values are ordered by second, minute, then day. Limits depend on your subscription, so read the response instead of hard-coding example values.

Read rate-limit and diagnostic headers

Retry temporary failures safely

A 503 limiter outage uses application/json with { "message": "Rate limit service unavailable" } and a Retry-After delay. Honor the delay before retrying; the current outage response uses one second. For other transient 5xx responses or network failures, use a bounded backoff and retry policy. Log any available trace IDs, status code, and request context so that a failed retry can be investigated. Do not retry 400, 401, 403, 409, 404, or 422 until you have taken the corrective action above. Use curl --include while integrating to inspect both headers and the response body:
For token and data-access setup, see API tokens and data access. For endpoint-specific errors, use the generated API reference.