# Settings reference All settings are placed under the `CHANNELS_SPECTACULAR_SETTINGS` dict in your Django settings file. ```python CHANNELS_SPECTACULAR_SETTINGS = { # key: default_value } ``` ## Full reference | Key | Type | Default | Description | |-----|------|---------|-------------| | `TITLE` | `str` | `"WebSocket API"` | Title used in the AsyncAPI `info` block and the HTML `` | | `VERSION` | `str` | `"1.0.0"` | API version in the `info` block | | `DESCRIPTION` | `str` | `""` | Markdown description in the `info` block | | `CHANNEL_PATH` | `str` | `"/"` | Default WebSocket path used when `channel_path` is not passed to a view or the export command | | `SERVERS` | `dict \| None` | `None` | Verbatim AsyncAPI `servers` block. When `None`, the block is derived from the request. | | `WS_HOST` | `str \| None` | `None` | Override host when `SERVERS` is `None`. Falls back to `request.get_host()`. | | `WS_PROTOCOL` | `"ws" \| "wss" \| None` | `None` | Override protocol when `SERVERS` is `None`. Falls back to `"wss"` if HTTPS else `"ws"`. | | `AUTH_QUERY_PARAM` | `str \| None` | `None` | Query parameter name for token auth (e.g. `"token"`). When set, adds an `httpApiKey` security scheme to the spec and labels the try-it-out auth selector. | | `AUTH_COOKIE_NAME` | `str \| None` | `None` | Cookie name for JWT cookie auth (e.g. `"access_token"`). When set, adds a cookie security scheme to the spec. The try-it-out panel uses this as the default cookie name input. | | `TRY_IT_OUT_ENABLED` | `bool` | `False` | Show the interactive WebSocket console in the docs viewer. Keep `False` in production. | | `TRY_IT_OUT_EXPANDED` | `bool` | `False` | When `True`, the try-it-out drawer starts open on every page load. When `False` (default), it starts collapsed — click the floating button to open. | ## Example: production + dev split ```python # settings/base.py CHANNELS_SPECTACULAR_SETTINGS = { "TITLE": "Dispatch API", "VERSION": "1.0.0", "DESCRIPTION": "Real-time ride and delivery dispatch over WebSocket.", "CHANNEL_PATH": "/ws/dispatch/", "TRY_IT_OUT_ENABLED": False, } # settings/dev.py CHANNELS_SPECTACULAR_SETTINGS = { **CHANNELS_SPECTACULAR_SETTINGS, "WS_HOST": "localhost:8000", "WS_PROTOCOL": "ws", "TRY_IT_OUT_ENABLED": True, } # settings/prod.py CHANNELS_SPECTACULAR_SETTINGS = { **CHANNELS_SPECTACULAR_SETTINGS, "SERVERS": { "production": { "host": "api.example.com", "protocol": "wss", "description": "Production WebSocket server", }, }, } ```