File properties and search field fixes

Notes

  • A recognised public field name that doesn’t apply to the record type you’re searching (for example value on an account, or trades on a vendor) now returns 400 naming the field, instead of an empty 200. If you were relying on an empty result for one of these, you’ll now get an explicit error — which is the point: an empty list was indistinguishable from “no matches”.
  • A field name the API does not recognise as a standard field is still treated as a possible custom property, unchanged. An empty result there still means “no records matched” — we can’t tell a typo from a real custom property name without knowing your company’s columns, so only fields we can prove don’t apply are rejected.
  • trades holds a list of values, so a scalar comparison matches if any entry equals your value. Range and substring operators are rejected with a 400 rather than silently matching nothing.