feat(item): add Open Finance resources endpoint and Item fields - #111
Merged
Merged
Conversation
Mirrors what the API exposes about the resources a financial
institution declares for an item's Open Finance consent.
- GET /items/{id}/resources as getItemResources(itemId) and
getItemResources(itemId, ItemResourcesSearchRequest), paginated like the
other list endpoints (page, pageSize) plus an optional status filter.
Items on connectors other than Open Finance return an empty page, not an
error.
- ItemResponse.resourcesCollectedAt: when the institution's resource list
was last read, null if it never was. An empty resources page means the
institution shared nothing only when this is set.
- ItemResponse.hasResourcesPendingAuthorization: true when the institution
declares at least one resource PENDING_AUTHORISATION, i.e. the user still
has to approve it at their bank. Always false for other connectors.
`status` is an enum (ItemResourceStatus) following the existing
@SerializedName pattern, keeping Open Finance's British spelling of
PENDING_AUTHORISATION verbatim; a status added after this release
deserializes as null. `type` stays a String: values outside the documented
list can appear, and an enum would turn them into null instead of passing
them through.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The API reports null while the institution's resource list has not been read yet, and for connectors other than Open Finance. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cernadasjuan
marked this pull request as ready for review
September 29, 2026 17:35
Minor: feat commits since v1.13.0 (health.incidents and the item resources endpoint and fields). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds SDK support for the resources a financial institution declares for an item's Open Finance consent.
GET /items/{id}/resources:service().getItemResources(itemId)service().getItemResources(itemId, new ItemResourcesSearchRequest().page(1).pageSize(100).status(ItemResourceStatus.PENDING_AUTHORISATION))ItemResourcesResponse(page,total,totalPages,results), each result anItemResourcewithresourceId,typeandstatus.ItemResponsefields:resourcesCollectedAt(Date, nullable) — when the institution's resource list was last read;nullif it never was. An empty resources page means the institution shared nothing only when this is set.hasResourcesPendingAuthorization(Boolean, nullable) — Open Finance only.truewhen the institution declares at least one resourcePENDING_AUTHORISATION(the user still has to approve it at their bank),falsewhen the resource list was read and none is.nullfor connectors other than Open Finance, and while the resource list has not been read yet (resourcesCollectedAtisnull), e.g. before the item's first execution finishes.Modeling notes
statusis an enum,ItemResourceStatus(AVAILABLE,UNAVAILABLE,TEMPORARILY_UNAVAILABLE,PENDING_AUTHORISATION), following the existing@SerializedNameenum pattern.PENDING_AUTHORISATIONkeeps Open Finance's British spelling. As with every enum in this SDK, a value added server-side later deserializes asnullrather than failing.typeis aString. The documented values are listed in the Javadoc, but other values can appear, and an enum would silently turn them intonull.API availability
GET /items/{id}/resourcesandItem.resourcesCollectedAtare already in the public spec (https://api.pluggy.ai/oas3.json). Thestatusfilter andItem.hasResourcesPendingAuthorizationrequire the corresponding API release: before it, the API does not applystatus(it returns every resource) andhasResourcesPendingAuthorizationdeserializes asnull. Merge after that release.Tests
ItemResourcesTest, no network): request path and query params, page parsing, empty page, an undocumentedtypepassed through, an unknownstatusparsed asnullwithout throwing, and both newItemResponsefields.GetItemResourcesTest): a non-Open-Finance sandbox item returns an empty page; a non-existing item returns 404.mvn -B packageandmvn -B test(12 tests) pass locally.Release
Bumps
pom.xmlto 1.14.0 (minor:featcommits since v1.13.0, this one and the unreleasedhealth.incidentsfrom #110), so merging cuts thev1.14.0tag and GitHub Release. Publishing to GitHub Packages still has to be dispatched by hand after the merge:🤖 Generated with Claude Code