/api/v1/status
Validate a key and inspect the scope it resolves to.
Run event-security scans from your backend, fetch saved briefs, and render the current risk picture inside customer portals, venue sites, and internal operations tools.
1. Create a key
Generate a scoped key from your workspace. Keys inherit the issuing org and sub-org.
2. Run or fetch
Run a scan on demand or fetch a stored scan created by Live Monitor, bulk upload, or the UI.
3. Render safely
Call SignalGuard from your server. Send only the fields your public page should display.
First request
Livecurl -X POST https://signalguard.live/api/v1/scan \
-H "Authorization: Bearer $SIGNALGUARD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"eventName": "Google I/O 2026",
"eventLocation": "Shoreline Amphitheatre, Mountain View, CA",
"eventDate": "2026-05-20T09:00:00-07:00",
"keyword": "Google I/O"
}'
Send API keys as Bearer tokens. Keep keys on your server only. Do not put sk_live_* keys into browser JavaScript, static HTML, or mobile apps.
Keys are scoped to the workspace and sub-org active when they are created. Reads and writes cannot cross that scope.
Create a replacement key, deploy it, confirm traffic, then revoke the old key from /api-keys.
/api/v1/status
Validate a key and inspect the scope it resolves to.
/api/v1/scan
Run an event-security scan and persist the result under the key's workspace.
{
"eventName": "Google I/O 2026",
"eventLocation": "Shoreline Amphitheatre, Mountain View, CA",
"eventDate": "2026-05-20T09:00:00-07:00",
"keyword": "Google I/O",
"lat": 37.4268,
"lon": -122.0803
}
/api/v1/scan/{scanId}
Fetch a stored scan with per-signal severity, headline, generated timestamp, and raw signal payload.
/api/v1/events?limit=20
List saved events in scope, including latest scan id, latest severity, venue coordinates, event timing, and Live Monitor status.
Public sites should call SignalGuard from a backend route, then render a reduced status object. This keeps your API key private and lets you decide which details are safe for a public audience.
Node / Express example
app.get("/event-status/:scanId", async (req, res) => {
const sg = await fetch(`https://signalguard.live/api/v1/scan/${req.params.scanId}`, {
headers: { Authorization: `Bearer ${process.env.SIGNALGUARD_API_KEY}` }
});
const { scan } = await sg.json();
res.json({
venue: scan.venue,
severity: scan.severity,
completedAt: scan.completedAt,
signals: scan.signals.map((s) => ({
signal: s.signal,
severity: s.severity,
headline: s.headline
}))
});
});
| Status | Code | Meaning |
|---|---|---|
| 400 | bad_input | Required fields are missing or malformed. |
| 401 | invalid_api_key | The Bearer token is missing, revoked, or invalid. |
| 403 | team_tier_required | The key is valid, but the workspace is not on Team or Enterprise. |
| 404 | not_found | The resource does not exist in the key's scope. |
| 429 | rate_limited | The key exceeded 1,000 requests in the current hour. |
| 502 | scan_failed | One or more upstream signal calls failed hard enough to stop the scan. |
Push scan.completed and alert.fired events to customer systems.
Browser-safe tokens for read-only public status widgets.
Typed JavaScript helpers generated from the OpenAPI contract.