Skip to content

Monitor.check

Run a Monitor once, now, and record what it saw as an Event, at the price of the call it wraps.

Price
Free
Success rate
99.6% of 2,079,088 calls
Freshness
Read fresh each call
Emits
Monitor.checked
Capability
Schedules
POST https://api.sb/{your-domain}/monitors/check

Inputs

NameTypeDefaultMeaning
monitorMonitorRequiredThe Monitor to run. Also served at /monitors/{monitor}/check, as the hub defines it.

Outputs

FieldTypeWhat null means
monitorMonitorNever null: with its latest result.
ranAtstring, in ISO 8601Never null.
changedbooleanNever null: whether this run crossed the Monitor’s change and threshold.
summarystringNever null: what moved, in one sentence.
eventstringNever null: the address of the Event this run recorded.
costCost, in USDNever null: what the wrapped call spent.

Read the result

FieldValueWhat it meansWhat to do
changedfalseThe run saw nothing past the threshold. It still recorded the reading, so the curve has the point.Nothing; read the trend with Metric.query, not run by run. (the contract every data call keeps)
changedtrue once, then falseA one-run move is usually noise in ranks and AI answers.Act on a change that holds for 2 runs in a row, or 2 weeks for answers. (our planning number)

Effects

Action class

None: no approval rule names it, so it runs within its seat’s Permissions and Limits

Modes
  • try: Runs the wrapped call and returns what it saw; nothing is recorded and nothing is billed.
  • send: Returns a pending Action at once; its Event carries the rows when the read finishes.
  • do: Waits for the read and returns the rows, billed per result.
Idempotency

The same Idempotency-Key with the same input replays the first answer at $0; with other input it returns 409.

Saved or shared

Records the run as an Event on the Monitor, with the wrapped call’s own Event beside it.

Emits

Monitor.checked with { monitor, changed, summary, event }

Performed by

Analyst

Price

Free. Free: the check itself; the wrapped call bills at its own price.

Reliability

The first route succeeds 99.6% of 2,079,088 calls. If it fails, the call refuses with sources-busy and nothing is spent.

Freshness

Every call reads fresh. Readings about people are never shared across startups.

Batch and pages

Up to 1 Monitor a call. It answers in one response.

Rate

The shared rate rules: 10 calls a second per key, and an array input counts as one call.

Refuses when

This call has no refusals of its own. Every data call can also meet the shared data-call refusals: filter-unsupported, input-missing, limit-exceeded, max-cost, rate-limited, sources-busy, venue-unsupported.

When it waits

Returns in one response; nothing waits.

Example

Text
Check the rank Monitor on “rent tracking app for landlords” now.

To retry, send the same Idempotency-Key: the retry returns the first answer for $0. A new key reads again.

Test values

A sk_test_ key answers these the same way every time, at $0 (every test value).

Test valueAlways returnsWhat it is for
maxCost: 0.0001Refuses with max-costAny priced call with a maxCost of 0.0001 is refused before it spends: the price is above the cap.
rate-limited.testRefuses with rate-limitedAny call naming this hostname answers 429 with Retry-After, so your retry logic runs.
sources-busy.testRefuses with sources-busyAny call naming this hostname answers 503 as if every route were busy, and nothing is spent.

Used by

None.