- Docs
- Core Concepts
- Request tags
Request tags
Tags are short labels you attach to a request. They let you split your usage and spend by whatever matters to you: a feature of your product, an environment, one of your own customers. The cost of a request never changes; tags only say where it goes.
Send tags
Section titled “Send tags”Add the X-OVR-Tags header with a comma-separated list, or put a tags array in the request
body. With the OpenAI SDKs, pass the body field as an extra field:
curl https://<your-gateway>/v1/chat/completions \ -H "Authorization: Bearer $OVR_API_KEY" \ -H "Content-Type: application/json" \ -H "X-OVR-Tags: feature:chatbot,env:prod" \ -d '{"model": "gpt-4.1-mini", "messages": [{"role": "user", "content": "Hello"}]}'reply = client.chat.completions.create( model="gpt-4.1-mini", messages=[{"role": "user", "content": "Hello"}], extra_body={"tags": ["feature:chatbot", "env:prod"]},)const reply = await client.chat.completions.create({ model: "gpt-4.1-mini", messages: [{ role: "user", content: "Hello" }], // @ts-expect-error tags are an Open Vertex Router extension of the request body tags: ["feature:chatbot", "env:prod"],});Use one or the other for a given request, not both.
- Up to 10 tags per request. Extra tags are ignored; the request is still served and billed.
- A tag is at most 64 characters. Longer tags are ignored, not shortened.
- Case is kept:
Prodandprodare two different tags. - Any text works. A
key:valueconvention (env:prod,customer:acme,feature:search) keeps your reports readable. - Tags are metadata we store with the request. Do not put personal data in them: no names, emails or identifiers of people. The text of your messages is never stored; tags are.
Where tags show up
Section titled “Where tags show up”- Logs: a Tags column, a Tag filter, and the detail of each request.
- Statistics › Explore: group by Tag. A request with several tags counts under each of them, so the rows can add up to more than your total spend.
- CSV export of Logs: a
Tagscolumn, with tags separated by;.
Tags apply to the requests you send from now on. Earlier requests stay untagged and show as “No tag”.