---
title: "Simulate Inbound Reply"
method: POST
path: "/admin/email-test/simulate-inbound"
tags: ["Admin / Email test"]
---

# Simulate Inbound Reply

`POST /admin/email-test/simulate-inbound`

## Request

- Base URL: `https://api.kolens.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kolens.ai/admin/email-test/simulate-inbound`
- Auth: none declared

Inject a synthetic inbound reply WITHOUT going through SendGrid.

Useful when DNS / SendGrid dashboard isn't set up yet, or for fast
iteration. Synthesises a SendGrid-shaped payload and calls
``ingest_inbound_email`` directly with a fresh
``sendgrid_message_id`` so we don't trip the dedupe gate.

## Headers

- `x-admin-secret` string, nullable

## Request body

- SimulateInboundRequest
  - `conversation_id` string, required
  - `from_email` string, required
  - `subject` string, required
  - `body_text` string, required
  - `body_html` string, nullable

## Response `200`

Successful Response

- SimulateInboundResponse
  - `event_id` string, required
  - `conversation_id` string, required
  - `status_after` string, required
  - `note` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/kolens/apis/kolens-api.md) · [All operations](https://skmtc.dev/kolens/apis/kolens-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kolens/apis/kolens-api/revisions/5d6865ab0a24?raw)
