OAuth2.0 - Refresh or renew the access token
POST https://bakrypt.io/auth/token/ || https://testnet.bakrypt.io/auth/token/;
Some time has passed, and your access token is about to expire; you can get renew the access token issued using the refresh token:
e.g.,
import express from 'express';
import axios from 'axios';
interface AccessToken {
  access_token: string;
  expires_in: number;
  token_type: string;
  scope: string;
  refresh_token: string;
}
interface ErrorResponse {
  error: string;
  error_description?: string;
}
const app = express();
const externalApiUrl = 'https://bakrypt.io/auth/token/' || 'https://testnet.bakrypt.io/auth/token/';
const clientId = `$client_id`;
const clientSecret = `$client_secret`;
app.use(express.json());
app.post('/refresh', async (req, res) => {
  try {
    const { refreshToken } = req.body;
    
    const payload = new URLSearchParams();
    payload.append("client_id", clientId);
    payload.append("client_secret", clientSecret);
    payload.append("refresh_token", refreshToken);
    payload.append("grant_type", "refresh_token");
    const config = {
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
      }
    };
    const response = await axios.post<AccessToken | ErrorResponse>(externalApiUrl, payload, config);
    res.send(response.data);
  } catch (error) {
    console.error(error);
    // Handle error accordingly 
    res.status(500).send('Internal Server Error');
  }
});
app.listen(3000, () => {
  console.log('Server is listening on port 3000');
});
import requests
try:
    from typing import TypedDict
except Exception as e:
    from typing_extensions import TypedDict
class AccessToken(TypedDict):
    access_token: str
    expires_in: int
    token_type: str
    scope: str
    refresh_token: str
class ErrorResponse(TypedDict):
    error: str
    error_description: str
CLIENT_ID = '$client_id'
CLIENT_SECRET = '$client_secret'
REFRESH_TOKEN = '$resource_refresh_token'
payload = {
    'client_id': CLIENT_ID,
    'client_secret': CLIENT_SECRET,
    'refresh_token': REFRESH_TOKEN,
    'grant_type': 'refresh_token'
}
access_token_request = requests.post(
    'https://testnet.bakrypt.io/auth/token/',
    data=payload,
    headers={'content-type': "application/x-www-form-urlencoded"})
if access_token_request.status_code in [200]:
    access_token: AccessToken = access_token_request.json()
    print(access_token)
else:
    print("Error retrieving access token...")
    print(access_token_request.text)
