FRED · Capability
FRED API — Categories
FRED API — Categories. 6 operations. Lead operation: FRED Get a Category. Self-contained Naftiko capability covering one FRED business surface.
What You Can Do
GET
Getcategory
— FRED Get a Category
/v1/category
GET
Getcategorychildren
— FRED Get the Child Categories for a Category
/v1/category/children
GET
Getcategoryrelated
— FRED Get the Related Categories for a Category
/v1/category/related
GET
Getcategoryseries
— FRED Get the Series in a Category
/v1/category/series
GET
Getcategorytags
— FRED Get the Tags for a Category
/v1/category/tags
GET
Getcategoryrelatedtags
— FRED Get the Related Tags for a Category
/v1/category/related-tags
MCP Tools
get-category
FRED Get a Category
read-only
idempotent
get-child-categories-category
FRED Get the Child Categories for a Category
read-only
idempotent
get-related-categories-category
FRED Get the Related Categories for a Category
read-only
idempotent
get-series-category
FRED Get the Series in a Category
read-only
idempotent
get-tags-category
FRED Get the Tags for a Category
read-only
idempotent
get-related-tags-category
FRED Get the Related Tags for a Category
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: FRED API — Categories
description: 'FRED API — Categories. 6 operations. Lead operation: FRED Get a Category. Self-contained Naftiko capability covering one FRED business surface.'
tags:
- FRED
- FRED
- Categories
created: '2026-05-28'
modified: '2026-05-28'
binds:
- namespace: env
keys:
FRED_API_KEY: FRED_API_KEY
capability:
consumes:
- type: http
namespace: fred-categories
baseUri: https://api.stlouisfed.org/fred
description: FRED API — Categories business capability. Self-contained, no shared references.
authentication:
type: apikey
key: api_key
value: '{{env.FRED_API_KEY}}'
placement: query
resources:
- name: category
path: /category
operations:
- name: getCategory
method: GET
description: FRED Get a Category
inputParameters:
- name: api_key
in: query
type: string
required: true
description: 32-character lower-case alphanumeric FRED API key.
- name: file_type
in: query
type: string
required: false
description: Response format. xml (default) or json. The observations endpoint additionally accepts xlsx and csv.
- name: category_id
in: query
type: integer
required: true
description: Numeric ID of the FRED category to retrieve.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: category-children
path: /category/children
operations:
- name: getCategoryChildren
method: GET
description: FRED Get the Child Categories for a Category
inputParameters:
- name: api_key
in: query
type: string
required: true
description: 32-character lower-case alphanumeric FRED API key.
- name: file_type
in: query
type: string
required: false
description: Response format. xml (default) or json. The observations endpoint additionally accepts xlsx and csv.
- name: category_id
in: query
type: integer
required: true
description: Parent category ID.
- name: realtime_start
in: query
type: string
required: false
description: Start of the real-time period (YYYY-MM-DD). Defaults to today.
- name: realtime_end
in: query
type: string
required: false
description: End of the real-time period (YYYY-MM-DD). Defaults to today.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: category-related
path: /category/related
operations:
- name: getCategoryRelated
method: GET
description: FRED Get the Related Categories for a Category
inputParameters:
- name: api_key
in: query
type: string
required: true
description: 32-character lower-case alphanumeric FRED API key.
- name: file_type
in: query
type: string
required: false
description: Response format. xml (default) or json. The observations endpoint additionally accepts xlsx and csv.
- name: category_id
in: query
type: integer
required: true
description: The seed category ID.
- name: realtime_start
in: query
type: string
required: false
description: Start of the real-time period (YYYY-MM-DD). Defaults to today.
- name: realtime_end
in: query
type: string
required: false
description: End of the real-time period (YYYY-MM-DD). Defaults to today.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: category-series
path: /category/series
operations:
- name: getCategorySeries
method: GET
description: FRED Get the Series in a Category
inputParameters:
- name: api_key
in: query
type: string
required: true
description: 32-character lower-case alphanumeric FRED API key.
- name: file_type
in: query
type: string
required: false
description: Response format. xml (default) or json. The observations endpoint additionally accepts xlsx and csv.
- name: category_id
in: query
type: integer
required: true
description: The category to enumerate.
- name: realtime_start
in: query
type: string
required: false
description: Start of the real-time period (YYYY-MM-DD). Defaults to today.
- name: realtime_end
in: query
type: string
required: false
description: End of the real-time period (YYYY-MM-DD). Defaults to today.
- name: limit
in: query
type: integer
required: false
description: Maximum number of results to return (1–1000).
- name: offset
in: query
type: integer
required: false
description: Non-negative integer offset into the result set for pagination.
- name: order_by
in: query
type: string
required: false
description: Field to order series results by.
- name: sort_order
in: query
type: string
required: false
description: Sort order. asc (ascending, default) or desc (descending).
- name: filter_variable
in: query
type: string
required: false
description: Attribute to filter series results by.
- name: filter_value
in: query
type: string
required: false
description: Value of the filter_variable attribute to match.
- name: tag_names
in: query
type: string
required: false
description: Semicolon-separated list of tag names to require.
- name: exclude_tag_names
in: query
type: string
required: false
description: Semicolon-separated list of tag names to exclude.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: category-tags
path: /category/tags
operations:
- name: getCategoryTags
method: GET
description: FRED Get the Tags for a Category
inputParameters:
- name: api_key
in: query
type: string
required: true
description: 32-character lower-case alphanumeric FRED API key.
- name: file_type
in: query
type: string
required: false
description: Response format. xml (default) or json. The observations endpoint additionally accepts xlsx and csv.
- name: category_id
in: query
type: integer
required: true
description: The category to list tags for.
- name: realtime_start
in: query
type: string
required: false
description: Start of the real-time period (YYYY-MM-DD). Defaults to today.
- name: realtime_end
in: query
type: string
required: false
description: End of the real-time period (YYYY-MM-DD). Defaults to today.
- name: tag_names
in: query
type: string
required: false
description: Semicolon-separated list of tag names to require.
- name: tag_group_id
in: query
type: string
required: false
description: Group identifier for tags — freq, gen, geo, geot, rls, seas, src.
- name: search_text
in: query
type: string
required: false
description: Words to match against tag names and descriptions.
- name: limit
in: query
type: integer
required: false
description: Maximum number of results to return (1–1000).
- name: offset
in: query
type: integer
required: false
description: Non-negative integer offset into the result set for pagination.
- name: order_by
in: query
type: string
required: false
description: Field to order tag results by.
- name: sort_order
in: query
type: string
required: false
description: Sort order. asc (ascending, default) or desc (descending).
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: category-related-tags
path: /category/related_tags
operations:
- name: getCategoryRelatedTags
method: GET
description: FRED Get the Related Tags for a Category
inputParameters:
- name: api_key
in: query
type: string
required: true
description: 32-character lower-case alphanumeric FRED API key.
- name: file_type
in: query
type: string
required: false
description: Response format. xml (default) or json. The observations endpoint additionally accepts xlsx and csv.
- name: category_id
in: query
type: integer
required: true
description: Seed category.
- name: realtime_start
in: query
type: string
required: false
description: Start of the real-time period (YYYY-MM-DD). Defaults to today.
- name: realtime_end
in: query
type: string
required: false
description: End of the real-time period (YYYY-MM-DD). Defaults to today.
- name: tag_names
in: query
type: string
required: false
description: Semicolon-separated list of tag names to require.
- name: exclude_tag_names
in: query
type: string
required: false
description: Semicolon-separated list of tag names to exclude.
- name: tag_group_id
in: query
type: string
required: false
description: Group identifier for tags — freq, gen, geo, geot, rls, seas, src.
- name: search_text
in: query
type: string
required: false
description: Words to match against tag names and descriptions.
- name: limit
in: query
type: integer
required: false
description: Maximum number of results to return (1–1000).
- name: offset
in: query
type: integer
required: false
description: Non-negative integer offset into the result set for pagination.
- name: order_by
in: query
type: string
required: false
description: Field to order tag results by.
- name: sort_order
in: query
type: string
required: false
description: Sort order. asc (ascending, default) or desc (descending).
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
namespace: fred-categories-rest
port: 8080
description: REST adapter for FRED API — Categories. One Spectral-compliant resource per consumed operation, prefixed with /v1.
resources:
- path: /v1/category
name: category
description: REST surface for /category.
operations:
- method: GET
name: getCategory
description: FRED Get a Category
call: fred-categories.getCategory
with:
api_key: rest.api_key
file_type: rest.file_type
category_id: rest.category_id
outputParameters:
- type: object
mapping: $.
- path: /v1/category/children
name: category-children
description: REST surface for /category/children.
operations:
- method: GET
name: getCategoryChildren
description: FRED Get the Child Categories for a Category
call: fred-categories.getCategoryChildren
with:
api_key: rest.api_key
file_type: rest.file_type
category_id: rest.category_id
realtime_start: rest.realtime_start
realtime_end: rest.realtime_end
outputParameters:
- type: object
mapping: $.
- path: /v1/category/related
name: category-related
description: REST surface for /category/related.
operations:
- method: GET
name: getCategoryRelated
description: FRED Get the Related Categories for a Category
call: fred-categories.getCategoryRelated
with:
api_key: rest.api_key
file_type: rest.file_type
category_id: rest.category_id
realtime_start: rest.realtime_start
realtime_end: rest.realtime_end
outputParameters:
- type: object
mapping: $.
- path: /v1/category/series
name: category-series
description: REST surface for /category/series.
operations:
- method: GET
name: getCategorySeries
description: FRED Get the Series in a Category
call: fred-categories.getCategorySeries
with:
api_key: rest.api_key
file_type: rest.file_type
category_id: rest.category_id
realtime_start: rest.realtime_start
realtime_end: rest.realtime_end
limit: rest.limit
offset: rest.offset
order_by: rest.order_by
sort_order: rest.sort_order
filter_variable: rest.filter_variable
filter_value: rest.filter_value
tag_names: rest.tag_names
exclude_tag_names: rest.exclude_tag_names
outputParameters:
- type: object
mapping: $.
- path: /v1/category/tags
name: category-tags
description: REST surface for /category/tags.
operations:
- method: GET
name: getCategoryTags
description: FRED Get the Tags for a Category
call: fred-categories.getCategoryTags
with:
api_key: rest.api_key
file_type: rest.file_type
category_id: rest.category_id
realtime_start: rest.realtime_start
realtime_end: rest.realtime_end
tag_names: rest.tag_names
tag_group_id: rest.tag_group_id
search_text: rest.search_text
limit: rest.limit
offset: rest.offset
order_by: rest.order_by
sort_order: rest.sort_order
outputParameters:
- type: object
mapping: $.
- path: /v1/category/related-tags
name: category-related-tags
description: REST surface for /category/related_tags.
operations:
- method: GET
name: getCategoryRelatedTags
description: FRED Get the Related Tags for a Category
call: fred-categories.getCategoryRelatedTags
with:
api_key: rest.api_key
file_type: rest.file_type
category_id: rest.category_id
realtime_start: rest.realtime_start
realtime_end: rest.realtime_end
tag_names: rest.tag_names
exclude_tag_names: rest.exclude_tag_names
tag_group_id: rest.tag_group_id
search_text: rest.search_text
limit: rest.limit
offset: rest.offset
order_by: rest.order_by
sort_order: rest.sort_order
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: fred-categories-mcp
port: 9090
transport: http
description: MCP adapter for FRED API — Categories. One tool per consumed operation, routed inline through this capability's consumes block.
tools:
- name: get-category
description: FRED Get a Category
hints:
readOnly: true
destructive: false
idempotent: true
call: fred-categories.getCategory
with:
api_key: tools.api_key
file_type: tools.file_type
category_id: tools.category_id
outputParameters:
- type: object
mapping: $.
- name: get-child-categories-category
description: FRED Get the Child Categories for a Category
hints:
readOnly: true
destructive: false
idempotent: true
call: fred-categories.getCategoryChildren
with:
api_key: tools.api_key
file_type: tools.file_type
category_id: tools.category_id
realtime_start: tools.realtime_start
realtime_end: tools.realtime_end
outputParameters:
- type: object
mapping: $.
- name: get-related-categories-category
description: FRED Get the Related Categories for a Category
hints:
readOnly: true
destructive: false
idempotent: true
call: fred-categories.getCategoryRelated
with:
api_key: tools.api_key
file_type: tools.file_type
category_id: tools.category_id
realtime_start: tools.realtime_start
realtime_end: tools.realtime_end
outputParameters:
- type: object
mapping: $.
- name: get-series-category
description: FRED Get the Series in a Category
hints:
readOnly: true
destructive: false
idempotent: true
call: fred-categories.getCategorySeries
with:
api_key: tools.api_key
file_type: tools.file_type
category_id: tools.category_id
realtime_start: tools.realtime_start
realtime_end: tools.realtime_end
limit: tools.limit
offset: tools.offset
order_by: tools.order_by
sort_order: tools.sort_order
filter_variable: tools.filter_variable
filter_value: tools.filter_value
tag_names: tools.tag_names
exclude_tag_names: tools.exclude_tag_names
outputParameters:
- type: object
mapping: $.
- name: get-tags-category
description: FRED Get the Tags for a Category
hints:
readOnly: true
destructive: false
idempotent: true
call: fred-categories.getCategoryTags
with:
api_key: tools.api_key
file_type: tools.file_type
category_id: tools.category_id
realtime_start: tools.realtime_start
realtime_end: tools.realtime_end
tag_names: tools.tag_names
tag_group_id: tools.tag_group_id
search_text: tools.search_text
limit: tools.limit
offset: tools.offset
order_by: tools.order_by
sort_order: tools.sort_order
outputParameters:
- type: object
mapping: $.
- name: get-related-tags-category
description: FRED Get the Related Tags for a Category
hints:
readOnly: true
destructive: false
idempotent: true
call: fred-categories.getCategoryRelatedTags
with:
api_key: tools.api_key
file_type: tools.file_type
category_id: tools.category_id
realtime_start: tools.realtime_start
realtime_end: tools.realtime_end
tag_names: tools.tag_names
exclude_tag_names: tools.exclude_tag_names
tag_group_id: tools.tag_group_id
search_text: tools.search_text
limit: tools.limit
offset: tools.offset
order_by: tools.order_by
sort_order: tools.sort_order
outputParameters:
- type: object
mapping: $.