If understood correctly App1 own by your, App2 is own by 3rd party.
The way I would solve in a scalable way is to deploy a service on  aws lambda that can get requests from App2(or any other app that you would decide in the future) , I would give this service role in order to connect with App1 and would have all logic there.
What you will gain is that your app is secure(you don't expose it to outside 3rd app) , the solution is scalable (you don't need to do nothing if you want to have other apps connecting)
How can I connect two applications with the scenario below?
Application1:
Our infrastructure was created on AWS with python-django and react, its a private VPC that i can only access via SSH to the EC2 bastion instance (as far as to be able to write codes into)and the way the backend was deployed to create the backend URL api.mywebsite.com (which has multiple endpoints) was through cloudfront and Route53. (www.mywebsite.com was built via s3 and can talk to the backend api.mywebsite.com).
Application2:
(This is a client infrastructure)
At this time i haven't met the client to know what their system is made of but regardless i need to find a way to write some codes on this system when a specific event is triggered to send data to an API endpoint of Application1.
What would be the best way to implement such a logic or API to connect Application1 and Application2?
(Especially considering that Application1 infrastructure is a private VPC)
This is pretty much the same way that someone would use an API like STRIPE...I guess, but i am not sure how to achieve such result...
thank you in advance
How to connect two applications and hit the API of the first application1 from application2