Cannot replace custom parameters from single send email API

Im not sure you are naming your custom property correctly, it might be a guess but at least we can do a lookup to confirm if it is or not.

Have you checked the property system name in the email?

Go to your email in the marketing tab > open email in edit mode > click settings > scroll down to plain text and web version > click “customize” button. The name within the brackets {{ }} is the official system name for your property.

Thats my primary guess for now anyway - hope it helps!