This spec failed to parse
{{ slug }}: {{ spec_error }}
Run python manage.py asyncdocs_check to validate every registered spec.
{% extends "asyncdocs/base.html" %}
{% load static %}
{% load asyncdocs_extras %}
{% block title %}{{ spec.title|default:slug }} — Async API Docs{% endblock %}
{% block topbar_extra %}
{% if spec %}
v{{ spec.version }}
AsyncAPI {{ spec.asyncapi_version }}
{% endif %}
{% endblock %}
{% block topbar_right %}
{% if spec %}
Raw (YAML)
Raw (JSON)
{% endif %}
{% endblock %}
{% block body %}
{% if spec_error %}
Run This spec failed to parse
{{ slug }}: {{ spec_error }}python manage.py asyncdocs_check to validate every registered spec.
{{ spec.description }}
Posts {identifier, password} to {{ login_url }} and expects
{"access": "..."} back. The token is held in a JS variable for this tab only — never written
to localStorage/sessionStorage/a URL — and is always shown masked below.
No login_url configured for this spec — paste a token directly.
{{ channel.summary }}
{% if channel.query_params %}A field named exactly token auto-fills from step 1 once you authorize.
This operation is described as an inbound message to the application (a "publish" channel) — Connect still opens the same socket so you can observe whatever the server sends, if anything; it does not send a frame on your behalf (see "3 · Make a frame arrive" below).
{% endif %}Message log
Nothing yet — authorize, connect, then trigger a test action below.
| Name | Type | Required | Description |
|---|---|---|---|
{{ param.name }} |
{{ param.type }} | {% if param.required %}REQUIRED{% endif %} | {{ param.description }} |
This channel declares no connection query parameters.
{% endif %}{{ cc.code }}
{{ cc.reason }}
{% if cc.visible_to_browsers %}
visible to browsers
{% else %}
not visible to browsers
{% endif %}
{{ cc.detail }}
{{ channel.message.description }}
Payload
| Field | Type | Description | |
|---|---|---|---|
{{ name }} |
{{ prop.type }}{% if prop.format %} ({{ prop.format }}){% endif %}{% if prop.nullable %}, nullable{% endif %} | {% if prop.required %}REQUIRED{% endif %} {% if prop.readOnly %}read-only{% endif %} |
{% if prop.enum %}one of: {% for v in prop.enum %}{{ v }}{% if not forloop.last %}, {% endif %}{% endfor %}{% endif %} {{ prop.description }} |
{{ example.payload_json }}
Each button POSTs to <slug>/actions/<name>/ with a CSRF
header. A 429 (rate-limited) or an error from the action itself is logged distinctly, in whichever
channel's log is currently visible.
No test actions are registered for this spec
(ASYNC_DOCS["SPECS"]["{{ slug }}"]["actions"] is empty).