{
  "$schema": "https://veritymodchecker.online/data/verity-api-troubleshooting.schema.json",
  "schemaVersion": 1,
  "checkedAt": "2026-07-31T09:31:00+08:00",
  "canonicalUrl": "https://veritymodchecker.online/api-connection-failed/",
  "method": "Point-in-time troubleshooting source pack built from Google Search Console query rows, GA4 landing-page and event signals, official provider documentation, and the official Modrinth public API. This file does not collect API keys, host Verity downloads, or claim that an API error is a malware verdict.",
  "observedDemand": {
    "gscWindow": "2026-07-15 through 2026-07-28 delayed Search Console data",
    "ga4Window": "Last 7 days checked July 31, 2026 at 09:31 Asia/Shanghai",
    "topGscRows": [
      {
        "query": "verity mod",
        "clicks": 2,
        "impressions": 3
      },
      {
        "query": "verity api connection failed 401",
        "clicks": 2,
        "impressions": 2
      },
      {
        "query": "verity-3.4.1.jar",
        "clicks": 1,
        "impressions": 13
      },
      {
        "query": "api connection failed status 429 verity",
        "clicks": 1,
        "impressions": 4
      },
      {
        "query": "api connection failed 429 verity mod",
        "clicks": 1,
        "impressions": 2
      },
      {
        "query": "verity mod status 429",
        "clicks": 1,
        "impressions": 2
      },
      {
        "query": "verity je download",
        "clicks": 1,
        "impressions": 2
      },
      {
        "query": "api connection failed 401 verity mod",
        "clicks": 1,
        "impressions": 1
      },
      {
        "query": "verity error 401",
        "clicks": 1,
        "impressions": 1
      },
      {
        "query": "api connection failed status 429 verity mod",
        "clicks": 1,
        "impressions": 1
      }
    ],
    "ga4Signals": {
      "activeUsers": 315,
      "apiConnectionFailedPageViews": 139,
      "organicSearchSessions": 143,
      "referralSessions": 86,
      "gistGithubReferralSessions": 70,
      "googleOrganicSessions": 16,
      "bingOrganicSessions": 9,
      "yandexReferralSessions": 92,
      "verityOutboundProjectClickEvents": 60,
      "keyEvents": 61
    },
    "notes": [
      "The head term verity mod remains visible in GSC with 2 clicks and 3 impressions in the delayed July 15 through July 28 window.",
      "API troubleshooting demand remains visible in query rows and the API page is still the highest-viewed page in the latest GA4 page-title sample.",
      "Gist referral traffic is visible, so public source packs remain a verified non-spam growth path for this site."
    ]
  },
  "currentVerityJeSource": {
    "host": "Modrinth",
    "projectId": "on1Y0osD",
    "projectApiUrl": "https://api.modrinth.com/v2/project/on1Y0osD",
    "currentVersionId": "CXsEzVwJ",
    "currentVersionApiUrl": "https://api.modrinth.com/v2/version/CXsEzVwJ",
    "currentFile": "verity-6.jar",
    "minecraftVersion": "1.20.1",
    "loader": "Forge",
    "projectDownloadsAtCheck": 378725,
    "currentVersionDownloadsAtCheck": 31646,
    "stableVersionId": "yAt0wv1Z",
    "stableVersionDownloadsAtCheck": 278452,
    "projectUpdatedAt": "2026-07-29T18:50:58.960032Z",
    "followersAtCheck": 131,
    "sha1": "609c799d7350a657cf2193839224bd6c2f9971b2",
    "sha512": "25771d7476639e5669bea28d0beb503813ca304cfd6ddb080be3eb4186fbea34024f3a0e93bcaeb4cef4ecfb925420956a5b0e92f4a957c7ff7b3a4a22127b6e"
  },
  "providerSources": [
    {
      "provider": "Groq",
      "sourceUrl": "https://console.groq.com/docs/errors",
      "useFor": "401, 403, 404, 429, 5xx status-code meaning."
    },
    {
      "provider": "Groq",
      "sourceUrl": "https://console.groq.com/docs/rate-limits",
      "useFor": "Request, token, audio, image, daily, and organization-level limit checks."
    },
    {
      "provider": "OpenRouter",
      "sourceUrl": "https://openrouter.ai/docs/api-reference/errors",
      "useFor": "OpenRouter and upstream-provider error-layer separation."
    },
    {
      "provider": "Ollama",
      "sourceUrl": "https://docs.ollama.com/api",
      "useFor": "Local generate/chat API, model name, and local service troubleshooting."
    },
    {
      "provider": "Modrinth",
      "sourceUrl": "https://api.modrinth.com/v2/project/on1Y0osD",
      "useFor": "Current Verity JE project identity, active version IDs, downloads, followers, and update timestamp."
    }
  ],
  "statusRoutes": [
    {
      "statusOrSymptom": "401 Unauthorized or invalid API key",
      "likelyLayer": "Credential or wrong provider",
      "firstAction": "Match Groq versus OpenRouter, rotate exposed keys, paste one fresh provider key locally, and retest one short text prompt.",
      "localRoute": "https://veritymodchecker.online/status-401/",
      "avoid": "Do not post the API key or reinstall the same jar for a credential error."
    },
    {
      "statusOrSymptom": "403 Forbidden",
      "likelyLayer": "Account, organization, model, route, content, or permission restriction",
      "firstAction": "Check model access, provider permissions, account restrictions, and any guardrail or moderation message.",
      "localRoute": "https://veritymodchecker.online/api-connection-failed/#official-provider-evidence",
      "avoid": "Do not treat 403 as the same problem as a missing key."
    },
    {
      "statusOrSymptom": "404 model or endpoint not found",
      "likelyLayer": "Model ID, endpoint, or route configuration",
      "firstAction": "Open the current provider model list and select a model supported by the installed Verity build.",
      "localRoute": "https://veritymodchecker.online/api-connection-failed/#error-map",
      "avoid": "Do not use model IDs copied from old videos without checking the provider."
    },
    {
      "statusOrSymptom": "429 Too Many Requests",
      "likelyLayer": "Request, token, audio, image, or daily rate limit",
      "firstAction": "Stop retries, inspect the provider limits page, wait for the reset window, then test one short text prompt.",
      "localRoute": "https://veritymodchecker.online/status-429/",
      "avoid": "Do not create repeated keys in the same organization as a quota fix."
    },
    {
      "statusOrSymptom": "503 service unavailable or provider 529 overload",
      "likelyLayer": "Provider availability, upstream route, or temporary capacity",
      "firstAction": "Wait, check provider status or model availability, and retry one short text prompt later.",
      "localRoute": "https://veritymodchecker.online/api-connection-failed/#temporary-provider-errors",
      "avoid": "Do not rotate a valid key for a service availability error."
    },
    {
      "statusOrSymptom": "Ollama connection refused",
      "likelyLayer": "Local service, host, port, firewall, or missing local model",
      "firstAction": "Start Ollama, confirm it answers outside Minecraft, and match the exact local endpoint and model in the Verity profile.",
      "localRoute": "https://veritymodchecker.online/api-connection-failed/#official-provider-evidence",
      "avoid": "Do not search for a cloud key when the route is local Ollama."
    },
    {
      "statusOrSymptom": "Null, blank, or silent reply",
      "likelyLayer": "Model output, profile configuration, local service, integration log, or voice layer",
      "firstAction": "Test one short typed prompt, compare model names and endpoints, and read a sanitized launcher or mod log.",
      "localRoute": "https://veritymodchecker.online/api-connection-failed/#quick-diagnosis",
      "avoid": "Do not diagnose voice until text succeeds."
    },
    {
      "statusOrSymptom": "Text works but voice does not",
      "likelyLayer": "Speech recognition, TTS, device, language, voice dependency, or audio limit",
      "firstAction": "Keep the provider setup unchanged and move to microphone, TTS, output device, language, and voice dependency checks.",
      "localRoute": "https://veritymodchecker.online/voice-not-working/",
      "avoid": "Do not rotate a working API key for a voice-only failure."
    }
  ],
  "safeSupportSummaryFields": [
    "provider",
    "status code or symptom",
    "model name",
    "Minecraft profile",
    "text test state",
    "key safety state",
    "sanitized log line with no API key"
  ]
}
