NAME
WWW::Bund::Registry - API registry and endpoint catalog
VERSION
version 0.001
SYNOPSIS
use WWW::Bund::Registry;
my $registry = WWW::Bund::Registry->new(
registry_file => 'share/registry.yml',
endpoints_file => 'share/endpoints.yml',
);
# List all APIs
my $all = $registry->list;
my $traffic = $registry->list(tag => 'traffic');
my $public = $registry->list(auth => 'none');
# Search APIs
my $results = $registry->search('autobahn');
# Get API info
my $info = $registry->info('autobahn');
# Get endpoint
my $ep = $registry->endpoint('autobahn_roads');
# List endpoints for API
my $endpoints = $registry->endpoints_for_api('autobahn');
DESCRIPTION
Loads and indexes API and endpoint metadata from YAML files. The registry contains 31 APIs, and the endpoint catalog defines 78 endpoints across implemented APIs.
registry_file
Path to registry YAML file. Defaults to share/registry.yml from distribution.
endpoints_file
Path to endpoints YAML file. Defaults to share/endpoints.yml from distribution.
list
my $apis = $registry->list;
my $apis = $registry->list(tag => 'traffic');
my $apis = $registry->list(auth => 'none');
List all APIs, optionally filtered by tag or auth type. Returns ArrayRef of API metadata HashRefs (id, title, provider, auth, tags, etc.).
search
my $results = $registry->search('autobahn');
Search for APIs by substring match (case-insensitive) in ID, title, provider, or tags. Returns ArrayRef of matching APIs.
info
my $info = $registry->info('autobahn');
Get full metadata for an API by ID. Returns HashRef with id, title, provider, auth, tags, docs_url, spec_url, rate_limit, etc.
Throws exception if API not found.
endpoint
my $ep = $registry->endpoint('autobahn_roads');
Get endpoint metadata by name. Returns HashRef with name, api, base_url, path, method, cache_ttl, query_params, etc.
Throws exception if endpoint not found.
endpoints_for_api
my $endpoints = $registry->endpoints_for_api('autobahn');
List all endpoints belonging to an API. Returns ArrayRef of endpoint HashRefs.
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/p5-www-bund/issues.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHOR
Torsten Raudssus <torsten@raudssus.de>
COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.