This is a prime example of useless use of cat. Heredoc already means "pass this as stdin", there's no need to pipe it. Your example without cat:
curl http://localhost -d @- <<REQUEST_BODY
{
"from" : 0,
"size" : 40
}
REQUEST_BODY