← Files HoneycombARCHIVED FILE
references/genai-attributes-catalog.md
2.05 KB · Oct 3, 2026 · 06:08 UTC
# GenAI Attributes Catalog
Upstream reference for `gen_ai.*` semantic convention attributes (OTel Semantic
Conventions v1.40.0, Development status). For full attribute definitions, types, and
examples, see the upstream docs linked below.
## Upstream Semantic Convention Pages
- **Attribute registry**: https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/
- **Model spans (chat, embeddings, etc.)**: https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-spans/
- **Agent spans (invoke_agent, execute_tool)**: https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-agent-spans/
- **Events (input/output messages, tool calls)**: https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-events/
- **Metrics**: https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-metrics/
- **MCP spans and metrics**: https://opentelemetry.io/docs/specs/semconv/gen-ai/mcp/
### Provider-Specific Extensions
- **Anthropic**: https://opentelemetry.io/docs/specs/semconv/gen-ai/anthropic/
- **OpenAI**: https://opentelemetry.io/docs/specs/semconv/gen-ai/openai/
- **AWS Bedrock**: https://opentelemetry.io/docs/specs/semconv/gen-ai/aws-bedrock/
- **Azure AI**: https://opentelemetry.io/docs/specs/semconv/gen-ai/azure-ai-inference/
## Message JSON Schema
Content attributes (`gen_ai.input.messages`, `gen_ai.output.messages`) use this JSON
structure:
```json
[
{
"role": "user",
"parts": [
{"type": "text", "text": "What's the weather?"}
]
},
{
"role": "assistant",
"parts": [
{"type": "tool_call", "id": "call_123", "name": "get_weather", "arguments": "{\"city\":\"NYC\"}"}
]
},
{
"role": "tool",
"parts": [
{"type": "tool_call_response", "id": "call_123", "response": "{\"temp\":72}"}
]
},
{
"role": "assistant",
"parts": [
{"type": "text", "text": "It's 72°F in NYC."}
]
}
]
```
Part types: `text`, `tool_call`, `tool_call_response`, `reasoning`.
**Note on `tool_call_response`**: Use the `response` field (not `content`) for the tool
result. The `content` field is reserved for `text` parts.
SHA-256: 5b0c50e557861fc5a66fe9fa1f240f7f7aedd44a8150fb420871bd49db09bf48