Elysia Tools Docs
EN
Language
ZHESPTRUFRDEEN
Back to site
Browse tools

Format Conversion

Web Push RFC 8030 Request + VAPID + RFC 8291 Payload Encryption Encoder

Encode a complete Web Push send: RFC 8291 aes128gcm payload encryption, RFC 8292 VAPID ES256 JWT, RFC 8030 headers, APNs/FCM cross-walk and decrypt round-trip verification.

html· HTML resultOpen tool

Quick start

Call this tool from your code in three languages.

cURL
curl -X POST 'https://api.elysiatools.com/en/api/tools/web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder' \
  -H 'Content-Type: application/json' \
  -d '{"payload":"When I grow up, I want to be a watermelon","encoding":"aes128gcm","uaPublicKey":"BCVxsr7N_eNgVRqvHtD0zTZsEc6-VV-JvLexhqUzORcxaOzi6-AYWXvTBHm4bjyPjs7Vd8pZGH6SRpkNtoIAiw4","authSecret":"BTBZMqHH6r4Tts7J_aSIgg","uaPrivateKey":"q1dXpw3UpT5VOmu_cf_v6ih07Aems3njxI-JWgLcM94","asPrivateKey":"yfWPiYE-n46HLnH0KqZOF1fJJU3MYrct3AELtAQ-oRw","saltB64":"DGv6ra1nlYgDCS1FRnbzlw","paddingBytes":0,"ttl":10,"urgency":"normal","topic":"","endpointHost":"push.example.net","endpointPath":"/push/JzLQ3raZJfFBR0aqvOMsLrt54w4rJUsV","vapidEnabled":true,"vapidSub":"mailto:[email protected]","vapidAud":"push.example.net","vapidExp":1453523768,"vapidPrivateKey":"nCScek-QpEjmOOlT-rQ38nZzvdPlqa00Zy0i6m2OJvY"}'

© 2026 Elysia Tools. Developer documentation.

Back to siteBrowse tools

API reference

Send a POST request with your inputs as JSON. File parameters require a separate upload first.

Endpoint

HTTP
POST https://api.elysiatools.com/en/api/tools/web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder

Parameters

NameTypeRequiredDescription
payloadtextareaYes—
encodingselectNo—
uaPublicKeytextYes—
authSecrettextYes—
uaPrivateKeytextNo—
asPrivateKeytextYes—
saltB64textYes—
paddingBytesnumberNo—
ttlnumberNo—
urgencyselectNo—
topictextNo—
endpointHosttextNo—
endpointPathtextNo—
vapidEnabledcheckboxNo—
vapidSubtextNo—
vapidAudtextNo—
vapidExpnumberNo—
vapidPrivateKeytextYes—

Response format

HTML result

JSON
{
  "result": "<div>Processed HTML content</div>",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}

MCP integration

Add this tool to your Model Context Protocol server so AI agents can list and call it.

Server configuration

Add this block to your MCP client configuration:

mcp.json
{
  "mcpServers": {
    "elysiatools-web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder": {
      "name": "web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder",
      "description": "Encode a complete Web Push send: RFC 8291 aes128gcm payload encryption, RFC 8292 VAPID ES256 JWT, RFC 8030 headers, APNs/FCM cross-walk and decrypt round-trip verification.",
      "baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

List available tools

After connecting to the SSE endpoint, list the exposed tools:

tools/list
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

Call this tool

Invoke the tool by its id, passing arguments built from its parameters:

tools/call
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder",
    "arguments": {
  "payload": "When I grow up, I want to be a watermelon",
  "encoding": "aes128gcm",
  "uaPublicKey": "BCVxsr7N_eNgVRqvHtD0zTZsEc6-VV-JvLexhqUzORcxaOzi6-AYWXvTBHm4bjyPjs7Vd8pZGH6SRpkNtoIAiw4",
  "authSecret": "BTBZMqHH6r4Tts7J_aSIgg",
  "uaPrivateKey": "q1dXpw3UpT5VOmu_cf_v6ih07Aems3njxI-JWgLcM94",
  "asPrivateKey": "yfWPiYE-n46HLnH0KqZOF1fJJU3MYrct3AELtAQ-oRw",
  "saltB64": "DGv6ra1nlYgDCS1FRnbzlw",
  "paddingBytes": 0,
  "ttl": 10,
  "urgency": "normal",
  "topic": "",
  "endpointHost": "push.example.net",
  "endpointPath": "/push/JzLQ3raZJfFBR0aqvOMsLrt54w4rJUsV",
  "vapidEnabled": true,
  "vapidSub": "mailto:[email protected]",
  "vapidAud": "push.example.net",
  "vapidExp": 1453523768,
  "vapidPrivateKey": "nCScek-QpEjmOOlT-rQ38nZzvdPlqa00Zy0i6m2OJvY"
}
  }
}
Chain multiple tools in one session with a comma-separated toolId list, e.g. /mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp (max 20).

Questions or issues? Contact [email protected]

Browse tools
Open tool