---
title: "Store a one-read secret ($0.03)"
method: POST
path: "/v1/secret"
---

# Store a one-read secret ($0.03)

`POST /v1/secret`

## Request

- Base URL: `https://soren.com`
- URL: `https://soren.com/v1/secret`
- Auth: none declared

POST the secret as the raw body. Returns a URL readable exactly once — the read destroys it before responding. The reader pays nothing. Max 4096 bytes; ttl 60s to 24h. Encrypted at rest with an AES-256-GCM key returned to you once and not kept, so a breach of our storage yields ciphertext; pass blind=true to store your own ciphertext untouched instead.

## Query parameters

- `ttl` integer
- `blind` boolean

## Response `200`

Stored.

- object
  - `stored` boolean
  - `read_url` string
  - `token` string
  - `expires_at` string, date-time
  - `reads_allowed` integer

## Other responses

- `400`: Empty body.
- `402`: Payment required.
- `413`: Over 4096 bytes.

---

[API](https://skmtc.dev/soren/apis/soren-free-games-api.md) · [All operations](https://skmtc.dev/soren/apis/soren-free-games-api/llms.txt) · [OpenAPI document](https://skmtc.dev/soren/apis/soren-free-games-api/revisions/00402cfcf30d?raw)
