Tableau server REST API has endpoint "serverinfo" to find information about server's REST API version:
GET /api/api-version/serverinfo
As per documentation, for api-version you have to specify "The version of the API to use, such as 3.10". This creates chicken/egg situation: you need to know API version in order to get API version. To resolve this dilemma, I use "2.4" as a value for api-version. The endpoint "serverinfo" was introduced in API version 2.4 (Tableau Server 10.1) - this is minimum possible API version that can be used for this endpoint. When you call "serverinfo" like this:
GET /api/2.4/serverinfo
the server will response with the actual api version:
<tsResponse ...>
<serverInfo>
<productVersion build="20204.20.1116.1810">2020.4.0</productVersion>
<restApiVersion>3.10</restApiVersion>
</serverInfo>
</tsResponse>
I use next PowerShell one-liner to get API version in my scripts:
(Invoke-RestMethod -Method Get -Uri "https://$tableauServer/api/2.4/serverinfo" -Headers @{Accept = 'application/json'}).serverInfo.restApiVersion
Bonus tip. Header "Accept: application/json" forces Tableau RESP API to response in JSON format instead of the default XML. This allows PowerShell cmdlet Invoke-RestMethod to conveniently convert API responses into .Net object, making Tableau REST API manipulations a bit easier.