> ISPO SDK documentation. [HTML](https://ispo.ai/docs/interfaces/core.PromptMessage.html) · [Documentation index](https://ispo.ai/docs/llms.txt)

# Interface PromptMessage

```typescript
interface PromptMessage {
    id: string;
    kind: string;
    line: number;
    rawType?: string;
    role: PromptMessageRole;
    text: string;
    timestamp?: string;
    title?: string;
    toolCalls?: PromptToolCall[];
    toolResult?: PromptToolResult;
}
```

Types: [id](#id), [kind](#kind), [line](#line), [rawType](#rawtype), [role](#role), [PromptMessageRole](../types/core.PromptMessageRole.md), [text](#text), [timestamp](#timestamp), [title](#title), [toolCalls](#toolcalls), [PromptToolCall](core.PromptToolCall.md), [toolResult](#toolresult), [PromptToolResult](core.PromptToolResult.md)

##### Index

### <a id="properties"></a>Properties

[id](#id) [kind](#kind) [line](#line) [rawType?](#rawtype) [role](#role) [text](#text) [timestamp?](#timestamp) [title?](#title) [toolCalls?](#toolcalls) [toolResult?](#toolresult)

## <a id="properties-1"></a>Properties

### <a id="id"></a>id

```typescript
id: string
```

### <a id="kind"></a>kind

```typescript
kind: string
```

### <a id="line"></a>line

```typescript
line: number
```

### <a id="rawtype"></a>`Optional`rawType

```typescript
rawType?: string
```

### <a id="role"></a>role

```typescript
role: PromptMessageRole
```

Types: [PromptMessageRole](../types/core.PromptMessageRole.md)

### <a id="text"></a>text

```typescript
text: string
```

### <a id="timestamp"></a>`Optional`timestamp

```typescript
timestamp?: string
```

### <a id="title"></a>`Optional`title

```typescript
title?: string
```

### <a id="toolcalls"></a>`Optional`toolCalls

```typescript
toolCalls?: PromptToolCall[]
```

Types: [PromptToolCall](core.PromptToolCall.md)

Tool invocations carried by this message, in the order the provider emitted them. Present on assistant turns that issue tool calls (a single turn may issue several) and on stores that record calls as their own row.

### <a id="toolresult"></a>`Optional`toolResult

```typescript
toolResult?: PromptToolResult
```

Types: [PromptToolResult](core.PromptToolResult.md)

Present on tool-result messages. See [PromptToolResult.isError](core.PromptToolResult.md#iserror).
