Get Subscription Svg Route
GET/v1/subscriptions/:slug/svg
Serve the canonical SVG for a subscription product.
Fallback chain (service layer):
color → mono → placeholder (generated from brand
name + brand_color, same helper as the brand-catalog
placeholder path in :func:services.catalog.get_svg).
Returned X-Subscription-Variant header always describes what
the caller actually got: "color", "mono", or
"placeholder". Cache-Control is 24h for real SVG and 1h for
placeholders so an admin upload propagates within an hour of
landing.
Rate-limit tier resolution uses the shared "catalog" bucket
(binary endpoints don't fit the Response response_model shape
so we cannot use the FastAPI response-param pattern; headers are
attached to the outgoing :class:Response directly, parallel to
:func:api.v1.svg.get_svg).
Request
Responses
- 200
- 404
- 422
Successful Response
Subscription product not found
Validation Error