Problem
The proxy used to support fan-out structure queries: a request to
/structure/{type}/*/*/* would be issued in parallel to every configured
registry and the parsed structures merged into a single response. That path
was removed in March 2026 in favour of the /structure/agencyscheme
discovery endpoint plus explicit single-registry routing; today agencyID="*"
is rejected with HTTP 501 by UnsupportedAgencyWildcardException.
The use case has come back: clients that want "everything from everywhere"
without first walking the agency scheme. The discovery-then-query workflow
is fine for some integrations but is awkward for ad-hoc exploration and for
StatGPT prompts that just want a single broad listing.
Goal
Bring fan-out back for the wildcard agency case (agencyID="*") behind an
opt-in ProxyConfiguration.structureFanOutEnabled toggle, defaulting to
false so existing deployments keep the current 501 contract. Comma-separated
agency lists (e.g. BIS,IMF) stay rejected for now -- they need an "agency
in any registry" discovery path that the current AgencyRoutingService does
not expose, and that is a larger change to scope separately.
Design
See docs/designs/023-structure-fan-out-feature-toggle/DESIGN.md.
Problem
The proxy used to support fan-out structure queries: a request to
/structure/{type}/*/*/*would be issued in parallel to every configuredregistry and the parsed structures merged into a single response. That path
was removed in March 2026 in favour of the
/structure/agencyschemediscovery endpoint plus explicit single-registry routing; today
agencyID="*"is rejected with HTTP 501 by
UnsupportedAgencyWildcardException.The use case has come back: clients that want "everything from everywhere"
without first walking the agency scheme. The discovery-then-query workflow
is fine for some integrations but is awkward for ad-hoc exploration and for
StatGPT prompts that just want a single broad listing.
Goal
Bring fan-out back for the wildcard agency case (
agencyID="*") behind anopt-in
ProxyConfiguration.structureFanOutEnabledtoggle, defaulting tofalseso existing deployments keep the current 501 contract. Comma-separatedagency lists (e.g.
BIS,IMF) stay rejected for now -- they need an "agencyin any registry" discovery path that the current
AgencyRoutingServicedoesnot expose, and that is a larger change to scope separately.
Design
See
docs/designs/023-structure-fan-out-feature-toggle/DESIGN.md.