Ai Attributes

48 attributes in this category.48 deprecated

48 attributes

Deprecated Attributes

These attributes are deprecated and should not be used in new code. See each attribute for migration guidance.

ai.citationsDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

References or sources cited by the AI model in its response.

Example["Citation 1","Citation 2"]

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.citations",
  "brief": "References or sources cited by the AI model in its response.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "Citation 1",
    "Citation 2"
  ],
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.completion_tokens.usedDeprecated

integerScrub: ManualVisibility: PublicOTel: False

The number of tokens used to respond to the message.

Changelog
v0.4.0#228
v0.1.0#57#61
v0.0.0
Raw JSON
{
  "key": "ai.completion_tokens.used",
  "brief": "The number of tokens used to respond to the message.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 10,
  "deprecation": {
    "replacement": "gen_ai.usage.output_tokens",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.usage.output_tokens",
    "gen_ai.usage.completion_tokens"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        57,
        61
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.documentsDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

Documents or content chunks used as context for the AI model.

Example["document1.txt","document2.pdf"]

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.documents",
  "brief": "Documents or content chunks used as context for the AI model.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "document1.txt",
    "document2.pdf"
  ],
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.finish_reasonDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The reason why the model stopped generating.

ExampleCOMPLETE

Use gen_ai.response.finish_reasons instead.

Status: backfill

Changelog
Raw JSON
{
  "key": "ai.finish_reason",
  "brief": "The reason why the model stopped generating.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "COMPLETE",
  "deprecation": {
    "replacement": "gen_ai.response.finish_reasons",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.response.finish_reasons"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108,
        127
      ]
    }
  ]
}

ai.frequency_penaltyDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation.

Example0.5

Use gen_ai.request.frequency_penalty instead.

Status: backfill

Changelog
v0.4.0#228
Raw JSON
{
  "key": "ai.frequency_penalty",
  "brief": "Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 0.5,
  "deprecation": {
    "replacement": "gen_ai.request.frequency_penalty",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.frequency_penalty"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108
      ]
    }
  ]
}

ai.function_callDeprecated

stringScrub: AutoVisibility: PublicOTel: False

For an AI model call, the function that was called. This is deprecated for OpenAI, and replaced by tool_calls

Examplefunction_name

Use gen_ai.tool.name instead.

Status: backfill

Changelog
Raw JSON
{
  "key": "ai.function_call",
  "brief": "For an AI model call, the function that was called. This is deprecated for OpenAI, and replaced by tool_calls",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "function_name",
  "deprecation": {
    "replacement": "gen_ai.tool.name",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.tool.name",
    "mcp.tool.name"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108
      ]
    }
  ]
}

ai.generation_idDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Unique identifier for the completion.

Examplegen_123abc

Use gen_ai.response.id instead.

Status: backfill

Changelog
nextAdded ai.response.id as an alias
Raw JSON
{
  "key": "ai.generation_id",
  "brief": "Unique identifier for the completion.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "gen_123abc",
  "deprecation": {
    "replacement": "gen_ai.response.id",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.response.id",
    "ai.response.id"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added ai.response.id as an alias"
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108,
        127
      ]
    }
  ]
}

ai.input_messagesDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The input messages sent to the model

Example[{"role": "user", "message": "hello"}]

Use gen_ai.input.messages instead.

Status: backfill

Changelog
v0.1.0#65#119
v0.0.0
Raw JSON
{
  "key": "ai.input_messages",
  "brief": "The input messages sent to the model",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "[{\"role\": \"user\", \"message\": \"hello\"}]",
  "deprecation": {
    "replacement": "gen_ai.input.messages",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.messages"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        65,
        119
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.is_search_requiredDeprecated

booleanScrub: ManualVisibility: PublicOTel: False

Boolean indicating if the model needs to perform a search.

Examplefalse

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.is_search_required",
  "brief": "Boolean indicating if the model needs to perform a search.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": false,
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.metadataDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Extra metadata passed to an AI pipeline step.

Example{"user_id": 123, "session_id": "abc123"}

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55#127
Raw JSON
{
  "key": "ai.metadata",
  "brief": "Extra metadata passed to an AI pipeline step.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "{\"user_id\": 123, \"session_id\": \"abc123\"}",
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        127
      ]
    }
  ]
}

ai.model_idDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The vendor-specific ID of the model used.

Examplegpt-4

Use gen_ai.request.model instead.

Status: backfill

Changelog
nextAdded ai.model.id as an alias
v0.0.0
Raw JSON
{
  "key": "ai.model_id",
  "brief": "The vendor-specific ID of the model used.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "gpt-4",
  "deprecation": {
    "replacement": "gen_ai.request.model",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.model",
    "ai.model.id"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added ai.model.id as an alias"
    },
    {
      "version": "0.1.0",
      "prs": [
        57,
        61,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.model.idDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The id of the model used by the Vercel AI SDK.

Examplesgpt-4o

Use gen_ai.request.model instead.

This attribute is being deprecated in favor of gen_ai.request.model.

Status: backfill

Changelog
next#583Added ai.model.id attribute
Raw JSON
{
  "key": "ai.model.id",
  "brief": "The id of the model used by the Vercel AI SDK.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "gpt-4o"
  ],
  "deprecation": {
    "replacement": "gen_ai.request.model",
    "reason": "This attribute is being deprecated in favor of gen_ai.request.model.",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.model",
    "ai.model_id"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        583
      ],
      "description": "Added ai.model.id attribute"
    }
  ]
}

ai.model.providerDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The provider of the model.

Exampleopenai

Use gen_ai.provider.name instead.

Status: backfill

Changelog
v0.4.0#253
Raw JSON
{
  "key": "ai.model.provider",
  "brief": "The provider of the model.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "openai",
  "deprecation": {
    "replacement": "gen_ai.provider.name",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.provider.name",
    "gen_ai.system"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        253
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        57,
        61,
        108,
        127
      ]
    }
  ]
}

ai.pipeline.nameDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The name of the AI pipeline.

ExampleAutofix Pipeline

Use gen_ai.pipeline.name instead.

Status: backfill

Changelog
Raw JSON
{
  "key": "ai.pipeline.name",
  "brief": "The name of the AI pipeline.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Autofix Pipeline",
  "deprecation": {
    "replacement": "gen_ai.pipeline.name",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.pipeline.name"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        53,
        76,
        108,
        127
      ]
    }
  ]
}

ai.preambleDeprecated

stringScrub: AutoVisibility: PublicOTel: False

For an AI model call, the preamble parameter. Preambles are a part of the prompt used to adjust the model's overall behavior and conversation style.

ExampleYou are now a clown.

Use gen_ai.system_instructions instead.

Status: backfill

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.preamble",
  "brief": "For an AI model call, the preamble parameter. Preambles are a part of the prompt used to adjust the model's overall behavior and conversation style.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "You are now a clown.",
  "deprecation": {
    "replacement": "gen_ai.system_instructions",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.system_instructions"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.presence_penaltyDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies.

Example0.5

Use gen_ai.request.presence_penalty instead.

Status: backfill

Changelog
v0.4.0#228
Raw JSON
{
  "key": "ai.presence_penalty",
  "brief": "Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 0.5,
  "deprecation": {
    "replacement": "gen_ai.request.presence_penalty",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.presence_penalty"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108
      ]
    }
  ]
}

ai.promptDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The prompt passed to the Vercel AI SDK, as a stringified object.

Examples{"prompt":"What is the weather in Paris?"}

Use gen_ai.input.messages instead.

This attribute is being deprecated in favor of gen_ai.input.messages.

Status: backfill

Changelog
next#583Added ai.prompt attribute
Raw JSON
{
  "key": "ai.prompt",
  "brief": "The prompt passed to the Vercel AI SDK, as a stringified object.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "{\"prompt\":\"What is the weather in Paris?\"}"
  ],
  "deprecation": {
    "replacement": "gen_ai.input.messages",
    "reason": "This attribute is being deprecated in favor of gen_ai.input.messages.",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.input.messages",
    "ai.texts",
    "ai.prompt.messages",
    "gen_ai.prompt"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        583
      ],
      "description": "Added ai.prompt attribute"
    }
  ]
}

ai.prompt_tokens.usedDeprecated

integerScrub: ManualVisibility: PublicOTel: False

The number of tokens used to process just the prompt.

Changelog
v0.4.0#228
v0.1.0#57#61
v0.0.0
Raw JSON
{
  "key": "ai.prompt_tokens.used",
  "brief": "The number of tokens used to process just the prompt.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 20,
  "deprecation": {
    "replacement": "gen_ai.usage.input_tokens",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.usage.prompt_tokens",
    "gen_ai.usage.input_tokens"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        57,
        61
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.prompt.messagesDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The input messages sent to the AI model.

Example[{"role": "user", "message": "hello"}]

Use gen_ai.input.messages instead.

Status: backfill

Changelog
nextAdded ai.prompt as an alias
v0.19.0#498Added ai.prompt.messages attribute
Raw JSON
{
  "key": "ai.prompt.messages",
  "brief": "The input messages sent to the AI model.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "[{\"role\": \"user\", \"message\": \"hello\"}]",
  "deprecation": {
    "replacement": "gen_ai.input.messages",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.input.messages",
    "ai.texts",
    "gen_ai.prompt",
    "ai.prompt"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added ai.prompt as an alias"
    },
    {
      "version": "0.19.0",
      "prs": [
        498
      ],
      "description": "Added ai.prompt.messages attribute"
    }
  ]
}

ai.prompt.toolsDeprecated

string[]Scrub: ManualVisibility: PublicOTel: False

The tools made available to the model, as an array of stringified tool definitions.

Examples["{\"type\":\"function\",\"name\":\"get_weather\"}"]

Use gen_ai.tool.definitions instead.

This attribute is being deprecated in favor of gen_ai.tool.definitions.

Status: backfill

Changelog
next#583Added ai.prompt.tools attribute
Raw JSON
{
  "key": "ai.prompt.tools",
  "brief": "The tools made available to the model, as an array of stringified tool definitions.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    [
      "{\"type\":\"function\",\"name\":\"get_weather\"}"
    ]
  ],
  "deprecation": {
    "replacement": "gen_ai.tool.definitions",
    "reason": "This attribute is being deprecated in favor of gen_ai.tool.definitions.",
    "_status": "backfill"
  },
  "changelog": [
    {
      "version": "next",
      "prs": [
        583
      ],
      "description": "Added ai.prompt.tools attribute"
    }
  ]
}

ai.raw_promptingDeprecated

booleanScrub: ManualVisibility: PublicOTel: False

When enabled, the user’s prompt will be sent to the model without any pre-processing.

Exampletrue

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.raw_prompting",
  "brief": "When enabled, the user’s prompt will be sent to the model without any pre-processing.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": true,
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.response_formatDeprecated

stringScrub: ManualVisibility: PublicOTel: False

For an AI model call, the format of the response

Examplejson_object

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55#127
Raw JSON
{
  "key": "ai.response_format",
  "brief": "For an AI model call, the format of the response",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "json_object",
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        127
      ]
    }
  ]
}

ai.response.idDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The id of the response returned by the model.

Exampleschatcmpl-BuKJgVSKAMTUYbBSjHTMUuNGKzOPY

Use gen_ai.response.id instead.

This attribute is being deprecated in favor of gen_ai.response.id.

Status: backfill

Changelog
next#583Added ai.response.id attribute
Raw JSON
{
  "key": "ai.response.id",
  "brief": "The id of the response returned by the model.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "chatcmpl-BuKJgVSKAMTUYbBSjHTMUuNGKzOPY"
  ],
  "deprecation": {
    "replacement": "gen_ai.response.id",
    "reason": "This attribute is being deprecated in favor of gen_ai.response.id.",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.response.id",
    "ai.generation_id"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        583
      ],
      "description": "Added ai.response.id attribute"
    }
  ]
}

ai.response.modelDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The id of the model that produced the response.

Examplesgpt-4o-2024-08-06

Use gen_ai.response.model instead.

This attribute is being deprecated in favor of gen_ai.response.model.

Status: backfill

Changelog
next#583Added ai.response.model attribute
Raw JSON
{
  "key": "ai.response.model",
  "brief": "The id of the model that produced the response.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "gpt-4o-2024-08-06"
  ],
  "deprecation": {
    "replacement": "gen_ai.response.model",
    "reason": "This attribute is being deprecated in favor of gen_ai.response.model.",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.response.model"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        583
      ],
      "description": "Added ai.response.model attribute"
    }
  ]
}

ai.response.objectDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The type of the object returned by the model.

Exampleschat.completion

No replacement available at this time.

This attribute is deprecated. The Sentry conventions have no replacement for the raw Vercel AI response object type.

Changelog
next#583Added ai.response.object attribute
Raw JSON
{
  "key": "ai.response.object",
  "brief": "The type of the object returned by the model.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "chat.completion"
  ],
  "deprecation": {
    "reason": "This attribute is deprecated. The Sentry conventions have no replacement for the raw Vercel AI response object type.",
    "_status": null
  },
  "changelog": [
    {
      "version": "next",
      "prs": [
        583
      ],
      "description": "Added ai.response.object attribute"
    }
  ]
}

ai.response.textDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The text response from the AI model.

ExampleThe weather in Paris is currently rainy.

Use gen_ai.output.messages instead.

Status: backfill

Changelog
v0.19.0#498Added ai.response.text attribute
Raw JSON
{
  "key": "ai.response.text",
  "brief": "The text response from the AI model.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "The weather in Paris is currently rainy.",
  "deprecation": {
    "replacement": "gen_ai.output.messages",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.output.messages",
    "ai.response.toolCalls"
  ],
  "changelog": [
    {
      "version": "0.19.0",
      "prs": [
        498
      ],
      "description": "Added ai.response.text attribute"
    }
  ]
}

ai.response.timestampDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The ISO 8601 timestamp at which the response was produced.

Examples2026-02-19T15:32:11.000Z

No replacement available at this time.

This attribute is deprecated. The span start and end timestamps carry the same information.

Changelog
next#583Added ai.response.timestamp attribute
Raw JSON
{
  "key": "ai.response.timestamp",
  "brief": "The ISO 8601 timestamp at which the response was produced.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "2026-02-19T15:32:11.000Z"
  ],
  "deprecation": {
    "reason": "This attribute is deprecated. The span start and end timestamps carry the same information.",
    "_status": null
  },
  "changelog": [
    {
      "version": "next",
      "prs": [
        583
      ],
      "description": "Added ai.response.timestamp attribute"
    }
  ]
}

ai.response.toolCallsDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The tool calls in the AI model response.

Example[{"name": "get_weather", "arguments": {"location": "Paris"}}]

Use gen_ai.output.messages instead.

Status: backfill

Changelog
v0.19.0#498Added ai.response.toolCalls attribute
Raw JSON
{
  "key": "ai.response.toolCalls",
  "brief": "The tool calls in the AI model response.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "[{\"name\": \"get_weather\", \"arguments\": {\"location\": \"Paris\"}}]",
  "deprecation": {
    "replacement": "gen_ai.output.messages",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.output.messages",
    "ai.response.text"
  ],
  "changelog": [
    {
      "version": "0.19.0",
      "prs": [
        498
      ],
      "description": "Added ai.response.toolCalls attribute"
    }
  ]
}

ai.responsesDeprecated

string[]Scrub: ManualVisibility: PublicOTel: False

The response messages sent back by the AI model.

Example["hello","world"]

Use gen_ai.output.messages instead.

Status: backfill

Changelog
v0.1.0#65#127
v0.0.0
Raw JSON
{
  "key": "ai.responses",
  "brief": "The response messages sent back by the AI model.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "hello",
    "world"
  ],
  "deprecation": {
    "replacement": "gen_ai.output.messages",
    "_status": "backfill"
  },
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        65,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.schemaDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The stringified JSON schema the model output must conform to.

Examples{"type":"object","properties":{"city":{"type":"string"}}}

No replacement available at this time.

This attribute is deprecated. The Sentry conventions have no replacement for the requested output schema.

Changelog
next#583Added ai.schema attribute
Raw JSON
{
  "key": "ai.schema",
  "brief": "The stringified JSON schema the model output must conform to.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}}}"
  ],
  "deprecation": {
    "reason": "This attribute is deprecated. The Sentry conventions have no replacement for the requested output schema.",
    "_status": null
  },
  "changelog": [
    {
      "version": "next",
      "prs": [
        583
      ],
      "description": "Added ai.schema attribute"
    }
  ]
}

ai.search_queriesDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

Queries used to search for relevant context or documents.

Example["climate change effects","renewable energy"]

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.search_queries",
  "brief": "Queries used to search for relevant context or documents.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "climate change effects",
    "renewable energy"
  ],
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.search_resultsDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

Results returned from search queries for context.

Example["search_result_1, search_result_2"]

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.search_results",
  "brief": "Results returned from search queries for context.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "search_result_1, search_result_2"
  ],
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.seedDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The seed, ideally models given the same seed and same other parameters will produce the exact same output.

Example1234567890

Use gen_ai.request.seed instead.

Status: backfill

Changelog
Raw JSON
{
  "key": "ai.seed",
  "brief": "The seed, ideally models given the same seed and same other parameters will produce the exact same output.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "1234567890",
  "deprecation": {
    "replacement": "gen_ai.request.seed",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.seed"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108,
        127
      ]
    }
  ]
}

ai.streamingDeprecated

booleanScrub: ManualVisibility: PublicOTel: False

Whether the request was streamed back.

Exampletrue

Use gen_ai.response.streaming instead.

Status: backfill

Changelog
v0.1.0#76#108
v0.0.0
Raw JSON
{
  "key": "ai.streaming",
  "brief": "Whether the request was streamed back.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": true,
  "deprecation": {
    "replacement": "gen_ai.response.streaming",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.response.streaming"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        76,
        108
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.tagsDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Tags that describe an AI pipeline step.

Example{"executed_function": "add_integers"}

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55#127
Raw JSON
{
  "key": "ai.tags",
  "brief": "Tags that describe an AI pipeline step.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "{\"executed_function\": \"add_integers\"}",
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        127
      ]
    }
  ]
}

ai.temperatureDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.

Example0.1

Use gen_ai.request.temperature instead.

Status: backfill

Changelog
v0.4.0#228
Raw JSON
{
  "key": "ai.temperature",
  "brief": "For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 0.1,
  "deprecation": {
    "replacement": "gen_ai.request.temperature",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.temperature"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108
      ]
    }
  ]
}

ai.textsDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

Raw text inputs provided to the model.

Example["Hello, how are you?","What is the capital of France?"]

Use gen_ai.input.messages instead.

Status: backfill

Changelog
nextAdded ai.prompt as an alias
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.texts",
  "brief": "Raw text inputs provided to the model.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "Hello, how are you?",
    "What is the capital of France?"
  ],
  "deprecation": {
    "replacement": "gen_ai.input.messages",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.input.messages",
    "ai.prompt.messages",
    "gen_ai.prompt",
    "ai.prompt"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added ai.prompt as an alias"
    },
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.tool_callsDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

For an AI model call, the tool calls that were made.

Example["tool_call_1","tool_call_2"]

Use gen_ai.output.messages instead.

Status: backfill

Changelog
v0.1.0#55#65
Raw JSON
{
  "key": "ai.tool_calls",
  "brief": "For an AI model call, the tool calls that were made.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "tool_call_1",
    "tool_call_2"
  ],
  "deprecation": {
    "replacement": "gen_ai.output.messages",
    "_status": "backfill"
  },
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        55,
        65
      ]
    }
  ]
}

ai.toolCall.argsDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The arguments of the tool call.

Example{"location": "Paris"}

Use gen_ai.tool.call.arguments instead.

Status: backfill

Changelog
v0.19.0#498Added ai.toolCall.args attribute
Raw JSON
{
  "key": "ai.toolCall.args",
  "brief": "The arguments of the tool call.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "{\"location\": \"Paris\"}",
  "deprecation": {
    "replacement": "gen_ai.tool.call.arguments",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.tool.call.arguments",
    "gen_ai.tool.input"
  ],
  "changelog": [
    {
      "version": "0.19.0",
      "prs": [
        498
      ],
      "description": "Added ai.toolCall.args attribute"
    }
  ]
}

ai.toolCall.resultDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The result of the tool call.

Changelog
v0.19.0#498Added ai.toolCall.result attribute
Raw JSON
{
  "key": "ai.toolCall.result",
  "brief": "The result of the tool call.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "rainy, 57°F",
  "deprecation": {
    "replacement": "gen_ai.tool.call.result",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.tool.call.result",
    "gen_ai.tool.output",
    "gen_ai.tool.message",
    "mcp.tool.result.content"
  ],
  "changelog": [
    {
      "version": "0.19.0",
      "prs": [
        498
      ],
      "description": "Added ai.toolCall.result attribute"
    }
  ]
}

ai.toolsDeprecated

string[]Scrub: ManualVisibility: PublicOTel: False

For an AI model call, the functions that are available

Example["function_1","function_2"]

Use gen_ai.tool.definitions instead.

Status: backfill

Changelog
Raw JSON
{
  "key": "ai.tools",
  "brief": "For an AI model call, the functions that are available",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "function_1",
    "function_2"
  ],
  "deprecation": {
    "replacement": "gen_ai.tool.definitions",
    "_status": "backfill"
  },
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        55,
        65,
        127
      ]
    }
  ]
}

ai.top_kDeprecated

integerScrub: ManualVisibility: PublicOTel: False

Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered).

Example35

Use gen_ai.request.top_k instead.

Status: backfill

Changelog
v0.4.0#228
Raw JSON
{
  "key": "ai.top_k",
  "brief": "Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered).",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 35,
  "deprecation": {
    "replacement": "gen_ai.request.top_k",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.top_k"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108
      ]
    }
  ]
}

ai.top_pDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered).

Example0.7

Use gen_ai.request.top_p instead.

Status: backfill

Changelog
v0.4.0#228
Raw JSON
{
  "key": "ai.top_p",
  "brief": "Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered).",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 0.7,
  "deprecation": {
    "replacement": "gen_ai.request.top_p",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.top_p"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108
      ]
    }
  ]
}

ai.total_costDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The total cost for the tokens used.

Example12.34
Search AliasHow this attribute is exposed in Sentry search. Query it by this name instead of the attribute key.
Nameai.total_cost
Typecurrency

Use gen_ai.cost.total_tokens instead.

Status: backfill

Changelog
v0.5.0#264
v0.4.0#228
v0.1.0#53
Raw JSON
{
  "key": "ai.total_cost",
  "brief": "The total cost for the tokens used.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 12.34,
  "deprecation": {
    "replacement": "gen_ai.cost.total_tokens",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.cost.total_tokens"
  ],
  "search_alias": {
    "name": "ai.total_cost",
    "type": "currency"
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        53
      ]
    }
  ]
}

ai.total_tokens.usedDeprecated

integerScrub: ManualVisibility: PublicOTel: False

The total number of tokens used to process the prompt.

Example30

Use gen_ai.usage.total_tokens instead.

Status: backfill

Changelog
nextAdded ai.usage.tokens as an alias
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "ai.total_tokens.used",
  "brief": "The total number of tokens used to process the prompt.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 30,
  "deprecation": {
    "replacement": "gen_ai.usage.total_tokens",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.usage.total_tokens",
    "ai.usage.tokens"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added ai.usage.tokens as an alias"
    },
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        57,
        61,
        108
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.usage.tokensDeprecated

integerScrub: ManualVisibility: PublicOTel: False

The total number of tokens used for the request and the response.

Examples150

Use gen_ai.usage.total_tokens instead.

This attribute is being deprecated in favor of gen_ai.usage.total_tokens.

Status: backfill

Changelog
next#583Added ai.usage.tokens attribute
Raw JSON
{
  "key": "ai.usage.tokens",
  "brief": "The total number of tokens used for the request and the response.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    150
  ],
  "deprecation": {
    "replacement": "gen_ai.usage.total_tokens",
    "reason": "This attribute is being deprecated in favor of gen_ai.usage.total_tokens.",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.usage.total_tokens",
    "ai.total_tokens.used"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        583
      ],
      "description": "Added ai.usage.tokens attribute"
    }
  ]
}

ai.valuesDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The stringified values produced by a Vercel AI SDK object or array generation.

Examples[{"city":"Paris"}]

No replacement available at this time.

This attribute is deprecated. Use gen_ai.output.messages for model output instead.

Changelog
next#583Added ai.values attribute
Raw JSON
{
  "key": "ai.values",
  "brief": "The stringified values produced by a Vercel AI SDK object or array generation.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "[{\"city\":\"Paris\"}]"
  ],
  "deprecation": {
    "reason": "This attribute is deprecated. Use gen_ai.output.messages for model output instead.",
    "_status": null
  },
  "changelog": [
    {
      "version": "next",
      "prs": [
        583
      ],
      "description": "Added ai.values attribute"
    }
  ]
}

ai.warningsDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

Warning messages generated during model execution.

Example["Token limit exceeded"]

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.warnings",
  "brief": "Warning messages generated during model execution.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "Token limit exceeded"
  ],
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}