---
title: "Review a Kai-written email"
url: https://docs.gleap.ai/en/reference/rest-api/review-kai-email
method: POST
path: "/engagement/emails/{engagementEmailId}/kai/review/{actionId}"
api: "API Reference"
tag: "Engagement Email"
operationId: "ReviewKaiEmail"
updatedAt: "2026-11-01T18:40:15.677Z"
language: en
---

# Review a Kai-written email

`POST https://api.gleap.io/v3/engagement/emails/{engagementEmailId}/kai/review/{actionId}`

Approve (optionally with an edited subject and body) or reject one Kai-written email that waits for review. An approved email is sent at its send time through the email's look.

## Authorization

- `Authorization` (header, required): `Bearer <token>`

## Path parameters

- `engagementEmailId` (string, required)
- `actionId` (string, required)

## Headers

- `project` (string, required)

## Request body (`application/json`, required)

- `decision` (enum<string>, required): One of: `approve`, `reject`.
- `subject` (string): Edited subject (approve only).
- `content` (any): Edited TipTap JSON document (approve only). Kept as a style example for later emails.

## Example request

```bash
curl --request POST \
  --url 'https://api.gleap.io/v3/engagement/emails/{engagementEmailId}/kai/review/{actionId}' \
  --header 'Authorization: Bearer <token>' \
  --header 'project: <project>' \
  --header 'Content-Type: application/json' \
  --data '{
  "decision": "approve"
}'
```

## Responses

### 200 (`application/json`)

Ok
