# ChatCompletionMessage Assistant message in completion response ## Fields | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | `role` | [models.ChatCompletionMessageRole](../models/chatcompletionmessagerole.md) | :heavy_check_mark: | N/A | | `content` | *Nullable[str]* | :heavy_check_mark: | Message content | | `reasoning` | *OptionalNullable[str]* | :heavy_minus_sign: | Reasoning output | | `refusal` | *Nullable[str]* | :heavy_check_mark: | Refusal message if content was refused | | `tool_calls` | List[[models.ChatCompletionMessageToolCall](../models/chatcompletionmessagetoolcall.md)] | :heavy_minus_sign: | Tool calls made by the assistant | | `reasoning_details` | List[[models.ReasoningDetail](../models/reasoningdetail.md)] | :heavy_minus_sign: | Reasoning details delta to send reasoning details back to upstream | | `annotations` | List[[models.AnnotationDetail](../models/annotationdetail.md)] | :heavy_minus_sign: | Annotations delta to send annotations back to upstream |