Handle the response
Distinguish response bodies and diagnostics
For400, 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
A503 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: