It seems logic is at fault at: https://github.com/json-api-dotnet/JsonApiDotNetCore/blob/36bc4896a4072b0fe330fe69e65aed78ec6f573c/src/JsonApiDotNetCore/Middleware/DefaultTypeMatchFilter.cs#L33-L34 For PATCH requests that will compare the path id parameter not the entity.