Rather than deploy separate versioned backends—which may be either misguided, expensive, hard to manage, keep track of, update and so on—consider using a continuously updated, "living" approach to keeping systems functional for your applications/systems, even those that you will soon no longer support.
The below gives the scenario handled in the accompanying Javascript code.
Client A (v 1.0, public production version) calls backend with:
GET www.domain.com/api
Expects:
{
"response": "This is the current production response"
}
Client B (v 1.1, limited beta version) calls the same backend with:
GET www.domain.com/api
Expects:
{
"data": {
"text": "This is the new beta response"
}
}