---
title: "Record an email sent to the site's address"
method: POST
path: "/v1/admin/inbound-email"
tags: ["Admin"]
---

# Record an email sent to the site's address

`POST /v1/admin/inbound-email`

## Request

- Base URL: `http://api.technooptimist.io`
- URL: `http://api.technooptimist.io/v1/admin/inbound-email`
- Auth: HTTP bearer

Called by the Cloudflare Email Worker for info@technooptimist.io (which also forwards the mail to the owner). Stored in the inbox (and noted in the ops log as service `email`), then the to-email-triage routine is started: it decides whether the email reports a real problem.

## Request body

- InboundEmail
  - `from` string, required
  - `to` string, required
  - `subject` string
  - `text` string
  - `messageId` string

## Response `200`

Recorded

- Ok
  - `ok` true, required

## Other responses

- `401`: Missing or invalid credentials
- `403`: Credential lacks the required scope
- `404`: Not found
- `409`: Conflict
- `422`: Validation failed

---

[API](https://skmtc.dev/technooptimist/apis/the-techno-optimist-api.md) · [All operations](https://skmtc.dev/technooptimist/apis/the-techno-optimist-api/llms.txt) · [OpenAPI document](https://skmtc.dev/technooptimist/apis/the-techno-optimist-api/revisions/b7bcde6a0f30?raw)
