For a resend request, is it valid to send a different message than original ?

  • Assume party A, sends messages [Seq, msg] [1000, New order with price 100] -> [1001, New order with price 150] -> [1002, New order with price 250]
  • Receiver party B, sends a resend request to ‘A’ from 1000 -> 1002
  • Party A re-sends : [1000, New order with price 105] -> [1001, New order with price 155] -> [1002, New order with price 255]. i.e. order content is different from original

Is party A violating the FIX rules ?
i.e. can the receiver always expect same msg (or Gap Fill) to be sent for a re-send request.

This is not valid. A resend is strictly a resending of the requested messages by the FIX engine - the same message is resent. In your bullet #3, the only way the price would change is for that information to come from the upstream trading application.

If you’re using FIX 4.2 please read the standard spec documentation here as it is very clear on session layer behavior. And if you’re looking for FIX 4.4 it’s here and go to Vol. 2