Deterministic series selection by facets
Changed onThe series matching a facet selection - the same set every time, no text-match luck. Combine exact tags (tags=bis;france) with validated named facets: geo=, source=, frequency=, seasonality=, concept= (a value in the wrong facet is refused with the right one named). q= keeps a free-text constraint: the same q you faceted with on /api/v1/macro/facets, so counts seen there stay true here. exclude= removes tags; /api/v1/macro/facets shows what exists. Fetch any returned series from /api/v1/fred/series/{series_id}. TITLES ARE NOT UNIQUE - read units before choosing between identically titled series. Page with the returned next_offset, never your own arithmetic: later waves may annotate and filter rows, and next_offset is the upstream continuation point that stays correct.
Request
- Base URL: https://sugra.ai
- URL: https://sugra.ai/api/v1/macro/series
- Auth: API key in header x-api-key
Query parameters
Exact tag tokens, semicolon- or comma-joined. Unknown tags reach FRED and come back as 400 naming the offender.
Free-text constraint carried over from /macro/facets?q=... - keeps the selection inside that search.
Tags to exclude.
Country/region facet value.
Originator facet value.
Frequency facet value.
Seasonality facet value.
Concept facet value(s), comma-joined.
Filter by measure: index, level, money, money_saar, rate_pct, spread_pct, count, growth_pct, share_pct, ratio, price. Every row carries measure regardless; rows dropped by this filter are counted in filtered_out_by_measure. ambiguous and unclassified are visible values a concrete filter excludes.
popularity: most-used first. series_id: stable alphabetical, best for full walks.
Series per page (upstream ceiling, measured).
Upstream offset. Use the next_offset from the previous response.
Response
Matching series with units, frequency and popularity.
Example response
{
"meta": {
"endpoint": "/api/v1/fred/us/cpi",
"data_time": "2026-04-16T14:30:00Z",
"response_time": "2026-04-16T14:30:12Z",
"provider": "Sugra API v1.0.1",
"data_age_days": 8.532,
"source": "sugra_crypto",
"attribution": "Short interest and Reg SHO daily short volume data is owned by and sourced from FINRA (Financial Industry Regulatory Authority).",
"fallback_chain": [
"sugra_crypto",
"sugra_finance"
],
"stale_since": "2026-09-08T12:00:00Z",
"period": "2026-Q1",
"notes": "the UKMTO report behind these counts is dated 2026-08-21 and is 11 days old"
}
}Changes
- breaking
added
subschema #2to the response bodyoneOflist for the response status - breaking
the response's body type changed from
objectto no type for status - breaking
removed the required property
from the response with the status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status - info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- breaking
- info
added the optional property
/to the response with the status
- info