On multiple occasions, we've deployed frontend code to production only to find out the backend (REST or GraphQL) hasn't shipped their side yet.
If a system relies on synchronized deployments for frontend and backend, you either need to synchronize them more strictly (which is an organizational problem), or develop the system in a way it is more tolerant against time shifts in deployment (see below).
Worse yet, we expectedly find out a param name changed which may throw an error.
There is nothing wrong when the frontend expects a certain version of the backend, that this will produce an error. However, the error itself should be of the form "wrong backend version, minimum expected version is 32.0, currently installed version 31.0". So someone who gets informed about this error gets a clear information what has to be fixed, not just an unclear message that the system does not work.
To achieve this, your backend needs to provide a stable mechanism to let the frontend query it's version number. And obviously your backend needs to have a proper version number, that should be self-evident.
Another example: the backend removes an API thinking that clients no longer use the removed API and the frontend crashes.
This is where it comes to the point I mentioned above: "more tolerance against time shifts in deployment". You achieve this by
avoiding non-backward API changes whenever feasible (providing backwards-compatible API calls, even when there are newer, "better" calls available for now)
have a strict procedure for deprecating older APIs when you think it is time for this: this needs to include a way to communicate intended API changes to the frontend team in time, and a way to technically check that the old API isn't really used any more by the deployed frontends
So the usual cycle to change a certain part of an API in a non-backwards compatible manner should be
first develop the new API version, but let the old API still in place
deploy a new version of the backend - nothing breaks
tell the frontend team about the intended API deprecation and let them change the frontend accordingly
deploy new versions of the frontend (and make sure the frontend was deployed to production completely and replaces the former version on all clients)
make sure the frontend really does not call the old API any more
then remove the old API from the backend and deploy a new version of the backend.