Talk to the same generated schema your API reference is built from, with types that match what is deployed.
TypeScript if you are on the web, Flutter if you are on mobile, REST for everything else. They all reach the same endpoints.