Job Monkey

health

GET /v1/health

200 when every database answers

200 when every database answers, 503 otherwise. No key. The status page reads the same heartbeat.

Charged: nothing; no key.

Parameters

None. An unknown parameter is a 400 bad_request.

Answer

{
 "ok": true,
 "databases": {
  "harvest": {
   "ok": true,
   "ms": 4.1,
   "value": 9648658
  },
  "store": {
   "ok": true,
   "ms": 2.0,
   "value": 1
  },
  "api": {
   "ok": true,
   "ms": 1.3,
   "value": 3
  }
 },
 "ledger_seq": 9648658,
 "model_loaded": true
}

Example

curl -s https://api.jobmonkey.ai/v1/health
{
 "ok": true,
 "databases": {
  "harvest": {
   "ok": true,
   "ms": 4.1,
   "value": 9648658
  },
  "store": {
   "ok": true,
   "ms": 2.0,
   "value": 1
  },
  "api": {
   "ok": true,
   "ms": 1.3,
   "value": 3
  }
 },
 "ledger_seq": 9648658,
 "model_loaded": true
}

In Python

import json, urllib.request

req = urllib.request.Request("https://api.jobmonkey.ai/v1/health")
with urllib.request.urlopen(req) as r:
    answer = json.load(r)
    print(r.headers.get("X-Request-Id"), r.headers.get("X-Units-Charged"))
print(json.dumps(answer, indent=1)[:800])

Errors

  • 503 when a database does not answer

Headers

  • X-Request-Id
  • X-Units-Charged
  • RateLimit (limit=10, remaining=n, reset=s)
  • RateLimit-Policy (10;w=1, plus 10;w=86400 on a free key calling a free route)
  • X-Plan-Jobs-Remaining (the full feed and snapshots, when the plan has a cap)
  • X-Account: past_due (while an invoice is unpaid)

Every answer carries X-Request-Id; quote it to [email protected]. Times are UTC, ISO 8601.