{
  "version": "2026-08-17",
  "site": "https://docs.xirsys.com/",
  "scope": "Dashboard workflows for the current Xirsys dashboard. API endpoint details remain in the API reference pages.",
  "primary_pages": [
    {
      "title": "Getting Started Guide",
      "url": "/",
      "purpose": "First-channel setup, secure backend guidance, TURN credential testing, static credential options, and network region access.",
      "anchors": [
        {
          "id": "setup-a-channel",
          "title": "Create a Channel"
        },
        {
          "id": "test-your-channel",
          "title": "Test the Channel"
        },
        {
          "id": "setup-secure-environment",
          "title": "Secure Your Credentials"
        }
      ]
    },
    {
      "title": "Using the Dashboard",
      "url": "/dashboard",
      "purpose": "Dashboard reference for Connect, channel credentials, static credentials, network regions, tests, analytics, account, billing, and plans.",
      "anchors": [
        {
          "id": "connect",
          "title": "Connect"
        },
        {
          "id": "api-key",
          "title": "API Key"
        },
        {
          "id": "manage-channels",
          "title": "Manage Channels"
        },
        {
          "id": "channel-credentials",
          "title": "Channel Credentials"
        },
        {
          "id": "static-credentials",
          "title": "Static Credentials"
        },
        {
          "id": "network",
          "title": "Your Network"
        },
        {
          "id": "test-connection",
          "title": "Test Connection"
        },
        {
          "id": "using-analytics",
          "title": "Analytics"
        },
        {
          "id": "account",
          "title": "Account"
        },
        {
          "id": "billing",
          "title": "Billing"
        },
        {
          "id": "plans",
          "title": "Plans"
        }
      ]
    }
  ],
  "workflows": [
    {
      "id": "create-channel",
      "title": "Create a dashboard channel",
      "dashboard_area": "Connect",
      "docs_url": "/dashboard#manage-channels",
      "stable_labels": [
        "Connect",
        "Channel",
        "Add New Channel",
        "Channel Name",
        "Add"
      ],
      "steps": [
        "Open Connect.",
        "In the Channel card, select the plus button.",
        "Enter one complete, case-sensitive channel name, such as myChannel. Do not use forward slashes to build a hierarchy.",
        "Select Add.",
        "Select the new channel from the channel dropdown."
      ],
      "screenshots": [
        "assets/img/dashboard-add-channel.png",
        "assets/img/dashboard-channel-selector.png"
      ]
    },
    {
      "id": "delete-channel",
      "title": "Delete a dashboard channel",
      "dashboard_area": "Connect",
      "docs_url": "/dashboard#manage-channels",
      "stable_labels": [
        "Connect",
        "Channel",
        "delete"
      ],
      "steps": [
        "Open Connect.",
        "Select the channel that should be removed.",
        "Confirm that no application is still requesting credentials for that channel.",
        "Use delete only after traffic has moved or application configuration has been updated."
      ],
      "warning": "New credential requests for a deleted channel will fail."
    },
    {
      "id": "copy-dynamic-credentials",
      "title": "Copy dynamic API channel credentials",
      "dashboard_area": "Connect",
      "docs_url": "/dashboard#channel-credentials",
      "stable_labels": [
        "Channel Credentials",
        "Dynamic",
        "copy",
        "Example",
        "path",
        "ident",
        "secret",
        "channel"
      ],
      "steps": [
        "Open Connect.",
        "Select the intended channel.",
        "Use the Dynamic tab in Channel Credentials.",
        "Copy the path, ident, secret, and channel values into a secure backend environment.",
        "Use Example when a copyable server-side request is needed."
      ],
      "screenshots": [
        "assets/img/dashboard-connect-overview-paid.png",
        "assets/img/dashboard-example-modal.png"
      ]
    },
    {
      "id": "use-static-credentials",
      "title": "Use static credentials",
      "dashboard_area": "Connect",
      "docs_url": "/dashboard/static-credentials",
      "stable_labels": [
        "Channel Credentials",
        "Static",
        "create static credentials",
        "copy",
        "refresh",
        "delete"
      ],
      "steps": [
        "Open Connect.",
        "Select the intended channel.",
        "Open the Static tab in Channel Credentials.",
        "Accounts with static-credential access can create persistent credentials when none exist.",
        "Copy, refresh, or delete available static credentials as needed.",
        "If the current plan does not include static credentials, continue with dynamic credentials or review the available plans."
      ],
      "screenshots": [
        "assets/img/dashboard-static-credentials-paid.png",
        "assets/img/dashboard-static-credentials-2.png"
      ],
      "security_note": "Static credentials are persistent and extractable from distributed client software. Use them only in controlled infrastructure, treat them like passwords, and rotate them if exposed."
    },
    {
      "id": "test-channel",
      "title": "Test a channel connection",
      "dashboard_area": "Connect",
      "docs_url": "/dashboard#test-connection",
      "stable_labels": [
        "Test Connection",
        "start",
        "Test Results"
      ],
      "steps": [
        "Select the intended channel.",
        "Select Test Connection.",
        "Select start in the testing dialog.",
        "Review the live TURN credential response."
      ],
      "screenshots": [
        "assets/img/dashboard-test-start.png",
        "assets/img/dashboard-test-result.png"
      ]
    },
    {
      "id": "review-analytics",
      "title": "Review dashboard analytics",
      "dashboard_area": "Analytics",
      "docs_url": "/dashboard/analytics",
      "stable_labels": [
        "Report Dates",
        "Report Target",
        "Report Type",
        "View",
        "Session Duration",
        "Bandwidth",
        "Report Totals",
        "Retry"
      ],
      "steps": [
        "Open Analytics.",
        "Choose the report date range.",
        "Select all channels or a single report target.",
        "Select the report type.",
        "Review the daily chart, allowing for hourly reporting rollups.",
        "Use View to replace the chart with the channel grid or return to the chart.",
        "Review Report Totals below either view."
      ],
      "error_state": "API failures show We couldn’t load analytics with Retry and must not be interpreted as a no-data result.",
      "screenshots": [
        "assets/img/dashboard-analytics-chart.png",
        "assets/img/dashboard-analytics-grid.png"
      ]
    },
    {
      "id": "manage-account-plan",
      "title": "Manage account, billing, and plan settings",
      "dashboard_area": "Account and Plans",
      "docs_url": "/dashboard#account",
      "stable_labels": [
        "Account",
        "Billing",
        "Plan",
        "Update Info",
        "Update Plan",
        "Monthly",
        "Annual"
      ],
      "steps": [
        "Open Account to update user and company profile details.",
        "Use Billing to manage payment details and billing history.",
        "Use the Plan tab to review the current subscription.",
        "Open Plans to compare plan cards and update the active plan."
      ],
      "screenshots": [
        "assets/img/dashboard-account.png",
        "assets/img/dashboard-billing.png",
        "assets/img/dashboard-account-plan.png",
        "assets/img/dashboard-plans.png"
      ]
    }
  ],
  "sensitive_fields": [
    "API Key",
    "ident",
    "secret",
    "authorization",
    "username",
    "credential",
    "static credentials",
    "billing details",
    "email",
    "phone"
  ],
  "agent_guidance": [
    "Prefer stable dashboard labels and documented anchors over screenshot text extraction.",
    "Do not place API keys, static credentials, billing data, or personal contact details in client-side code.",
    "For production integrations, use the Dynamic channel credentials from a secure backend and return only temporary ICE or signaling values to browser clients.",
    "Static credentials are persistent and plan-gated. If a premium prompt appears, direct the user to Plans instead of attempting to bypass the prompt.",
    "Do not assume a fixed region count. The Your Network card is authoritative for the regions enabled on an account."
  ]
}
