Skip to main content

Request tagging

Attach custom key-value tags to individual requests using the Databricks-Ai-Gateway-Request-Tags HTTP header. Unity Gateway logs request tags to the request_tags column in both the usage tracking system table and inference tables, enabling you to track costs, attribute usage, and filter analytics by project, team, environment, or another dimension.

The header value must be a JSON object mapping string keys to string values. For example:

JSON
{ "project": "chatbot", "team": "ml-platform", "environment": "production" }

Tag a model service request​

Use the extra_headers parameter (Python) or pass the header directly (REST API) to attach tags to a model service request:

Python
from openai import OpenAI
import json
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)

request_tags = {"project": "chatbot", "team": "ml-platform"}

chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "content": "What is Databricks?"},
],
model="<model-service>",
max_tokens=256,
extra_headers={
"Databricks-Ai-Gateway-Request-Tags": json.dumps(request_tags)
}
)

Replace <workspace-url> with your Databricks workspace URL and <model-service> with the fully qualified name of your model service.

Tag a model provider service request​

When you query a model provider service directly, send the tags header alongside the Databricks-Model-Provider-Service header:

Python
from openai import OpenAI
import json

client = OpenAI(
api_key="<databricks-token>",
base_url="https://<workspace-url>/ai-gateway/openai/v1",
default_headers={"Databricks-Model-Provider-Service": "main.default.openai_prod"},
)

request_tags = {"project": "chatbot", "team": "ml-platform"}

response = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "What is Databricks?"}],
extra_headers={"Databricks-Ai-Gateway-Request-Tags": json.dumps(request_tags)},
)