---
title: "Deliver a sealed message (server stores only ephemeralPubKey, viewTag, ct). Replay-idempotent."
method: POST
path: "/api/messages/v2/send"
tags: ["messaging"]
---

# Deliver a sealed message (server stores only ephemeralPubKey, viewTag, ct). Replay-idempotent.

`POST /api/messages/v2/send`

## Request

- Base URL: `https://api.anygas.xyz/svc`
- URL: `https://api.anygas.xyz/svc/api/messages/v2/send`
- Auth: none declared

## Request body

- object
  - `ephemeralPubKey` string, required: 33-byte compressed secp256k1 point, one-time
  - `viewTag` string, required
  - `ct` string, required: base64; suite 0x51; must be one of the fixed ciphertext sizes (see /info)
  - `pass` object: optional Plus pass {preparedMsg, sig} (base64) — rate-limit exempt, unlinkable
    - `preparedMsg` string
    - `sig` string

## Response `200`

{ok, id, releaseAt} or {ok, id, duplicate:true}

## Other responses

- `400`: not a bucket-sized v2 seal

---

[API](https://skmtc.dev/anygas/apis/robyn-anygas-api.md) · [All operations](https://skmtc.dev/anygas/apis/robyn-anygas-api/llms.txt) · [OpenAPI document](https://skmtc.dev/anygas/apis/robyn-anygas-api/revisions/9b7498be8304?raw)
