---
title: "Accept one closed standard.v1 inbound message"
method: POST
path: "/v1/ingress/webhook"
tags: ["Inbound"]
---

# Accept one closed standard.v1 inbound message

`POST /v1/ingress/webhook`

## Request

- Base URL: `https://api.thrd.email`
- URL: `https://api.thrd.email/v1/ingress/webhook`
- Auth: API key in header `x-thrd-adapter-attestation`

All adapters map into this provider-neutral schema. Message Authentication-Results headers are untrusted content and cannot set effective SPF, DKIM, DMARC or ARC facts.

## Request body

- object
  - `schema_version` '1.0', required
  - `recipient` string, email, required
  - `smtp_envelope_sender` string, email, required
  - `message` object, required
    - `message_id` string, required
    - `date` string, date-time, required
    - `from` string, email, required
    - `to` string[], required
    - `cc` string[]
    - `reply_to` string, email
    - `subject` string, required
    - `text` string: UTF-8 text; text plus HTML is limited to 2 MiB decoded.
    - `html` string: Untrusted HTML; sanitized before agent exposure.
    - `in_reply_to` string
    - `references` string[]
    - `headers` object: Untrusted message headers. Authentication facts come only from the signed adapter attestation.
    - `attachments` object[]: Attachment bytes are canonical base64 in ingress only. Agent events expose opaque storage references, never base64.
      - `filename` string, required
      - `mime` string, required
      - `size` integer, required
      - `content_base64` string, required

## Response `202`

Accepted once or recognized as an exact idempotent retry

- object
  - `ingest_id` string, uuid, required
  - `status` 'accepted', required
  - `idempotent_replay` boolean, required

## Other responses

- `400`: The bounded inbound payload is invalid
- `401`: The signed adapter attestation is missing, invalid, stale or replay-conflicting
- `404`: The attested inbox is not active
- `413`: The request body exceeds the bounded ingress limit
- `415`: The request content type is not supported by this ingress endpoint
- `503`: Ingress is temporarily unavailable and can be retried exactly

---

[API](https://skmtc.dev/thrd/apis/thrd-agent-email-api.md) · [All operations](https://skmtc.dev/thrd/apis/thrd-agent-email-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thrd/apis/thrd-agent-email-api/revisions/d8a88129cd34?raw)
