Sources define where your catalog’s operations come from. Filters control which operations are included. Together, they let you compose exactly the catalog you need.
A source is something your catalog pulls operations from:
Each source can include all operations or just a filtered subset.
The source’s operations become part of your catalog.
Filters narrow which operations a source contributes. All filters are optional.
Match operation IDs with glob patterns:
| Pattern | Matches |
|---|---|
* | All operations |
issues.* | issues.create, issues.list, issues.get |
repos.*.list | repos.branches.list, repos.commits.list |
*create* | Any operation with “create” in the name |
Match HTTP method and path:
| Pattern | Matches |
|---|---|
GET /* | All GET operations |
POST /v1/* | POST operations under /v1/ |
* /users/* | Any method under /users/ |
DELETE /* | All DELETE operations |
Match OpenAPI tags:
| Pattern | Matches |
|---|---|
payments | Operations tagged “payments” |
admin-* | Operations tagged “admin-users”, “admin-settings” |
*-read | Operations tagged “users-read”, “orders-read” |
When sourcing from a catalog that includes multiple APIs, filter by API name:
| Pattern | Matches |
|---|---|
github | Only GitHub operations |
stripe | Only Stripe operations |
Multiple filters on the same source combine with AND:
Source: GitHub Filters: - Operation pattern: issues.* - Endpoint pattern: POST /*
Result: Operations matching issues.* AND POST → issues.create (but not issues.list which is GET)Multiple sources combine with OR:
Source 1: GitHub Filter: tag = issues
Source 2: Stripe Filter: tag = customers
Result: GitHub issue operations OR Stripe customer operations → All matching operations from both sourcesAdd a source with no filters:
Source: GitHub APIFilters: (none)Result: All GitHub operations (thousands)Add filters to narrow scope:
Source: GitHub APIFilters: - Tag: issues - Endpoint: POST /*Result: Only GitHub operations for creating/updating issuesAdd multiple sources:
Source 1: Stripe API Filter: Tag = customersSource 2: HubSpot API Filter: Tag = contacts
Result: Stripe customers + HubSpot contactsSource a catalog to inherit its composition:
Source: company/core-apis (catalog)Filters: (none)
Result: Everything in the core-apis catalogThen add additional sources for this catalog’s unique operations.
Source a broad catalog, then filter:
Source: company/all-apis (catalog)Filters: - Tag: read-only
Result: Only read operations from all-apisBefore saving a source, preview what operations will be included:
Changes take effect after the catalog reindexes.
Operations from that source are removed from your catalog.
Sources are processed in order, but order doesn’t affect the final result—all matching operations are included regardless of source order.
Source 1: GitHub API Filters: Tags = repos, pulls, issues
Source 2: AWS API Filters: Tags = ec2, s3, lambda
Source 3: Cloudflare API Filters: (none - include all)Source 1: company/full-catalog Filters: Endpoint = GET /*Source 1: company/internal-apis Filters: - Tag = public-api - Operation = *.list, *.get