Missing reward_id from redeem reward event

Hi, we’re getting webhooks for loyalty events for REEDEEM_REWARDS that appear to be missing the reward_id from the loyalty event info.

This is the request data:

{
created_at: '2021-05-25T18:24:36Z', 
data: {
id: '9b3a827c-a534-37ca-a730-eb67675d27e1', 
object: {
loyalty_event: {"created_at":"'2021-05-25T18:23:45Z'","id":"'9b3a827c-a534-37ca-a730-eb67675d27e1'","location_id":"'77J0GFSY597JR'","loyalty_account_id":"'5127ff37-0c36-4d1a-8d3e-f3720c90d75d'","redeem_reward":"{'loyalty_program_id': 'd70ddf34-ec39-4cc1-bb02-1cb10327e343', 'order_id': 'x2yBKtYw8mvju4d9xmoAXDteV'}","source":"'SQUARE'","type":"'REDEEM_REWARD'"}
}, 
type: 'loyalty.event'
}, 
event_id: '2d74ab88-8331-4bd4-a493-49dc6c43d6f0', 
merchant_id: '5ZV11F5CPYTDC', 
type: 'loyalty.event.created'
}

Normally there would be a reward_id under the loyalty_event object that we use to retrieve the reward data on our end. What would be the reason for this being absent?

Per our docs, the reward_id:

Read only The ID of the redeemed loyalty reward. This field is returned only if the event source is LOYALTY_API .

Looks like the above source is SQUARE, so it wouldn’t be present unfortunately.

Thank you. So if the source wasn’t the LOYALTY_API, does that mean the reward isn’t relevant to the loyalty program we’re dealing with on the API? Or could the customer be redeeming a reward via Square that is also available via the API? We would want to prevent a reward from being redeemed more than once, but if we can’t see what the reward is, how would that be possible?