{
  "opencollection": "1.0.0",
  "info": {
    "name": "AFM Access Profiles Demo Mode API",
    "version": "0.1.0"
  },
  "items": [
    {
      "info": {
        "name": "Demo Mode",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Demo Create Chat",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/app/v1/demo/chat/create",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Create a new demo chat session and stream the first assistant response.\n\nNo per-session message-limit check here (unlike demo_stream_message)\nbecause this endpoint creates a brand-new session with zero messages.\nCross-session abuse (cookie clearing) is mitigated by Caddy's\nper-IP rate limiter at the infrastructure layer."
        },
        {
          "info": {
            "name": "Demo Stream Message",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/app/v1/demo/chat/:session_id/stream",
            "params": [
              {
                "name": "session_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Send a message to an existing demo chat session and stream the response."
        },
        {
          "info": {
            "name": "Demo Stop Stream",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/app/v1/demo/chat/messages/:message_id/stop",
            "params": [
              {
                "name": "message_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Stop an in-progress demo stream by setting the Valkey stop key."
        },
        {
          "info": {
            "name": "Demo Get Session",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/app/v1/demo/chat/session"
          },
          "docs": "Get the current demo session with messages, identified by the signed cookie token."
        },
        {
          "info": {
            "name": "Demo Get Chat Models",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/app/v1/demo/chat-models"
          },
          "docs": "Get available models for demo mode (no auth required)."
        }
      ]
    }
  ],
  "bundled": true
}