---
title: "Push Vapid Public Key Legacy"
method: GET
path: "/v1/push/public-key"
---

# Push Vapid Public Key Legacy

`GET /v1/push/public-key`

## Request

- Base URL: `https://api.storyflo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.storyflo.com/v1/push/public-key`
- Auth: none declared

Returns the VAPID public key for the frontend to pass into
pushManager.subscribe({ applicationServerKey }).

Previously read STORYFLO_VAPID_PUBLIC_KEY via os.environ, which
never matched the actual Fly secret name (VAPID_PUBLIC_KEY) — so
this endpoint silently returned "" and the subscribe UI passed an
empty applicationServerKey to pushManager.subscribe(). Now reads
settings.vapid_public_key (the pydantic field that DOES match the
Fly secret) so this legacy path returns the same value as
/v1/push/vapid-public-key. Frontend caller at
app/listen/share/page.tsx hits this URL.

## Response `200`

Successful Response

- object

---

[API](https://skmtc.dev/storyflo/apis/storyflo-inference-router.md) · [All operations](https://skmtc.dev/storyflo/apis/storyflo-inference-router/llms.txt) · [OpenAPI document](https://skmtc.dev/storyflo/apis/storyflo-inference-router/revisions/c3a1a735ac7a?raw)
