Be sure and examine the message that accompanies the API response. You might find a message suggesting that you’re sending the same DM multiple times – we have duplicate submission protection on methods such as this, so you may be receiving the 403 as a result of sending a duplicative DM.