Skip to main content
Determines whether the most recent point in a series is anomalous, using prior points as context. This endpoint is fully compatible with the Azure Anomaly Detector API. Ideal for real-time streaming detection where new points arrive one at a time. Both /anomalydetector/v1.0/timeseries/last/detect and /anomalydetector/v1.1/timeseries/last/detect are supported.
series
array
required
Array of data points. The last point is evaluated; prior points provide context. Minimum 12 points, maximum 8640 points. Timestamps must be sorted ascending with no duplicates.
granularity
string
default:"none"
Time interval between points. One of: yearly, monthly, weekly, daily, hourly, minutely, secondly, microsecond, none.
customInterval
integer
default:1
Multiplier for granularity.
period
integer
default:0
Seasonality period. Set to 0 for auto-detection.
maxAnomalyRatio
number
Maximum fraction of points that can be flagged as anomalies. Must be between 0 and 0.5 (exclusive).
sensitivity
integer
default:95
Detection sensitivity (0-99). Higher values flag more anomalies.
isAnomaly
boolean
Whether the last point is anomalous.
isNegativeAnomaly
boolean
Whether the last point is a negative anomaly.
isPositiveAnomaly
boolean
Whether the last point is a positive anomaly.
period
integer
Detected seasonality period.
expectedValue
number
The model’s predicted value for the last point.
upperMargin
number
Upper margin for the last point.
lowerMargin
number
Lower margin for the last point.
suggestedWindow
integer
Recommended context window size for future requests. Calculated as period * 4 + 1, or max(29, series_length) if no period is detected.
severity
number
Severity score from 0.0 to 1.0.
curl -X POST https://api.canaryedge.com/anomalydetector/v1.1/timeseries/last/detect \
  -H "Content-Type: application/json" \
  -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
  -d '{
    "series": [
      {"timestamp": "2018-03-01T00:00:00Z", "value": 32858923},
      {"timestamp": "2018-03-02T00:00:00Z", "value": 29615278},
      {"timestamp": "2018-03-03T00:00:00Z", "value": 28988966},
      {"timestamp": "2018-03-04T00:00:00Z", "value": 28943783},
      {"timestamp": "2018-03-05T00:00:00Z", "value": 33521547},
      {"timestamp": "2018-03-06T00:00:00Z", "value": 34127843},
      {"timestamp": "2018-03-07T00:00:00Z", "value": 32497298},
      {"timestamp": "2018-03-08T00:00:00Z", "value": 29615278},
      {"timestamp": "2018-03-09T00:00:00Z", "value": 28988966},
      {"timestamp": "2018-03-10T00:00:00Z", "value": 28943783},
      {"timestamp": "2018-03-11T00:00:00Z", "value": 33521547},
      {"timestamp": "2018-03-12T00:00:00Z", "value": 72000000}
    ],
    "granularity": "daily",
    "sensitivity": 95
  }'
{
  "isAnomaly": true,
  "isNegativeAnomaly": false,
  "isPositiveAnomaly": true,
  "period": 7,
  "expectedValue": 28988966.0,
  "upperMargin": 1449448.3,
  "lowerMargin": 1449448.3,
  "suggestedWindow": 29,
  "severity": 0.72
}