# ChatEscalateDto

**Kind:** Class

**Source:** [`atloria-monorepo/apps/api/src/project/dto/chat-escalate.dto.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/apps/api/src/project/dto/chat-escalate.dto.ts#L13)

Body for the PUBLIC chat → human escalation endpoint
(`POST /public/p/:slugWithId/chat/escalate`).

All fields are optional: the widget is anonymous and we never want to block a
"Talk to a human" click on missing data. Email is validated only when present.
`transcript` arrives as newline-joined "role: content" lines from the widget;
the controller parses it back into structured turns before handing off to
IssuesService.createFromChatEscalation.

## Properties

| Property | Type |
|---|---|
| `email` | `string` |
| `note` | `string` |
| `question` | `string` |
| `transcript` | `string` |
| `sessionId` | `string` |
