Oh, and definitely shouldn't be a 500, as that means the server had an error, and acknowledges its guilt in the matter. Probably "400 Bad Request" or perhaps a "501 Not Implemented". A "206 Partial content" would actually also be kind of cool, except it seems to have particular meanings/requirements. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

What if it only returns a 200 if all fields are understood, but still returns a JSON object with the remaining fields (and an "invalid_fields" field) along with the non-200 code if something isn't understood? Best of both worlds.