{"slug":"tools-halowerk-com-v1-series-anomaly-3d3dfa","title":"Runs three detectors over one series and reports what each saw","host":"tools.halowerk.com","method":"POST","resource":"https://tools.halowerk.com/v1/series/anomaly","category":"other","description":"Runs three detectors over one series and reports what each saw: a robust z score on median and median absolute deviation, a robust seasonal-trend decomposition with a z score on the residual, and an isolation forest over value and step-to-previous. Every score is returned per point, so callers set t","price_listed":0.004,"price_asked":0.004,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":1188,"reported_calls_30d":3,"reported_payers_30d":3,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"contamination":0.1,"methods":["robust_z","isolation_forest"],"min_votes":2,"points":[12.1,12.4,11.9,12.3,12,12.2,48.7,12.1,11.8,12.5,12.2,12],"seed":42},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"properties":{"contamination":{"default":0.02,"description":"Expected share of outliers. Sets where the isolation forest cuts.","maximum":0.5,"minimum":0.0001,"type":"number"},"methods":{"default":["robust_z","stl_residual","isolation_forest"],"description":"Which detectors to run.","items":{"enum":["robust_z","stl_residual","isolation_forest"],"type":"string"},"maxItems":3,"minItems":1,"type":"array"},"min_votes":{"default":1,"description":"How many detectors must agree before a point is called an anomaly.","maximum":3,"minimum":1,"type":"integer"},"points":{"description":"Either plain numbers or objects with value and optionally time_unix_s (seconds since 1970), time (ISO 8601) and label. The service caps the whole request body at 256 KB, so long records reach that limit before maxItems.","maxItems":5000,"minItems":3,"type":"array"},"robust_z_threshold":{"default":3.5,"description":"Absolute robust z score at which a point counts as an outlier.","maximum":20,"minimum":0.5,"type":"number"},"sample_size":{"default":256,"description":"Points drawn per tree, capped at the series length.","maximum":1024,"minimum":8,"type":"integer"},"season_period":{"default":0,"description":"Points per season, e.g. 24 for hourly data with a daily rhythm. 0 leaves the seasonal part out.","maximum":1000,"minimum":0,"type":"integer"},"seed":{"default":42,"description":"Fixed starting value for the forest. Same seed, same answer.","maximum":2147483647,"minimum":0,"type":"integer"},"stl_z_threshold":{"default":3.5,"description":"Threshold on the robust z score of the residual.","maximum":20,"minimum":0.5,"type":"number"},"trees":{"default":100,"description":"Number of isolation trees.","maximum":300,"minimum":10,"type":"integer"}},"required":["points"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-10-10","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.004,"price_match":true,"latency_ms":1188,"error":null}],"description_full":"Runs three detectors over one series and reports what each saw: a robust z score on median and median absolute deviation, a robust seasonal-trend decomposition with a z score on the residual, and an isolation forest over value and step-to-previous. Every score is returned per point, so callers set their own threshold instead of trusting a verdict. The forest draws from a fixed seed: same request, same result. Under three full cycles the seasonal figure is marked as not robust.","last_updated":"2026-10-08T06:07:49.503Z","schemes":["exact"]}