← all problem types

selection_mismatch

409 Conflict   The selection changed since it was reported.

When you get it

The selection changed since it was reported. It is always answered with HTTP 409 - one code means one status, so a client may key its handling on either.

Fields it carries

Inside each errors[] entry, beside pointer:

expected
What this member should have been. On `wrong_type` it is the JSON type the member must have - `string`, `number`, `integer`, `boolean`, `object`, `array` or `null` - and an array of those names when more than one is accepted (`["string", "null"]` means the member is nullable). On a selection mismatch it is instead the count YOUR preview reported while `actual` is what the server counts NOW - the drift is the point. Where the refusal is about a token or a flag, it is the value the server required.
actual
The value the server actually observed.

A field is omitted when the server genuinely does not know it - an absent member is never the same as an empty one.

How to fix it

The request conflicts with the resource's current state. Re-read the resource and decide, rather than retrying blindly.

Shape

{
  "type":   "https://api2.host-tracker.com/problems/selection-mismatch",
  "title":  "The selection changed since it was reported.",
  "status": 409,
  "code":   "selection_mismatch",
  "errors": [
    { "expected": …, "actual": … }
  ]
}