Refresh a session
curl --request POST \
--url https://sandbox.api.btdx.io/sessions/refresh \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"refreshToken": "eyJ0eXAiOiJy....uHCQ"
}
'import requests
url = "https://sandbox.api.btdx.io/sessions/refresh"
payload = { "refreshToken": "eyJ0eXAiOiJy....uHCQ" }
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({refreshToken: 'eyJ0eXAiOiJy....uHCQ'})
};
fetch('https://sandbox.api.btdx.io/sessions/refresh', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.api.btdx.io/sessions/refresh",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'refreshToken' => 'eyJ0eXAiOiJy....uHCQ'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.btdx.io/sessions/refresh"
payload := strings.NewReader("{\n \"refreshToken\": \"eyJ0eXAiOiJy....uHCQ\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.api.btdx.io/sessions/refresh")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"refreshToken\": \"eyJ0eXAiOiJy....uHCQ\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.btdx.io/sessions/refresh")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"refreshToken\": \"eyJ0eXAiOiJy....uHCQ\"\n}"
response = http.request(request)
puts response.read_body{
"_meta": {
"_primary_document": "sessions",
"_count": 1
},
"sessions": [
{
"accessToken": "eyJ0eXAiOiJh....bBDA",
"refreshToken": "eyJ0eXAiOiJy....uHCQ",
"accessExpiresAt": "2099-01-01T23:59:59.999Z",
"refreshExpiresAt": "2099-01-01T23:59:59.999Z"
}
]
}{
"title": "Unauthorized",
"details": [
null
]
}Session Management
Refresh a session
Refresh an existing session using the refresh token. If a session’s access token has expired but the refresh token is still valid, the existing session can be refreshed. New access and refresh tokens will be returned.
The refresh token should be used in place of the access token in the authorization header for Bearer authentication.
This is a faster operation than creating a new session and refreshing should be preferred to creating new sessions where possible.
POST
/
sessions
/
refresh
Refresh a session
curl --request POST \
--url https://sandbox.api.btdx.io/sessions/refresh \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"refreshToken": "eyJ0eXAiOiJy....uHCQ"
}
'import requests
url = "https://sandbox.api.btdx.io/sessions/refresh"
payload = { "refreshToken": "eyJ0eXAiOiJy....uHCQ" }
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({refreshToken: 'eyJ0eXAiOiJy....uHCQ'})
};
fetch('https://sandbox.api.btdx.io/sessions/refresh', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.api.btdx.io/sessions/refresh",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'refreshToken' => 'eyJ0eXAiOiJy....uHCQ'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.btdx.io/sessions/refresh"
payload := strings.NewReader("{\n \"refreshToken\": \"eyJ0eXAiOiJy....uHCQ\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.api.btdx.io/sessions/refresh")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"refreshToken\": \"eyJ0eXAiOiJy....uHCQ\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.btdx.io/sessions/refresh")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"refreshToken\": \"eyJ0eXAiOiJy....uHCQ\"\n}"
response = http.request(request)
puts response.read_body{
"_meta": {
"_primary_document": "sessions",
"_count": 1
},
"sessions": [
{
"accessToken": "eyJ0eXAiOiJh....bBDA",
"refreshToken": "eyJ0eXAiOiJy....uHCQ",
"accessExpiresAt": "2099-01-01T23:59:59.999Z",
"refreshExpiresAt": "2099-01-01T23:59:59.999Z"
}
]
}{
"title": "Unauthorized",
"details": [
null
]
}Headers
Header with the refreshToken for the current session
Body
application/json
NOTE: This request body is deprecated, plase pass the refresh token as part of the authorization header instead
Pass the refresh token in the authorization header instead of using this request body
⌘I