Is there is any way to resend a email using SendGrid API that has not been opened in last two days ?
Thanks in advance.
You can, if you've saved the message content, so that you can regenerate the message, and if you have their Event Webhook, so that you can know the open state of a particular message.
SendGrid doesn't keep message content for messages that are sent through their API, only their Marketing Campaigns. The Marketing Campaigns app does have "has not opened" logic, however.