> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.mangopay.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mangopay.com/_mcp/server.

# Java SDK - 2.63.0

May 4, 2026

## Added

### Added – `IdempotencyResponse.errorResource` for failed idempotent calls

When the original idempotent call ended in an error, `GET /idempotency/{key}` returns the API error body (e.g. `{"Message":"...","Type":"param_error","Id":"...","Date":...,"errors":{...}}`) inside the `Resource` field. The SDK previously tried to map that body onto the typed resource (e.g. `UserNatural`) inferred from `RequestURL`, silently producing a half-populated object and dropping the error details.

`IdempotencyResponse` now carries an `errorResource` (`ResponseException`), populated by `IdempotencyApiImpl.get(...)` whenever `StatusCode` is `4xx`/`5xx`. It mirrors the parsing in `RestTool` and exposes:

* `responseHttpCode` (from `StatusCode`)
* `apiMessage`, `type`, `id`, `date`
* `errors` (per-field validation messages)

The change is purely additive: existing fields and the `getResource()` behavior are unchanged. The field is `transient` so Gson does not reflect into `Throwable` internals (which would log "illegal reflective access" warnings on JDK 9+).