KosmoKrator

data

FRED Lua API for KosmoKrator Agents

Agent-facing Lua documentation and function reference for the FRED KosmoKrator integration.

Lua Namespace

Agents call this integration through app.integrations.fred.*. Use lua_read_doc("integrations.fred") inside KosmoKrator to discover the same reference at runtime.

Call Lua from the Headless CLI

Use kosmo integrations:lua when a shell script, CI job, cron job, or another coding CLI should run a deterministic FRED workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.fred.category({}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("fred"))' --json
kosmo integrations:lua --eval 'print(docs.read("fred.category"))' --json

Workflow file

Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.

workflow.lua
local fred = app.integrations.fred
local result = fred.category({})

dump(result)
Run the workflow
kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json
Namespace note. integrations:lua exposes app.integrations.fred, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.fred.default.* or app.integrations.fred.work.* when you configured named credential accounts.

MCP-only Lua

If the script only needs configured MCP servers and does not need FRED, use the narrower mcp:lua command.

MCP Lua command
# Use mcp:lua for MCP-only scripts; use integrations:lua for this integration namespace.
kosmo mcp:lua --eval 'dump(mcp.servers())' --json

Agent-Facing Lua Docs

This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.

FRED

Namespace: fred

Use this integration to browse Federal Reserve Economic Data categories, releases, sources, tags, series metadata, observations, and vintage dates.

Authentication

FRED requires an API key. Configure api_key once; tools add it to requests as the FRED api_key query parameter and request JSON responses with file_type=json.

Tool Groups

  • Categories: fred_category, fred_category_children, fred_category_related, fred_category_series, fred_category_tags, fred_category_related_tags.
  • Releases: fred_releases, fred_releases_dates, fred_release, fred_release_dates, fred_release_series, fred_release_sources, fred_release_tags, fred_release_related_tags, fred_release_tables.
  • Series: fred_series, fred_series_categories, fred_series_observations, fred_series_release, fred_series_search, fred_series_search_tags, fred_series_search_related_tags, fred_series_tags, fred_series_updates, fred_series_vintagedates.
  • Sources: fred_sources, fred_source, fred_source_releases.
  • Tags: fred_tags, fred_related_tags, fred_tags_series.

Return Notes

Responses keep FRED’s upstream JSON shape. The integration does not rename fields such as seriess, observations, categories, releases, tags, sources, release_dates, or vintage_dates.

Use FRED’s semicolon-separated tag syntax for tag_names and exclude_tag_names, for example usa;monthly. Use comma-separated vintage_dates for series observations.

Examples

local matches = tools.fred_series_search({
  search_text = "unemployment rate",
  limit = 5,
  order_by = "popularity",
  sort_order = "desc"
})

local observations = tools.fred_series_observations({
  series_id = "UNRATE",
  observation_start = "2020-01-01",
  observation_end = "2026-01-01",
  units = "lin"
})

local categorySeries = tools.fred_category_series({
  category_id = 125,
  tag_names = "usa;monthly",
  limit = 10
})
Raw agent markdown
# FRED

Namespace: `fred`

Use this integration to browse Federal Reserve Economic Data categories,
releases, sources, tags, series metadata, observations, and vintage dates.

## Authentication

FRED requires an API key. Configure `api_key` once; tools add it to requests as
the FRED `api_key` query parameter and request JSON responses with
`file_type=json`.

## Tool Groups

- Categories: `fred_category`, `fred_category_children`,
  `fred_category_related`, `fred_category_series`, `fred_category_tags`,
  `fred_category_related_tags`.
- Releases: `fred_releases`, `fred_releases_dates`, `fred_release`,
  `fred_release_dates`, `fred_release_series`, `fred_release_sources`,
  `fred_release_tags`, `fred_release_related_tags`, `fred_release_tables`.
- Series: `fred_series`, `fred_series_categories`,
  `fred_series_observations`, `fred_series_release`, `fred_series_search`,
  `fred_series_search_tags`, `fred_series_search_related_tags`,
  `fred_series_tags`, `fred_series_updates`, `fred_series_vintagedates`.
- Sources: `fred_sources`, `fred_source`, `fred_source_releases`.
- Tags: `fred_tags`, `fred_related_tags`, `fred_tags_series`.

## Return Notes

Responses keep FRED's upstream JSON shape. The integration does not rename
fields such as `seriess`, `observations`, `categories`, `releases`, `tags`,
`sources`, `release_dates`, or `vintage_dates`.

Use FRED's semicolon-separated tag syntax for `tag_names` and
`exclude_tag_names`, for example `usa;monthly`. Use comma-separated
`vintage_dates` for series observations.

## Examples

```lua
local matches = tools.fred_series_search({
  search_text = "unemployment rate",
  limit = 5,
  order_by = "popularity",
  sort_order = "desc"
})

local observations = tools.fred_series_observations({
  series_id = "UNRATE",
  observation_start = "2020-01-01",
  observation_end = "2026-01-01",
  units = "lin"
})

local categorySeries = tools.fred_category_series({
  category_id = 125,
  tag_names = "usa;monthly",
  limit = 10
})
```
Metadata-derived Lua example
local result = app.integrations.fred.category({})
print(result)

Functions

category Read

Get a FRED category.

Lua path
app.integrations.fred.category
Full name
fred.fred_category
ParameterTypeRequiredDescription
No parameters.
category_children Read

Get child categories for a parent category.

Lua path
app.integrations.fred.category_children
Full name
fred.fred_category_children
ParameterTypeRequiredDescription
No parameters.
category_series Read

Get series in a category.

Lua path
app.integrations.fred.category_series
Full name
fred.fred_category_series
ParameterTypeRequiredDescription
No parameters.
category_tags Read

Get tags for a category.

Lua path
app.integrations.fred.category_tags
Full name
fred.fred_category_tags
ParameterTypeRequiredDescription
No parameters.
releases Read

Get all releases of economic data.

Lua path
app.integrations.fred.releases
Full name
fred.fred_releases
ParameterTypeRequiredDescription
No parameters.
releases_dates Read

Get release dates for all releases.

Lua path
app.integrations.fred.releases_dates
Full name
fred.fred_releases_dates
ParameterTypeRequiredDescription
No parameters.
release Read

Get one release of economic data.

Lua path
app.integrations.fred.release
Full name
fred.fred_release
ParameterTypeRequiredDescription
No parameters.
release_dates Read

Get release dates for one release.

Lua path
app.integrations.fred.release_dates
Full name
fred.fred_release_dates
ParameterTypeRequiredDescription
No parameters.
release_series Read

Get series on a release.

Lua path
app.integrations.fred.release_series
Full name
fred.fred_release_series
ParameterTypeRequiredDescription
No parameters.
release_sources Read

Get sources for a release.

Lua path
app.integrations.fred.release_sources
Full name
fred.fred_release_sources
ParameterTypeRequiredDescription
No parameters.
release_tags Read

Get tags for a release.

Lua path
app.integrations.fred.release_tags
Full name
fred.fred_release_tags
ParameterTypeRequiredDescription
No parameters.
release_tables Read

Get release tables for a release.

Lua path
app.integrations.fred.release_tables
Full name
fred.fred_release_tables
ParameterTypeRequiredDescription
No parameters.
series Read

Get an economic data series.

Lua path
app.integrations.fred.series
Full name
fred.fred_series
ParameterTypeRequiredDescription
No parameters.
series_categories Read

Get categories for a series.

Lua path
app.integrations.fred.series_categories
Full name
fred.fred_series_categories
ParameterTypeRequiredDescription
No parameters.
series_observations Read

Get observations for a series.

Lua path
app.integrations.fred.series_observations
Full name
fred.fred_series_observations
ParameterTypeRequiredDescription
No parameters.
series_release Read

Get the release for a series.

Lua path
app.integrations.fred.series_release
Full name
fred.fred_series_release
ParameterTypeRequiredDescription
No parameters.
series_search_tags Read

Get tags for a series search.

Lua path
app.integrations.fred.series_search_tags
Full name
fred.fred_series_search_tags
ParameterTypeRequiredDescription
No parameters.
series_tags Read

Get tags for a series.

Lua path
app.integrations.fred.series_tags
Full name
fred.fred_series_tags
ParameterTypeRequiredDescription
No parameters.
series_updates Read

Get series sorted by latest FRED server updates.

Lua path
app.integrations.fred.series_updates
Full name
fred.fred_series_updates
ParameterTypeRequiredDescription
No parameters.
series_vintage_dates Read

Get vintage dates for a series.

Lua path
app.integrations.fred.series_vintage_dates
Full name
fred.fred_series_vintagedates
ParameterTypeRequiredDescription
No parameters.
sources Read

Get all sources of economic data.

Lua path
app.integrations.fred.sources
Full name
fred.fred_sources
ParameterTypeRequiredDescription
No parameters.
source Read

Get one source of economic data.

Lua path
app.integrations.fred.source
Full name
fred.fred_source
ParameterTypeRequiredDescription
No parameters.
source_releases Read

Get releases for a source.

Lua path
app.integrations.fred.source_releases
Full name
fred.fred_source_releases
ParameterTypeRequiredDescription
No parameters.
tags Read

Get all tags, search tags, or get tags by name.

Lua path
app.integrations.fred.tags
Full name
fred.fred_tags
ParameterTypeRequiredDescription
No parameters.
tags_series Read

Get series matching tags.

Lua path
app.integrations.fred.tags_series
Full name
fred.fred_tags_series
ParameterTypeRequiredDescription
No parameters.