The JakeSux API.
Everything the website does, the API does worse. RESTful, GraphQL-adjacent, and (in select cases) just yelling.
Base URL
https://api.jakesux.xyz/v1
Authentication
Authorization: Bearer sk_live_doesntmatter
We do not actually validate your API key. We validate your vibes. If your vibes are off, you will receive a 418 I'm a teapot (and Jake is in the room).
POST /v1/sighs
Record a sigh. Supports synchronous and fire-and-regret modes.
curl -X POST https://api.jakesux.xyz/v1/sighs \
-H "Authorization: Bearer sk_live_whatever" \
-H "Content-Type: application/json" \
-d '{
"intensity": "audible",
"reason": "jake",
"duration_ms": 3200,
"witnesses": 12
}'
Response:
{
"id": "sigh_9f2e1d",
"created_at": "2026-04-16T21:02:11Z",
"intensity": "audible",
"reason": "jake",
"rendered": true,
"heard_by": 47
}
GET /v1/yikes
Retrieve yikes events, filterable by severity and time range.
GET /v1/yikes?severity=hard&since=2026-04-01
{
"data": [
{ "id": "yk_001", "severity": "hard", "cause": "jake said 'actually' in a client call" },
{ "id": "yk_002", "severity": "medium", "cause": "jake's zoom background was a bathroom" },
{ "id": "yk_003", "severity": "critical", "cause": "jake replied-all to a payroll email" }
],
"has_more": true,
"next_cursor": "cur_yk_003"
}
POST /v1/vibes/check
Check the vibes. Returns 200 if vibes are immaculate, 418 if they are off, 500 if Jake is on the call.
POST /v1/vibes/check
{ "status": "off", "severity": 0.94, "source": "jake" }
POST /v1/eyerolls
Register an eyeroll. Include trajectory for ML training purposes.
POST /v1/eyerolls
{
"severity": "hard",
"duration_ms": 1100,
"trajectory": "upper-left-to-ceiling",
"ocular_strain": true
}
GET /v1/sighs/aggregate
Aggregated sigh metrics by team, region, or "what did he say now?"
GET /v1/sighs/aggregate?group_by=team&window=24h
{
"data": [
{ "team": "eng", "total": 4183, "p99_duration_ms": 4400 },
{ "team": "sales", "total": 7291, "p99_duration_ms": 5800 },
{ "team": "product", "total": 9021, "p99_duration_ms": 7200 }
]
}
Rate limits
- Free tier: 10 req/min. Above this we return a
429and one (1) sigh. - Pro tier: 1,000 req/min. Soft limits. Hard feelings.
- Enterprise: unlimited — but Jake personally reads each request.
Errors
400 Bad Request The request is bad. So is Jake.
401 Unauthorized Your vibes are off.
403 Forbidden Jake said no.
418 I'm a Teapot Jake is in the room.
429 Too Many Requests Please sigh fewer.
500 Internal Error Jake is in the server room.
Webhooks
For real-time event delivery, see the Webhook of Shame.
SDKs
Don't want to call the API directly? Use the Sigh SDK (JS, Python, Go, and "Vibes").