Skip to main content
Last updated on
Advanced — 0.0.x primitives

You don't need this page for a normal integration. Use the quickstarts and createMythos() instead. These low-level functions remain exported for custom setups.

create_listing_callback_handler

FastAPI handler factory for the Mythos listing registration callback.

Signature​

python
def create_listing_callback_handler(
on_registered: Callable[[str], Awaitable[None]],
) -> Callable[[Request], Awaitable[JSONResponse]]

Parameters​

ParamTypeRequiredDescription
on_registeredasync (listing_id: str) -> NoneYesPersist the validated listing ID
lt (query)stringYesJWT with purpose: "listing_registered"

Route​

text
GET|POST /.well-known/mythos-listing-registered?lt=<token>

Responses​

StatusBody
200{ "ok": true }
401{ "error": "Missing listing callback token" }
401{ "error": "Invalid listing callback token" }
503{ "error": "Service unavailable" }

Example​

python
from mythos_sdk import create_listing_callback_handler, require_launch_token

listing_ids: list[str] = []

async def add_listing_id(listing_id: str) -> None:
if listing_id not in listing_ids:
listing_ids.append(listing_id)

app.add_api_route(
"/.well-known/mythos-listing-registered",
create_listing_callback_handler(add_listing_id),
methods=["GET", "POST"],
)

@app.get("/api/mythos/session")
async def session(
s=Depends(require_launch_token(resolve_listing_ids=lambda: get_listing_ids())),
):
...

See also​