---
title: "Create a one-hour verification inbox for $0.05 over x402 (USDC on Base mainnet) or $0.50 by card over Stripe MPP"
method: POST
path: "/api/v1/inboxes/verification"
tags: ["Inboxes"]
---

# Create a one-hour verification inbox for $0.05 over x402 (USDC on Base mainnet) or $0.50 by card over Stripe MPP

`POST /api/v1/inboxes/verification`

## Request

- Base URL: `https://machineinbox.com`
- URL: `https://machineinbox.com/api/v1/inboxes/verification`
- Auth: none required

Path-priced route for the verification tier: a one-hour inbox sized for catching a single signup code (10 messages, no replies). Pair it with GET /api/v1/inboxes/{inboxId}/verification-code. Both rails pay on this path; only x402 gets the sub-card price ($0.50 by card: Stripe carries a minimum charge). Equivalent for MPP buyers: POST /api/v1/inboxes with {"product":"verification_inbox"}.

## Headers

- `Idempotency-Key` string

## Request body

- object

## Response `201`

Verification inbox created. The bearer token is returned once.

- CreateInboxResponse
  - `inbox` Mailbox, required
    - `id` string, uuid, required
    - `address` string, email, required
    - `status` 'pending_payment' | 'active' | 'deleted' | 'expired' | 'suspended' | 'payment_failed', required
    - `product` 'seven_day_inbox' | 'pro_inbox' | 'verification_inbox', required
    - `createdAt` string, date-time, required
    - `expiresAt` string, date-time, required
    - `limits` object, required
      - `messages` integer, required
      - `storageBytes` integer, required
    - `usage` object, required
      - `messages` integer, required
      - `storageBytes` integer, required
  - `token` string, required: Returned only on creation or an idempotent replay.
  - `tokenNotice` string, required
  - `replayed` boolean, required

## Other responses

- `400`: The request is malformed.
- `402`: Payment is required. The one 402 advertises both rails: Stripe MPP in WWW-Authenticate and x402 v2 in PAYMENT-REQUIRED. Pay with either.
- `409`: The idempotency key was already used for another operation.
- `429`: A request or reply limit was reached.
- `503`: This operation is temporarily disabled.

---

[API](https://skmtc.dev/machineinbox/apis/machine-inbox-api.md) · [All operations](https://skmtc.dev/machineinbox/apis/machine-inbox-api/llms.txt) · [OpenAPI document](https://skmtc.dev/machineinbox/apis/machine-inbox-api/revisions/bcb3cf08ad6d?raw)
