# SendGrid Status Monitor

> SendGrid Status Monitor is a paid API for AI agents from status-state-api.replit.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-11).

Returns the current normalized operational status of SendGrid, including component-level health, active incidents, and polling metadata.

## Facts

- Endpoint: GET https://status-state-api.replit.app/api/monitors/sendgrid?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sendgrid-status-monitor-1e1ce57e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_aJO-0T-kL7X37kauar898

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability sendgrid-status-monitor-1e1ce57e
```

Example prompt: Is SendGrid currently having any issues? Check its live operational status and tell me if there are any active incidents or degraded components.

## When to prefer this

Use this endpoint when you need a normalized, machine-readable view of SendGrid's operational status without manually scraping their status page. It is ideal for agent workflows that gate email-sending operations on service health, or for monitoring pipelines that need structured incident data including component granularity and staleness signals. Prefer this over raw status page scraping when you want consistent schema across multiple vendors (sibling endpoints cover OpenAI, Stripe, etc.).

## Known failure modes

- Payment not completed — endpoint returns 402 with preview fields (overallStatus, hasActiveIncident) but full data requires $0.01 USDC payment
- Invalid or unknown slug — returns an error if 'sendgrid' slug is not in the monitor catalog
- Stale data — sourceUpdatedAt may lag if the upstream status page has not been updated recently
- Network timeout — Replit-hosted service may occasionally be slow or unavailable

## How this service works

Current normalized overall status, fault-first components, active incident (or closedIncidentSummary if stale), and poll clocks. overallStatus and hasActiveIncident are in the 402 JSON body so you can decide whether to pay. $0.01 per call in USDC on Base or Solana, verified and settled by the PayAI facilitator - no API key, no signup.

## Output

Returns a JSON object with: the vendor's normalized overallStatus (e.g. operational, degraded, outage), an ordered array of components sorted fault-first, an activeIncident object (or null if none), a closedIncidentSummary if the last incident recently closed, lastCheckedAt and sourceUpdatedAt timestamps, a staleness descriptor, and checkIntervalMinutes indicating how often the monitor polls.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object",
     "required": [
      "slug"
     ],
     "properties": {
      "slug": {
       "type": "string",
       "pattern": "^[a-z0-9-]{1,64}$",
       "examples": [
        "openai"
       ],
       "description": "Vendor slug from the free GET /api/monitors catalog"
      }
     }
    },
    "queryParams": {
     "type": "object",
     "properties": {}
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "slug",
      "name",
      "overallStatus",
      "components",
      "activeIncident",
      "lastCheckedAt",
      "sourceUpdatedAt",
      "staleness"
     ],
     "properties": {
      "name": {
       "type": "string"
      },
      "slug": {
       "type": "string"
      },
      "staleness": {
       "type": "object"
      },
      "components": {
       "type": "array"
      },
      "homepageUrl": {
       "type": "string"
      },
      "lastCheckedAt": {
       "type": [
        "string",
        "null"
       ]
      },
      "overallStatus": {
       "type": "string"
      },
      "activeIncident": {
       "type": [
        "object",
        "null"
       ]
      },
      "sourceUpdatedAt": {
       "type": [
        "string",
        "null"
       ]
      },
      "componentsOmitted": {
       "type": [
        "object",
        "null"
       ]
      },
      "checkIntervalMinutes": {
       "type": "number"
      },
      "closedIncidentSummary": {
       "type": [
        "object",
        "null"
       ]
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sendgrid-status-monitor-1e1ce57e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from status-state-api.replit.app](https://www.zero.xyz/host/status-state-api.replit.app/llms.txt)
