Dynamic Tags

Tag every LLM request, analyze usage your way

Add a request_tags array to any chat completion and FastRouter organizes usage by feature, customer, environment, team, or geography-filterable in the dashboard and captured in your activity logs, with no extra setup.

No credit card required · Free to start

Request inspector
POST /v1/chat/completions
200 OK
modelopenai/gpt-4o-mini
request_tags
feature/summary-widgetcustomer/acmeenv/production

Usage by tag

last 7 days
  • feature/summary-widget46%
  • customer/acme32%
  • env/production22%
Why Dynamic Tags

Usage attribution without the overhead

Label requests the moment you send them, then slice cost and usage by any dimension that matters-no new keys, no pipelines to maintain.

Tag at request time

Pass a request_tags array with any chat completion and it's tracked at the individual request level-no new API keys and no dashboard setup.

Flat or hierarchical

Use simple one-level tags like production, path-style hierarchies like team/feature/test, or mix both formats in the same request.

Filter & analyze anywhere

Tags become a dashboard filter and land in activity-log metadata, so you can slice usage and cost by any dimension you choose.

How it works

From tagged request to clear analytics

Tag a request, route it as usual, and FastRouter records every tag-ready to filter and report on across the dashboard and your activity logs.

Request

Tagged chat completion

request_tagsflathierarchical
  • Send any chat completion with a request_tags array.
  • Mix flat and path-style tags in the same call.

FastRouter

Gateway

Routes & metersRecords tagsNo extra setup
  • Routes the request and records every tag it carries.
  • Works with your existing API key-no new keys to manage.

Logs & analytics

Filter & report

Dashboard filterActivity logsUsage reports
  • Tags become a filter in the dashboard.
  • Stored in activity-log metadata for reporting.
Per-request tagging

Set tags inline on every request

request_tags is a simple array of strings you pass with any chat completion. There's nothing to provision-tag a call and it's instantly tracked at the request level.

One array, zero setup

Add a request_tags array of strings to any request-no new keys, no configuration, no pipelines to maintain.

Drops into your stack

request_tags is just another field on the OpenAI-compatible request body, so it works with your existing SDKs and keys.

Flat, nested, or mixed

Send simple tags like production or path-style tags like org/team/project-and combine them in the same call.

POST /api/v1/chat/completions
JSON
{
"model": "openai/gpt-4o-mini",
"stream": false,
"messages": [{ … }],
"temperature": 0.0,
"request_tags": ["UK/London", "Europe"]
}
Tags recorded with the requestFilterable in dashboard
Flat & hierarchical

Flat tags or nested hierarchies

Choose the structure that fits your reporting. Flat tags group quickly, while path-style tags let you roll usage up by any level of the path-and you can mix both in one request.

Flat tags

Simple one-level labels such as asia or production for fast, lightweight grouping.

Hierarchical paths

Path-style tags like team/feature/test roll usage up by any level of the hierarchy.

Mix both freely

Combine flat and nested tags in the same request_tags array-no rigid schema required.

Tag taxonomy

Mix & match

Flat tags

asiaproductionbeta

Hierarchical paths

  • customer/acme
  • org/team/project
  • US/California/SF
Filter & analyze

Filter and break down usage by tag

Tags surface as a dashboard filter and live in activity-log metadata, so you can isolate a feature, customer, or environment and attribute spend without juggling extra API keys.

Dashboard filter

Filter requests by tag right from the dashboard to isolate a single feature, customer, or environment.

Activity-log metadata

Every tag is stored in the metadata of your activity logs for granular tracking and auditing.

Usage reports

Organize cost and usage reports by tag-without provisioning and managing multiple API keys.

Activity logs

1 filter
request_tagscontainscustomer/acme
  • 09:41

    gpt-4o-mini

    customer/acmefeature/chat
    $0.42
  • 09:40

    claude-3.5-haiku

    customer/acmeenv/production
    $1.08
  • 09:38

    gpt-4o-mini

    customer/acmefeature/summary
    $0.31
128 requests matched$54.20 attributed
Tag formats

Pick the tag shape that fits your reporting

Flat, hierarchical, or both-every format travels in the same request_tags array and shows up the same way in filtering and logs.

Comparison of FastRouter dynamic tag formats
CapabilityFlatasiaHierarchicalorg/teamMixedboth
Tag structure
Simple one-level tagsIncludedNot includedIncluded
Path-style nested tagsNot includedIncludedIncluded
Flat and nested in one requestNot includedNot includedIncluded
Organize & analyze
Filter requests in the dashboardIncludedIncludedIncluded
Roll-up reporting by tag pathNot includedIncludedIncluded
Stored in activity-log metadataIncludedIncludedIncluded

All formats are passed in the same request_tags array-no extra configuration required.

Use cases

One tag, many ways to slice usage

From per-customer billing to feature-level cost tracking, dynamic tags turn raw request volume into the breakdowns your teams actually need.

Feature usage breakdown

Tag each feature like feature/summary-widget to see which ones drive the most tokens, latency, and spend.

Customer cost attribution

Attribute usage to customers or teams with tags like customer/acme for chargebacks and per-customer billing.

Environment segmentation

Separate production, staging, and experiments with tags like env/staging-no new API keys required.

Geo & team tracking

Break usage down by region or team using path-style tags like US/California/SF or marketing/email-gen.

FAQ

Dynamic tags, answered

Dynamic tags are custom labels you attach to individual requests with the request_tags parameter-an array of strings on the chat completions request. They enable tracking at the request level, so you can organize, filter, and analyze usage without changing how you call the API.

Include a request_tags array of strings in your chat completions request body, for example request_tags: ["UK/London", "Europe"]. Tags are set per request and work with your existing API key, so there's no extra setup or configuration.

Three formats: flat tags like ["asia", "production"], hierarchical path-style tags like ["USA/NYC", "org/team/project"], and a mix of both in the same request. Hierarchical paths let you roll usage up by any level of the path.

Tags are available in the dashboard as a filter and are stored in the metadata of your activity logs. That lets you group and filter requests by project, team, environment, or feature and build usage reports around them.

No. Dynamic tags let you track granular usage-by team, feature, customer, environment, or geography-without provisioning and managing multiple API keys. A single key plus tags is enough to attribute usage.

Common uses include cost allocation and team billing (customer/acme, env/staging), feature usage breakdowns (feature/summary-widget), team-level visibility (marketing/email-gen), and geo-based tracking (US/California/SF). Any dimension you can express as a tag becomes a way to slice your usage.

Start tagging your LLM usage today

Add request_tags to your next call and watch usage organize itself by feature, customer, environment, and team-no extra setup.