> ## Documentation Index
> Fetch the complete documentation index at: https://www.adaline.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ReasoningContent

> Reasoning content type for LLM chain-of-thought and extended thinking responses.

# ReasoningContent

Reasoning content for LLM chain-of-thought and extended thinking responses.

## Import

```typescript theme={null}
import type { ReasoningContent } from '@adaline/api';
```

## Type Definition

```typescript theme={null}
interface ReasoningContent {
  modality: 'reasoning';
  value: ReasoningContentValueUnion;
}

type ReasoningContentValueUnion =
  | ReasoningContentValue
  | RedactedReasoningContentValue;

interface ReasoningContentValue {
  type: 'thinking';
  thinking: string;
  signature: string;
}

interface RedactedReasoningContentValue {
  type: 'redacted';
  data: string;
}
```

## Fields

<ParamField body="modality" type="string" required>
  Must be `"reasoning"`.
</ParamField>

<ParamField body="value" type="ReasoningContentValueUnion" required>
  The reasoning value — either a `thinking` type with content and signature, or a `redacted` type with opaque data.
</ParamField>

***

## Example

```typescript theme={null}
import type { ReasoningContent } from '@adaline/api';

const reasoning: ReasoningContent = {
  modality: 'reasoning',
  value: {
    type: 'thinking',
    thinking: 'Let me analyze this step by step...',
    signature: 'sig_abc123'
  }
};

const redacted: ReasoningContent = {
  modality: 'reasoning',
  value: {
    type: 'redacted',
    data: '[REDACTED]'
  }
};
```

**JSON**:

```json theme={null}
{
  "modality": "reasoning",
  "value": {
    "type": "thinking",
    "thinking": "Let me analyze this step by step...",
    "signature": "sig_abc123"
  }
}
```

***

## Related

* [MessageContent](/docs/reference/sdk/v2/typescript/types/MessageContent) — union type that includes `ReasoningContent`
* [PromptMessage](/docs/reference/sdk/v2/typescript/types/PromptMessage) — uses `MessageContent[]` as its `content` field
