{
  "name": "Official Service Status Catalog",
  "description": "Machine-readable catalog of official status sources supported by the paid status endpoints.",
  "endpoints": {
    "catalog": "https://agentic.crowdpull.click/api/status/catalog",
    "check": "https://agentic.crowdpull.click/api/status/check",
    "bundle": "https://agentic.crowdpull.click/api/status/bundle",
    "stack": "https://agentic.crowdpull.click/api/status/stack",
    "suggest": "https://agentic.crowdpull.click/api/status/suggest",
    "aliases": {
      "github": "https://agentic.crowdpull.click/api/status/github",
      "gitlab": "https://agentic.crowdpull.click/api/status/gitlab",
      "bitbucket": "https://agentic.crowdpull.click/api/status/bitbucket",
      "npm": "https://agentic.crowdpull.click/api/status/npm",
      "vercel": "https://agentic.crowdpull.click/api/status/vercel",
      "netlify": "https://agentic.crowdpull.click/api/status/netlify",
      "render": "https://agentic.crowdpull.click/api/status/render",
      "fly": "https://agentic.crowdpull.click/api/status/fly",
      "cloudflare": "https://agentic.crowdpull.click/api/status/cloudflare",
      "supabase": "https://agentic.crowdpull.click/api/status/supabase",
      "convex": "https://agentic.crowdpull.click/api/status/convex",
      "clerk": "https://agentic.crowdpull.click/api/status/clerk",
      "openai": "https://agentic.crowdpull.click/api/status/openai",
      "anthropic": "https://agentic.crowdpull.click/api/status/anthropic"
    }
  },
  "freeEndpoints": {
    "suggest": {
      "method": "POST",
      "url": "https://agentic.crowdpull.click/api/status/suggest",
      "description": "Submit a missing service or official status page for future coverage."
    }
  },
  "prices": {
    "check": "$0.001",
    "alias": "$0.001",
    "bundle": "$0.005",
    "stack": "$0.005",
    "suggest": "free"
  },
  "stackPolicy": {
    "endpoint": "https://agentic.crowdpull.click/api/status/stack",
    "note": "The discounted stack route is for balanced app stacks. Repeated layers can still run through /api/status/bundle, but they are not treated as full-stack bundles.",
    "minDistinctStackRoles": 3,
    "maxPerStackRole": {
      "source-control": 1,
      "package-registry": 1,
      "deploy-host": 1,
      "edge": 1,
      "data-layer": 1,
      "auth": 1,
      "ai-api": 2
    },
    "categoryToStackRole": {
      "source-control": "source-control",
      "packages": "package-registry",
      "deploy": "deploy-host",
      "edge": "edge",
      "database": "data-layer",
      "backend": "data-layer",
      "auth": "auth",
      "ai": "ai-api"
    }
  },
  "cache": {
    "freshSeconds": 120,
    "staleFallbackSeconds": 3600,
    "note": "The Worker reuses fresh upstream status responses and falls back to stale cached data when an official source times out, 429s, or returns 5xx."
  },
  "services": [
    {
      "id": "github",
      "name": "GitHub",
      "category": "source-control",
      "adapter": "statuspage",
      "homepage": "https://github.com",
      "statusPage": "https://www.githubstatus.com",
      "sourceUrl": "https://www.githubstatus.com/api/v2/summary.json",
      "tags": [
        "git",
        "ci",
        "packages",
        "issues",
        "actions"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/github"
    },
    {
      "id": "gitlab",
      "name": "GitLab.com",
      "category": "source-control",
      "adapter": "statusio",
      "homepage": "https://gitlab.com",
      "statusPage": "https://status.gitlab.com",
      "sourceUrl": "https://api.status.io/1.0/status/5b36dc6502d06804c08349f7",
      "tags": [
        "git",
        "ci",
        "packages",
        "container-registry",
        "runners"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/gitlab"
    },
    {
      "id": "bitbucket",
      "name": "Bitbucket",
      "category": "source-control",
      "adapter": "statuspage",
      "homepage": "https://bitbucket.org",
      "statusPage": "https://bitbucket.status.atlassian.com",
      "sourceUrl": "https://bitbucket.status.atlassian.com/api/v2/summary.json",
      "tags": [
        "git",
        "ci",
        "atlassian"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/bitbucket"
    },
    {
      "id": "npm",
      "name": "npm",
      "category": "packages",
      "adapter": "statuspage",
      "homepage": "https://www.npmjs.com",
      "statusPage": "https://status.npmjs.org",
      "sourceUrl": "https://status.npmjs.org/api/v2/summary.json",
      "tags": [
        "node",
        "packages",
        "registry"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/npm"
    },
    {
      "id": "vercel",
      "name": "Vercel",
      "category": "deploy",
      "adapter": "statuspage",
      "homepage": "https://vercel.com",
      "statusPage": "https://www.vercel-status.com",
      "sourceUrl": "https://www.vercel-status.com/api/v2/summary.json",
      "tags": [
        "deploy",
        "hosting",
        "edge",
        "nextjs"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/vercel"
    },
    {
      "id": "netlify",
      "name": "Netlify",
      "category": "deploy",
      "adapter": "statuspage",
      "homepage": "https://www.netlify.com",
      "statusPage": "https://www.netlifystatus.com",
      "sourceUrl": "https://www.netlifystatus.com/api/v2/summary.json",
      "tags": [
        "deploy",
        "hosting",
        "functions"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/netlify"
    },
    {
      "id": "render",
      "name": "Render",
      "category": "deploy",
      "adapter": "statuspage",
      "homepage": "https://render.com",
      "statusPage": "https://status.render.com",
      "sourceUrl": "https://status.render.com/api/v2/summary.json",
      "tags": [
        "deploy",
        "hosting",
        "postgres"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/render"
    },
    {
      "id": "fly",
      "name": "Fly.io",
      "category": "deploy",
      "adapter": "statuspage",
      "homepage": "https://fly.io",
      "statusPage": "https://status.flyio.net",
      "sourceUrl": "https://status.flyio.net/api/v2/summary.json",
      "tags": [
        "deploy",
        "hosting",
        "edge"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/fly"
    },
    {
      "id": "cloudflare",
      "name": "Cloudflare",
      "category": "edge",
      "adapter": "statuspage",
      "homepage": "https://www.cloudflare.com",
      "statusPage": "https://www.cloudflarestatus.com",
      "sourceUrl": "https://www.cloudflarestatus.com/api/v2/summary.json",
      "tags": [
        "dns",
        "cdn",
        "workers",
        "edge",
        "security"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/cloudflare"
    },
    {
      "id": "supabase",
      "name": "Supabase",
      "category": "database",
      "adapter": "statuspage",
      "homepage": "https://supabase.com",
      "statusPage": "https://status.supabase.com",
      "sourceUrl": "https://status.supabase.com/api/v2/summary.json",
      "tags": [
        "postgres",
        "auth",
        "storage",
        "realtime"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/supabase"
    },
    {
      "id": "convex",
      "name": "Convex",
      "category": "backend",
      "adapter": "statuspage",
      "homepage": "https://www.convex.dev",
      "statusPage": "https://status.convex.dev",
      "sourceUrl": "https://status.convex.dev/api/v2/summary.json",
      "tags": [
        "database",
        "backend",
        "realtime"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/convex"
    },
    {
      "id": "clerk",
      "name": "Clerk",
      "category": "auth",
      "adapter": "statuspage",
      "homepage": "https://clerk.com",
      "statusPage": "https://status.clerk.com",
      "sourceUrl": "https://status.clerk.com/api/v2/summary.json",
      "tags": [
        "auth",
        "identity",
        "sessions"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/clerk"
    },
    {
      "id": "openai",
      "name": "OpenAI",
      "category": "ai",
      "adapter": "statuspage",
      "homepage": "https://openai.com",
      "statusPage": "https://status.openai.com",
      "sourceUrl": "https://status.openai.com/api/v2/summary.json",
      "tags": [
        "ai",
        "llm",
        "api"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/openai"
    },
    {
      "id": "anthropic",
      "name": "Anthropic Claude",
      "category": "ai",
      "adapter": "statuspage",
      "homepage": "https://www.anthropic.com",
      "statusPage": "https://status.claude.com",
      "sourceUrl": "https://status.anthropic.com/api/v2/summary.json",
      "tags": [
        "ai",
        "llm",
        "api",
        "claude"
      ],
      "endpoint": "https://agentic.crowdpull.click/api/status/anthropic"
    }
  ],
  "bundles": [
    {
      "id": "vibe-deploy-readiness",
      "name": "Vibe Deploy Readiness",
      "description": "The quick pre-deploy check: source control, packages, deploy host, edge/DNS, database, and AI API.",
      "services": [
        "github",
        "gitlab",
        "npm",
        "vercel",
        "cloudflare",
        "supabase",
        "openai"
      ]
    },
    {
      "id": "ai-app-stack",
      "name": "AI App Stack",
      "description": "Common AI app dependencies: hosting, edge, auth, database/backend, and model APIs.",
      "services": [
        "vercel",
        "cloudflare",
        "supabase",
        "convex",
        "clerk",
        "openai",
        "anthropic"
      ]
    },
    {
      "id": "source-and-ci",
      "name": "Source and CI",
      "description": "Git hosts, CI systems, and package registry surfaces agents usually touch during code changes.",
      "services": [
        "github",
        "gitlab",
        "bitbucket",
        "npm"
      ]
    },
    {
      "id": "deploy-platforms",
      "name": "Deploy Platforms",
      "description": "Popular app deployment and edge-hosting platforms.",
      "services": [
        "vercel",
        "netlify",
        "render",
        "fly",
        "cloudflare"
      ]
    },
    {
      "id": "all",
      "name": "All Supported Official Status Sources",
      "description": "Every official status source currently supported by this endpoint.",
      "services": [
        "github",
        "gitlab",
        "bitbucket",
        "npm",
        "vercel",
        "netlify",
        "render",
        "fly",
        "cloudflare",
        "supabase",
        "convex",
        "clerk",
        "openai",
        "anthropic"
      ]
    }
  ],
  "notes": [
    "GitHub uses its official Statuspage JSON API.",
    "GitLab uses the public status.io API behind status.gitlab.com.",
    "Stripe is intentionally not in the first bundle because its public JSON endpoint currently returns stale 2024 data; add it after a fresher page parser or synthetic probe is available."
  ]
}