# Refresh Access Token
POST https://api-stg.transak.com/partners/api/v2/refresh-token
Content-Type: application/json
The Refresh Access Token API is an authenticated endpoint intended for
access token renewal.
Invoke this endpoint only when the existing access token has expired
(token validity: 7 days). Do not call it repeatedly or on every request,
as this can cause unnecessary token regeneration and potential
rate-limiting issues.
Reference: https://docs.transak.com/api/public/refresh-access-token
## OpenAPI Specification
```yaml
openapi: 3.1.0
info:
title: partner-api
version: 1.0.0
paths:
/refresh-token:
post:
operationId: refresh-access-token
summary: Refresh Access Token
description: |-
The Refresh Access Token API is an authenticated endpoint intended for
access token renewal.
Invoke this endpoint only when the existing access token has expired
(token validity: 7 days). Do not call it repeatedly or on every request,
as this can cause unnecessary token regeneration and potential
rate-limiting issues.
tags:
- ''
parameters:
- name: api-secret
in: header
description: >-
Your api secret, you can get it from Transak Partner
Dashboard for respective environment
Note: Refer this tutorial on how to fetch the API secret
from the partner dashboard.
required: true
schema:
type: string
default: YOUR_API_SECRET
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/refresh-access-token_Response_200'
'400':
description: '400'
content:
application/json:
schema:
$ref: >-
#/components/schemas/Refresh-access-tokenRequestBadRequestError
'401':
description: '401'
content:
application/json:
schema:
$ref: >-
#/components/schemas/Refresh-access-tokenRequestUnauthorizedError
requestBody:
content:
application/json:
schema:
type: object
properties:
apiKey:
type: string
default: YOUR_API_KEY
description: >-
Your Api Key which you can get it from Transak
Partner Dashboard for respective environment
required:
- apiKey
servers:
- url: https://api-stg.transak.com/partners/api/v2
components:
schemas:
RefreshTokenPostResponsesContentApplicationJsonSchemaData:
type: object
properties:
accessToken:
type: string
description: accessToken is Authorization token recived by API response
expiresAt:
type: integer
default: 0
description: accessToken expire Timestamp
title: RefreshTokenPostResponsesContentApplicationJsonSchemaData
refresh-access-token_Response_200:
type: object
properties:
data:
$ref: >-
#/components/schemas/RefreshTokenPostResponsesContentApplicationJsonSchemaData
title: refresh-access-token_Response_200
RefreshTokenPostResponsesContentApplicationJsonSchemaError:
type: object
properties:
statusCode:
type: integer
default: 0
name:
type: string
message:
type: string
title: RefreshTokenPostResponsesContentApplicationJsonSchemaError
Refresh-access-tokenRequestBadRequestError:
type: object
properties:
error:
$ref: >-
#/components/schemas/RefreshTokenPostResponsesContentApplicationJsonSchemaError
title: Refresh-access-tokenRequestBadRequestError
Refresh-access-tokenRequestUnauthorizedError:
type: object
properties:
error:
$ref: >-
#/components/schemas/RefreshTokenPostResponsesContentApplicationJsonSchemaError
title: Refresh-access-tokenRequestUnauthorizedError
```
## SDK Code Examples
```python Success
import requests
url = "https://api-stg.transak.com/partners/api/v2/refresh-token"
payload = { "apiKey": "YOUR_API_KEY" }
headers = {
"api-secret": "YOUR_API_SECRET",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
```
```javascript Success
const url = 'https://api-stg.transak.com/partners/api/v2/refresh-token';
const options = {
method: 'POST',
headers: {'api-secret': 'YOUR_API_SECRET', 'Content-Type': 'application/json'},
body: '{"apiKey":"YOUR_API_KEY"}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
```
```go Success
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-stg.transak.com/partners/api/v2/refresh-token"
payload := strings.NewReader("{\n \"apiKey\": \"YOUR_API_KEY\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-secret", "YOUR_API_SECRET")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
```
```ruby Success
require 'uri'
require 'net/http'
url = URI("https://api-stg.transak.com/partners/api/v2/refresh-token")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-secret"] = 'YOUR_API_SECRET'
request["Content-Type"] = 'application/json'
request.body = "{\n \"apiKey\": \"YOUR_API_KEY\"\n}"
response = http.request(request)
puts response.read_body
```
```java Success
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
HttpResponse response = Unirest.post("https://api-stg.transak.com/partners/api/v2/refresh-token")
.header("api-secret", "YOUR_API_SECRET")
.header("Content-Type", "application/json")
.body("{\n \"apiKey\": \"YOUR_API_KEY\"\n}")
.asString();
```
```php Success
request('POST', 'https://api-stg.transak.com/partners/api/v2/refresh-token', [
'body' => '{
"apiKey": "YOUR_API_KEY"
}',
'headers' => [
'Content-Type' => 'application/json',
'api-secret' => 'YOUR_API_SECRET',
],
]);
echo $response->getBody();
```
```csharp Success
using RestSharp;
var client = new RestClient("https://api-stg.transak.com/partners/api/v2/refresh-token");
var request = new RestRequest(Method.POST);
request.AddHeader("api-secret", "YOUR_API_SECRET");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n \"apiKey\": \"YOUR_API_KEY\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```
```swift Success
import Foundation
let headers = [
"api-secret": "YOUR_API_SECRET",
"Content-Type": "application/json"
]
let parameters = ["apiKey": "YOUR_API_KEY"] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://api-stg.transak.com/partners/api/v2/refresh-token")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
```