---
title: "Inject a synthetic inbound message (simulator)"
method: POST
path: "/v1/simulator/inbound"
tags: ["simulator"]
---

# Inject a synthetic inbound message (simulator)

`POST /v1/simulator/inbound`

## Request

- Base URL: `https://api.replylayer.ai`
- URL: `https://api.replylayer.ai/v1/simulator/inbound`
- Auth: HTTP bearer

## Request body

- object
  - `label` string: Optional correlation label appended, after sanitization, to the synthetic message subject. Use it to find an injection that returns pending.
  - `mailbox_id` string, required: Target mailbox name or UUID. Agent keys must be scoped to this mailbox.
  - `scenario` 'clean' | 'prompt_injection_quarantined', required: clean exercises ordinary inbound ingestion. prompt_injection_quarantined exercises the real scanner with a prompt-injection fixture; use the returned status as the authoritative final state.

## Response `200`

Success

- object
  - `message_id` string: Present when scanning reaches available or quarantined within the bounded poll window.
  - `status` 'available' | 'quarantined' | 'pending', required: available or quarantined is the resolved message state. pending means scanning continues asynchronously; use mailbox wait or list to find the labeled message.

## Other responses

- `400`: Validation error
- `401`: Missing or invalid API key
- `403`: Forbidden
- `404`: Not found
- `429`: Rate limited
- `500`: Internal error (code: INTERNAL_ERROR)

---

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