My Answer Context
The web API can be marked with [RequiredScope] attribute, for example, but if he was able to sign in, should he have all the permissions to do what the normal users are allowed to do, such as transferring money?
I will not try to reply to this question because the accepted answer already does an excellent job at it.
My reply will be in the context of helping you to understand how your API may be empowered to have a very high degree of confidence in what is doing the request, therefore more in the context of your other question:
Question is, are there any mechanisms that can be utilized to prevent the user from calling the endpoint without going through the official mobile app?
The Difference Between WHO and WHAT is Accessing the API Server
First, let's distinguish the difference between who is in the request vs what is making the request to your API, and in a series of articles that I wrote around API and Mobile security, I explain it in the article Why Does Your Mobile App Need An Api Key?, where you can read:
The what is the thing making the request to the API server. Is it really a genuine instance of your mobile app, or is it a bot, an automated script or an attacker manually poking around your API server with a tool like Postman?
The who is the user of the mobile app that we can authenticate, authorize and identify in several ways, like using OpenID Connect or OAUTH2 flows.
So think about the who as the user your API server will be able to Authenticate and Authorize access to the data, and think about the what as the software making that request in behalf of the user.
When you grasp this idea and it's ingrained in your mindset, then you will look into API security with another perspective and be able to see attack surfaces that you never though they existed before.
Defending the API
Question is, are there any mechanisms that can be utilized to prevent the user from calling the endpoint without going through the official mobile app?
Now that you understand the difference between who vs what is accessing your API server you may want to employ some mechanisms that can help you with making that distinction for each request handled by your API.
For Web Requests
You can learn some useful techniques to help your API backend to try to respond only to requests coming from what you expect, your genuine web app, and to do so I invite you to read my answer to the question Secure api data from calls out of the app, especially the section dedicated to Defending the API Server.
You can also use the fingerprintjs library to help you to have a more high degree of confidence that what is doing the request is indeed a genuine browser:
FingerprintJS is a browser fingerprinting library that queries browser attributes and computes a hashed visitor identifier from them. Unlike cookies and local storage, a fingerprint stays the same in incognito/private mode and even when browser data is purged.
For Mobile Apps
To identify with a very high degree of confidence that what is doing the request is indeed your genuine and unmodified mobile app I recommend you to read this answer I gave to the question How to secure an API REST for mobile app?, especially the sections Hardening and Shielding the Mobile App, Securing the API Server and A Possible Better Solution, where you will find that the Mobile App Attestation may be the best fit to give you such guarantees.
Do You Want To Go The Extra Mile?
In any response to a security question I always like to reference the excellent work from the OWASP foundation.
For APIS
OWASP API Security Top 10
The OWASP API Security Project seeks to provide value to software developers and security assessors by underscoring the potential risks in insecure APIs, and illustrating how these risks may be mitigated. In order to facilitate this goal, the OWASP API Security Project will create and maintain a Top 10 API Security Risks document, as well as a documentation portal for best practices when creating or assessing APIs.
For Mobile Apps
OWASP Mobile Security Project - Top 10 risks
The OWASP Mobile Security Project is a centralized resource intended to give developers and security teams the resources they need to build and maintain secure mobile applications. Through the project, our goal is to classify mobile security risks and provide developmental controls to reduce their impact or likelihood of exploitation.
OWASP - Mobile Security Testing Guide:
The Mobile Security Testing Guide (MSTG) is a comprehensive manual for mobile app security development, testing and reverse engineering.
For Web Apps
The Web Security Testing Guide:
The OWASP Web Security Testing Guide includes a "best practice" penetration testing framework which users can implement in their own organizations and a "low level" penetration testing guide that describes techniques for testing most common web application and web service security issues.